The GridBee Web Computing Framework Attila Szarvas BME IK 2012.

15
The GridBee Web Computing Framework Attila Szarvas BME IK 2012.

Transcript of The GridBee Web Computing Framework Attila Szarvas BME IK 2012.

Page 1: The GridBee Web Computing Framework Attila Szarvas BME IK 2012.

The GridBee Web Computing Framework

Attila Szarvas

BME IK 2012.

Page 2: 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

18/04/23 2BME IK 2012. / 15

Page 3: The GridBee Web Computing Framework Attila Szarvas BME IK 2012.

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

18/04/23 3BME IK 2012. / 15

Page 4: The GridBee Web Computing Framework Attila Szarvas BME IK 2012.

A new grid platform: browsers

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

18/04/23 4BME IK 2012. / 15

Page 5: The GridBee Web Computing Framework Attila Szarvas BME IK 2012.

A new grid platform: browsers

• Usage possibility: alternative BOINC client in form of a web application

18/04/23 5BME IK 2012. / 15

Page 6: The GridBee Web Computing Framework Attila Szarvas BME IK 2012.

A new grid platform: requirements

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

18/04/23 6BME IK 2012. / 15

Page 7: The GridBee Web Computing Framework Attila Szarvas BME IK 2012.

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

18/04/23 7BME IK 2012. / 15

Page 8: The GridBee Web Computing Framework Attila Szarvas BME IK 2012.

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

18/04/23 8BME IK 2012. / 15

Web Workers Native Client

Page 9: The GridBee Web Computing Framework Attila Szarvas BME IK 2012.

Technology: CORS

• Cross Origin Resource Sharing– boincserver.com must authorize gridbee.com to

access its resources

18/04/23 9BME IK 2012. / 15

Page 10: The GridBee Web Computing Framework Attila Szarvas BME IK 2012.

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

18/04/23 10BME IK 2012. / 15

Page 11: The GridBee Web Computing Framework Attila Szarvas BME IK 2012.

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

18/04/23 11BME IK 2012. / 15

Page 12: The GridBee Web Computing Framework Attila Szarvas BME IK 2012.

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

18/04/23 12BME IK 2012. / 15

Page 13: The GridBee Web Computing Framework Attila Szarvas BME IK 2012.

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

18/04/23 13BME IK 2012. / 15

Page 14: The GridBee Web Computing Framework Attila Szarvas BME IK 2012.

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

18/04/23 14BME IK 2012. / 15

Page 15: The GridBee Web Computing Framework Attila Szarvas BME IK 2012.

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)

18/04/23 15BME IK 2012. / 15