Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Dis.io

 Dis.io

A browser based distributing grid computing platform. My final year project defence.

Tom Gallacher

May 11, 2012
Tweet

More Decks by Tom Gallacher

Other Decks in Programming

Transcript

  1. What is Dis.io? • Grid computing platform • Based in

    the web browser • Implementable by any web site • Horizontally scalable • Transparent to participants • Built entirely in JavaScript
  2. Why Dis.io? • Platform agnostic • Potential contributors is proportionate

    to daily visitors • Scalable across multiple sites
  3. Scalable • Each component can be spawned as many times

    needed • Each can be placed on different machines • Components find each other using Bonjour/ZeroConf/MDNS
  4. Terms A payload is: • An object of parameters •

    Sent to Clients A work unit is: • Executable code which takes a payload A task is: • Amalgamation of payloads and work units
  5. Managers The Provider. • Sends work units to Distributors •

    Breaks down tasks into payloads • Uses ZeroMQ for communication to and from distributors • Saves results sent from distributors
  6. Distributors The Hub. • Communications with Clients and Managers •

    Uses a combination of ZeroMQ and Web sockets • Caches Messages if a manager is offline • Provides payloads and work units to clients
  7. Dashboard The Control Panel. • Facilitates creation of Tasks and

    work units. • Status of various components
  8. What was learned • Distributed systems are very complex •

    Effective communication between nodes is needed • Performance is based on the JavaScript Engine.
  9. Limitations • JavaScript is slower than compiled languages • It's

    possible for clients to spoof results • Useable only in modern browser • Task creation is not flexible
  10. Recap • Dis.io browser based computing platform • Designed with

    scalability in mind • Out performs a single process • Easy management