150 likes | 260 Views
The GridBee Web Computing Framework. Attila Szarvas. Contents. What is GridBee? A new computing platform: browsers The GridBee framework Goals Technology overview Adapting the new technology Native Client. / 15. Introduction. GridBee is a JavaScript library released under the
E N D
The GridBee Web Computing Framework Attila Szarvas BME IK 2012.
Contents • What is GridBee? • A new computing platform: browsers • The GridBee framework • Goals • Technology overview • Adapting the new technology • Native Client BME IK 2012. / 15
Introduction • GridBee is a JavaScript library released under the • participate in grid computing with your browser • everything happens in the browser • no plugins or extensions required • Intended for joining volunteer grids • BOINC middleware: server side scripts, client side native executables for many platforms BME IK 2012. / 15
A new grid platform: browsers • Huge potential user base • Platform and OS independent • No installing • Easy to use • Embeddable into any webpage BME IK 2012. / 15
A new grid platform: browsers • Usage possibility: alternative BOINC client in form of a web application BME IK 2012. / 15
A new grid platform: requirements • Executing workunits in the background • High performance • Safe code execution • Local persistent storage • HTTP communication with grid servers BME IK 2012. / 15
Technology: languages • Development language: Haxe • strongly typed, object oriented • compiles into JavaScript • Framework language: JavaScript • all major browsers support it without extensions • browsers optimized for its usage: high performance BME IK 2012. / 15
Technology: job execution • Safe execution on a dedicated thread • Sandboxing • only message passing is allowed between the main and worker threads • The browser’s main thread is not blocked Web Workers Native Client BME IK 2012. / 15
Technology: CORS • Cross Origin Resource Sharing • boincserver.com must authorize gridbee.com to access its resources BME IK 2012. / 15
Technology: Local Storage • Workunits may require local persistence to save checkpoint data • HTML5 Local Storage provides persistent storage for browsers • data stored as key – value pairs • accessed by JavaScript commands • not sent during HTTP requests unlike cookies BME IK 2012. / 15
Adopting the new technology • Writing computational programs in JavaScript is tiresome • Cross-compilation of C, C++ code decreases performance tenfold • JavaScript may be suitable for small tasks • For existing projects Chrome’s Native Client may be the solution BME IK 2012. / 15
Native Client • Supported by Google Chrome • Native Client SDK with a modified gcc toolchain • compile existing C, C++ code into Native Client executables • Minimal overhead • Safe code execution monitored in runtime BME IK 2012. / 15
Native Client: Porting BOINC applications • GridBee offers a Native Client library for porting existing BOINC applications • Seti@Home running in Native Client with minor modifications • GridBee Chrome extension automatically running tasks in the background BME IK 2012. / 15
Information about the GridBee framework • Visit our website for more information http://webcomputing.iit.bme.hu/ • Download the source code from GitHub • Download our Chrome extension • Browse the online documentation • Try the working demo BME IK 2012. / 15
Information about the GridBee framework http://webcomputing.iit.bme.hu/ • GridBee has been developed by • Imre Szeberényi (Project Coordinator) • Gábor Molnár (Developer) • Gábor Nyíri (Developer) • Henrik Schnell (Developer) • Attila Szarvas (Developer) • Kálmán Tarnay (Developer) BME IK 2012. / 15