The GridBee Web Computing Framework

January 6, 2018 | Author: Anonymous | Category: Engineering & Technology, Computer Science
Share Embed Donate


Short Description

Download The GridBee Web Computing Framework...

Description

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

13/04/2015

BME IK 2012.

2 / 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

13/04/2015

BME IK 2012.

3 / 15

A new grid platform: browsers • • • • •

Huge potential user base Platform and OS independent No installing Easy to use Embeddable into any webpage

13/04/2015

BME IK 2012.

4 / 15

A new grid platform: browsers • Usage possibility: alternative BOINC client in form of a web application

13/04/2015

BME IK 2012.

5 / 15

A new grid platform: requirements • • • • •

Executing workunits in the background High performance Safe code execution Local persistent storage HTTP communication with grid servers

13/04/2015

BME IK 2012.

6 / 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

13/04/2015

BME IK 2012.

7 / 15

Technology: job execution • Safe execution on a dedicated thread Web Workers

Native Client

• Sandboxing – only message passing is allowed between the main and worker threads

• The browser’s main thread is not blocked 13/04/2015

BME IK 2012.

8 / 15

Technology: CORS • Cross Origin Resource Sharing – boincserver.com must authorize gridbee.com to access its resources

13/04/2015

BME IK 2012.

9 / 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

13/04/2015

BME IK 2012.

10 / 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

13/04/2015

BME IK 2012.

11 / 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

13/04/2015

BME IK 2012.

12 / 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

13/04/2015

BME IK 2012.

13 / 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 13/04/2015

BME IK 2012.

14 / 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) 13/04/2015

BME IK 2012.

15 / 15

View more...

Comments

Copyright � 2017 NANOPDF Inc.
SUPPORT NANOPDF