Throw your computing tasks to 3 billion clients!

BoomerangJS is a JavaScript based open source middleware for distributed computing. It is inspired by BOINC, the open source middleware system for volunteer and grid computing. Unlike BOINC, BoomerangJS is written in JavaScript. This lowers the entry barrier for users that want to contribute computing time and also for developers that want to distribute computing tasks. Code can be directly written in pure JavaScript or any other language which can be transcompiled to JavaScript with tools like Emscripten. With WebCL, the JavaScript OpenCL binding, it's even possible to take advantage of GPU computing.

Live Demo

You can try it yourself. Here is a live demo that calculates PI.

Features

Client

  • Web browser client No plugins required!
  • Node.js command line client
  • WebCL support in progress

Server

  • WebID authentication in progress
  • easy integration of other authentication systems in progress

Application

  • close to zero changes to your existing code
  • 5 Star Open Data out of the box on the raw data level

π example application

Install using npm

  1. install using npm npm install boomerang-server
  2. change folder cd node_modules/boomerang-server
  3. start boomerang-server using npm npm start or node node ldapp.js

Install from sources

  1. clone git repository git clone https://github.com/bergos/boomerang-server.git
  2. change to LDApp folder cd boomerang-server
  3. install dependencies using npm npm install
  4. start boomerang-server using npm npm start or node node ldapp.js

Usage

boomerang-app contains utils to build your own distributed computing app. With these utils a distributed computing task can be wrapped very easily into a Promise. The π example application shows step by step how to convert a synchronous application into a BoomerangJS application.

Contact

Please report any bugs or feature request to the GitHub issue-tracking system. Here the links to the GitHub repositories:

BoomerangJS is also on Twitter.