Kísérlet A rács diétát tart; Fraunhofer IAO - BLOG

Miután a világháló az 1990-es években forradalmasította az internetet, néhány éve egy újabb forradalmi fejlõdéssel nézünk szembe: a grid computing (de.wikipedia.org/wiki/Grid-Computing). A hálózatos számítástechnikában a decentralizált számítógépeket és a számítógépes klasztereket az interneten keresztül "virtuális szuperszámítógépekké" egyesítik. Ez közvetlen hozzáférést biztosít a hálózat erőforrásaihoz, például számítógépekhez, memóriákhoz, tudományos eszközökhöz és kísérletekhez, alkalmazásokhoz, adatokhoz és érzékelőkhöz.

diétát

2001 óta az IAO működteti a Fraunhofer Resource Grid-et (www.fhrg.fraunhofer.de) több más Fraunhofer intézettel együtt. A D-Grid kezdeményezés (www.d-grid.de/) 2005-ös elindítása óta a Fraunhofer IAO a hálózat számításának különböző területein is részt vesz. A hangsúly a szolgáltatások használhatóságának javításán, a biztonsági architektúra fejlesztésén és az erőforrás- és szolgáltatók üzleti modelljeinek fejlesztésén van.

Ebben az összefüggésben szeretnénk bemutatni Önnek egy kísérleti rács szemléletet: LiDiC - könnyűsúlyú elosztott számítástechnika. Ezzel a megközelítéssel normál, JavaScript-képes internetes böngészők segítségével "könnyű" rács-környezet jön létre. Ezen böngészők bármelyikét egy adott URL-re irányítják, és a munkacsomagok a JavaScript és az AJAX technológia segítségével kerülnek továbbításra a böngészőhöz. A munkacsomagokat a böngészők dolgozzák fel, majd az eredményeket visszaküldik a kiszolgálónak.

Ennek a megközelítésnek az a nagy előnye, hogy nem igényel kliens telepítést, így más hálózati projektekkel - például a SETI @ home vagy a World Community Grid - ellentétben minden internetfelhasználó azonnal részt vehet a számításokban. A könnyű megközelítés miatt azt lehet mondani: a LiDiC egy rácsos környezet diétán!

Az 1. ábra az alapul szolgáló struktúrát mutatja: A jobfő létrehozza azokat a munkacsomagokat, amelyeket egy HTTP szerver terjeszt az elérhető webböngészőkhöz (dolgozókhoz). A dolgozók eredményeit visszaküldik a kiszolgálóra, amely ezután elérhetővé teszi őket az állásfőnök számára.

Hogyan használhatják egy ilyen rácsot sikeresen a mindennapi digitális életben a vállalatok és a magánszemélyek? Az egyik lehetőség a házon belüli használat lenne, mivel manapság sok számítógép többmagos processzorokat futtat, amelyeket a mindennapi irodai alkalmazások nem használnak ki teljes mértékben. A modern böngészők támogatják a nyitott ablakok hatékony elosztását a különböző processzormagokhoz, ami azt jelenti, hogy minden alkalmazott megtervezheti a vállalat belső rácsát egy vagy több böngészőablakban anélkül, hogy ez befolyásolná az alkalmazások többi részének teljesítményét vagy az interneten való böngészést.

1. ábra

Ennek eredménye lenne a vállalat saját számítógépes erőforrásainak optimális kihasználása, és a könnyű megközelítés miatt nem lenne szükség kliens alkalmazás telepítésére az összes alkalmazott számítógépre.

Ezenkívül külön kísérleteket tettek egy ilyen rács kereskedelmi használatára. Erre példa a PluralProcessing cég, amely pénzt kínál a weboldal üzemeltetőinek, ha egy Java kisalkalmazást integrálnak a weboldalukba. Ennek az appletnek a segítségével az elosztott számításokat elvégzik a webhely látogatóinak böngészőiben.

Az ebben a cikkben bemutatott megközelítést kísérletnek kell tekinteni. A produktív működés során nagy terheléseket kell feldolgozni, valamint a szinkronizálási és biztonsági szempontokat is figyelembe kell venni. Ezenkívül a választott HTTP protokoll és a JavaScript-ben végzett számítások nagy rezsit eredményeznek, ezért a megközelítés gyorsan hatástalanná válhat, ha rossz problémakörre alkalmazzák. Mindazonáltal a böngésző-alapú rács-infrastruktúra csábító lehetőséget kínál arra, hogy potenciálisan minden internetkapcsolattal rendelkező számítógép hozzájárulhat a rácshoz a számítási időhöz.

Részletek a kísérletről

A kísérlet feladatának a legrövidebb út kiszámítását választottuk
a kezdőcsomópont és az irányított gráf bármely csomópontja között (de.wikipedia.org/wiki/Graphentheorie). Jellemzően a Dijkstra algoritmust [Dijkstra59] használják a minimális távolság keresésére egy irányított gráfban, de csak párhuzamosítani lehet elégtelenül. Ezért hajtottuk végre a Google-beszélgetésben (nl.youtube.com/watch?v=BT-piFBP4fE) javasolt első keresést, amelyben a párhuzamosságot a MapReduce mintán keresztül vezetik be [Dean04].

2. ábra
Ezzel az algoritmussal a job mester a szélességig tartó első keresés többféle iterációján fut keresztül, és így meghatározza a grafikonon található legrövidebb utak globális optimumát. Adatkészletként egy szintetikusan előállított »Small-World« gráfot használunk [Wenzel02] szerint, 100 000 csomópontgal és 400 218 irányított éllel (lásd a 2. ábrát).

[Dijkstra59] E. W. Dijkstra. Megjegyzés a grafikonokkal kapcsolatos két problémáról. Numerikus matematika 1. 269–271. 1959.
[Wenzel02] L. Wenzel. Milyen kicsi a világ. Eszköztár. 2002.
[Dean04] J. Dean, S. Ghemawat. MapReduce: Egyszerűsített adatfeldolgozás nagy fürtökön. OSDI. 2004.