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

The GridBee Web Computing Framework Attila Szarvas BME IK 2012

Embed Size (px)

Citation preview

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