Schnell Henrik, Molnár Gábor Szarvas Attila, Szeberényi Imre · Javascript több szálon...

18
M Ű E G Y E T E M 1 7 8 2 Munkában a böngészők Schnell Henrik, Molnár Gábor Szarvas Attila, Szeberényi Imre BME IK, BME IIT [email protected] [email protected] [email protected] NETWORKSHOP 2011

Transcript of Schnell Henrik, Molnár Gábor Szarvas Attila, Szeberényi Imre · Javascript több szálon...

Page 1: Schnell Henrik, Molnár Gábor Szarvas Attila, Szeberényi Imre · Javascript több szálon Javascript HTML oldalon: •Egyszálú futtatás •Hosszú számításnál a UI-t blokkolja

M Ű E G Y E T E M 1 7 8 2

Munkában a böngészők Schnell Henrik, Molnár Gábor

Szarvas Attila, Szeberényi Imre

BME IK, BME IIT

[email protected]

[email protected]

[email protected]

NETWORKSHOP 2011

Page 2: Schnell Henrik, Molnár Gábor Szarvas Attila, Szeberényi Imre · Javascript több szálon Javascript HTML oldalon: •Egyszálú futtatás •Hosszú számításnál a UI-t blokkolja

Tartalom

• Önkéntes gridek a kutatásban

• Böngészők szerepe

• Böngésző mint grid platform

• Nyelvi lehetőségek

• Technológiák

• Bemutató

• További tervek

2 Networkshop, Kaposvár 2011. április 27-29.

Page 3: Schnell Henrik, Molnár Gábor Szarvas Attila, Szeberényi Imre · Javascript több szálon Javascript HTML oldalon: •Egyszálú futtatás •Hosszú számításnál a UI-t blokkolja

Önkéntes gridek szerepe

• Közel 15 éves múlt bizonyította az

erejét a tudományos felhasználásban • SETI@home, MilkyWay@home

• Einstein@home

• NOW

• distributed.net ‘97

• Ipari/üzleti célú felhasználás

• irodai gépek összekapcsolása (gyógyszeripar)

• közösségi portálokon (pl. facebook) keletkező

számításigényes feladatok megoldása Grid

erőforrásokkal - Web2grid projekt

3 Networkshop, Kaposvár 2011. április 27-29.

Page 4: Schnell Henrik, Molnár Gábor Szarvas Attila, Szeberényi Imre · Javascript több szálon Javascript HTML oldalon: •Egyszálú futtatás •Hosszú számításnál a UI-t blokkolja

Böngészők szerepe

• Új felhasználói szokások

• Webes alkalmazások, távoli adatok

• Böngészők szerepe megnő

• Helyi gépen korlátozott jogosultságok

• Böngésző mint operációs rendszer

• Chrome OS http://www.google.com/chromeos/

Networkshop, Kaposvár 2011. április 27-29. 4

Page 5: Schnell Henrik, Molnár Gábor Szarvas Attila, Szeberényi Imre · Javascript több szálon Javascript HTML oldalon: •Egyszálú futtatás •Hosszú számításnál a UI-t blokkolja

Felhasználói identitás

Lokális identitás Webes identitás

Networkshop, Kaposvár 2011. április 27-29. 5

Böngészők!

Page 6: Schnell Henrik, Molnár Gábor Szarvas Attila, Szeberényi Imre · Javascript több szálon Javascript HTML oldalon: •Egyszálú futtatás •Hosszú számításnál a UI-t blokkolja

Böngésző mint grid platform

Előnyök:

• Platform és OS független

• Hatalmas felhasználói donor bázis

• Nincs szükség telepítésre

• Pofonegyszerű használat

• Weboldalakba ágyazhatóság

Networkshop, Kaposvár 2011. április 27-29. 6

Page 7: Schnell Henrik, Molnár Gábor Szarvas Attila, Szeberényi Imre · Javascript több szálon Javascript HTML oldalon: •Egyszálú futtatás •Hosszú számításnál a UI-t blokkolja

Böngésző mint grid platform

Igények:

• Natív kódhoz közeli sebesség

• Biztonságos kódfuttatás, sandbox

• Háttérben futás, ne zavarjon

• Perzisztencia, lokális tárhely

• HTTP kommunikáció grid szerverekkel

Networkshop, Kaposvár 2011. április 27-29. 7

Page 8: Schnell Henrik, Molnár Gábor Szarvas Attila, Szeberényi Imre · Javascript több szálon Javascript HTML oldalon: •Egyszálú futtatás •Hosszú számításnál a UI-t blokkolja

Nyelvi lehetőségek

Flash / Java

+ Gyorsabb

+ Fordítás idejű hibák

- Platformok hiánya

- Sok memória

- Lassú betöltés

- Nehézkes idegen

kódfuttatás

JavaScript / haXe

+ Minden platformon

+ Kevés memória

+ Idegen kódfuttatás

+ Dinamikus fejlődés

+ Böngészők versenye

- Van, ahol lassabb

- Futás idejű hibák

- OOP támogatás hiánya

Networkshop, Kaposvár 2011. április 27-29. 8

Page 9: Schnell Henrik, Molnár Gábor Szarvas Attila, Szeberényi Imre · Javascript több szálon Javascript HTML oldalon: •Egyszálú futtatás •Hosszú számításnál a UI-t blokkolja

haXe

• JavaScriptre fordítható

• Típusos, objektumorientált

• Nyílt forrás, aktív közösség

• Hibák fordítási időben

• Intellisense

• JavaScript, Flash, PHP, C++, C#, Java • http://haxe.org

9 Networkshop, Kaposvár 2011. április 27-29.

Page 10: Schnell Henrik, Molnár Gábor Szarvas Attila, Szeberényi Imre · Javascript több szálon Javascript HTML oldalon: •Egyszálú futtatás •Hosszú számításnál a UI-t blokkolja

Teljesítmény

10 Networkshop, Kaposvár 2011. április 27-29.

A kisebb érték jobb!

Page 11: Schnell Henrik, Molnár Gábor Szarvas Attila, Szeberényi Imre · Javascript több szálon Javascript HTML oldalon: •Egyszálú futtatás •Hosszú számításnál a UI-t blokkolja

Javascript több szálon

Javascript HTML oldalon:

• Egyszálú futtatás

• Hosszú számításnál a UI-t blokkolja

WebWorkers:

• Külön szálon fut

• A DOM elérhetetlen – biztonságos

• Üzenetekkel kommunikálhat a HTML oldallal

• Számításigényes kódok futtatására ideális

Networkshop, Kaposvár 2011. április 27-29. 11

Page 12: Schnell Henrik, Molnár Gábor Szarvas Attila, Szeberényi Imre · Javascript több szálon Javascript HTML oldalon: •Egyszálú futtatás •Hosszú számításnál a UI-t blokkolja

CORS

• Same Domain Policy

• Megoldás: Cross Origin Resource Sharing

• A cél szerver engedélyezi speciális HTTP headerrel

Networkshop, Kaposvár 2011. április 27-29. 12

Page 13: Schnell Henrik, Molnár Gábor Szarvas Attila, Szeberényi Imre · Javascript több szálon Javascript HTML oldalon: •Egyszálú futtatás •Hosszú számításnál a UI-t blokkolja

Local Storage

• Perzisztens tárhely

• Domain-hez kötött

• Kulcs-érték párokat tárol

• Mérete 2-10Mb

• Tárolja:

• Az alkalmazás beállításait

• A megkezdett munkák adatait

Networkshop, Kaposvár 2011. április 27-29. 13

Page 14: Schnell Henrik, Molnár Gábor Szarvas Attila, Szeberényi Imre · Javascript több szálon Javascript HTML oldalon: •Egyszálú futtatás •Hosszú számításnál a UI-t blokkolja

Támogatottság

14 Networkshop, Kaposvár 2011. április 27-29.

WebWorkers

CORS

LocalStorage

Page 15: Schnell Henrik, Molnár Gábor Szarvas Attila, Szeberényi Imre · Javascript több szálon Javascript HTML oldalon: •Egyszálú futtatás •Hosszú számításnál a UI-t blokkolja

Architektúra

Networkshop, Kaposvár 2011. április 27-29. 15

Page 16: Schnell Henrik, Molnár Gábor Szarvas Attila, Szeberényi Imre · Javascript több szálon Javascript HTML oldalon: •Egyszálú futtatás •Hosszú számításnál a UI-t blokkolja

Bemutató

• Prototípus

• haXe kliens

• Beágyazás koncepció

Videó

Networkshop, Kaposvár 2011. április 27-29. 16

Page 17: Schnell Henrik, Molnár Gábor Szarvas Attila, Szeberényi Imre · Javascript több szálon Javascript HTML oldalon: •Egyszálú futtatás •Hosszú számításnál a UI-t blokkolja

További tervek

• Cél egy JavaScript / haXe library létrehozása

• Két lehetséges alkalmazás

• Stand-alone grid kliens, pl. BOINC

• Beágyazva weboldalakba, háttérben futtatva

• A kód bővíthetősége, újrafelhasználhatósága

fontos szempont, többféle WorkSource

• A forráskód megnyitása

• WebCL

Networkshop, Kaposvár 2011. április 27-29. 17

Page 18: Schnell Henrik, Molnár Gábor Szarvas Attila, Szeberényi Imre · Javascript több szálon Javascript HTML oldalon: •Egyszálú futtatás •Hosszú számításnál a UI-t blokkolja

Köszönjük

http://webcomputing.iit.bme.hu

Köszönjük a figyelmet!

Kérdések?

Networkshop, Kaposvár 2011. április 27-29. 18