vizsgálata Farkas Zoltán Témavezető: Kacsuk Péter, D.Sc. Informatika Kar

Hasonló dokumentumok
Taszkok ütemezése desktop-griden

alkalmazásfejlesztő környezete

WEB2GRID: Desktop Grid a Web 2.0 szolgálatában

"A tízezer mérföldes utazás is egyetlen lépéssel kezdődik."

Új generációs közösségi WEB szolgáltatások és alkalmazások támogatása GRID platformmal

Worldwide LHC Computing Grid

Példa: LHC, CERN, Genf Enabling Grids for E-sciencE

Enabling Grids for E-sciencE. Grid bevezető INFSO-RI

Az MTA Cloud a tudományos alkalmazások támogatására. Kacsuk Péter MTA SZTAKI

Felhő rendszerek és felhő föderációk. Kacsuk Péter MTA SZTAKI

Web2Grid: Desktop Grid a Web 2.0 szolgálatában

A felhőről általában. Kacsuk Péter MTA SZTAKI

Új generációs közösségi WEB szolgáltatások és alkalmazások támogatása GRID platformmal

S01-7 Komponens alapú szoftverfejlesztés 1

Szuperszámítógépes teljesítmény szuperszámítógép nélkül A BinSYS Projekt

Networkshop Kaposvár Balaskó Á., Kozlovszky M., Karóczkai K., Márton I., Kacsuk P. MTA SZTAKI

Használati alapú és modell alapú tesztelés kombinálása szolgáltatásorientált architektúrák teszteléséhez az ipari gyakorlatban

ALKALMAZÁS MONITOROZÁS A MERCURY MONITORRAL A CLUSTERGRID INFRASTRUKTÚRÁN. Gombás Gábor, gombasg@sztaki.hu MTA SZTAKI

Miért jó nekünk kutatóknak a felhő? Kacsuk Péter MTA SZTAKI

MTA SZTAKI - A Grid fejlesztők és felhasználók szolgálatában

EGYÜTTMŰKÖDŐ ÉS VERSENGŐ ERŐFORRÁSOK SZERVEZÉSÉT TÁMOGATÓ ÁGENS RENDSZER KIDOLGOZÁSA

CancerGrid - Grid alkalmazása rákellenes hatóanyagok keresésének felgyorsítására

Folyamatmodellezés és eszközei. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Összegzés és hogyan tovább

ICT ÉS BP RENDSZEREK HATÉKONY TELJESÍTMÉNY SZIMULÁCIÓJA DR. MUKA LÁSZLÓ

ARM Cortex magú mikrovezérlők. mbed

Teljesen elosztott adatbányászat alprojekt

Rőczei Gábor Szeged, Networkshop

Komponens alapú programozás Bevezetés

Grid menedzsment megoldás az ARC köztesrétegben

Szoftverarchitektúrák 3. előadás (második fele) Fornai Viktor

Eseménykezelés. Szoftvertervezés és -fejlesztés II. előadás. Szénási Sándor.

A cloud szolgáltatási modell a közigazgatásban

MTA Cloud Use cases MTA Cloud workshop. Hernáth Szabolcs MTA WIGNER FK

ELTE Informatikai Kooperációs Kutatási és Oktatási Központ. Az ELTE-Soft KMOP / jelű pályázat zárórendezvénye

Supporting scientific and Web 2.0 communities by desktop grids P. Kacsuk MTA SZTAKI (Univ. of Westminster)

Előrenéző és paraméter tanuló algoritmusok on-line klaszterezési problémákra

Elosztott rendszer architektúrák

EGI-InSPIRE. Café Grid március 24. Szeberényi Imre 3/25/ EGI-InSPIRE RI

DSD DSD. Egy országos méretű orvosi adatbázissal kapcsolatos informatikai kihívások. Kovács László Pataki Balázs Pataki Máté MTA SZTAKI DSD

Vállalati információs rendszerek I, MIN5B6IN, 5 kredit, K. 4. A meghirdetés ideje (mintatanterv szerint vagy keresztfélében):

A J2EE fejlesztési si platform (application. model) 1.4 platform. Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem

Miskolci Egyetem Gépészmérnöki és Informatikai Kar Informatikai Intézet Alkalmazott Informatikai Intézeti Tanszék

Szoftver-technológia II. Szoftver újrafelhasználás. (Software reuse) Irodalom

Fejlesztés, működtetés, felügyelet Hatékony infrastruktúra IBM szoftverekkel

A KUTATÁS EREDMÉNYEI ZÁRÓJELENTÉS

Párhuzamos és Grid rendszerek

Cloud Computing a gyakorlatban. Szabó Gyula (GDF) Benczúr András (ELTE) Molnár Bálint (ELTE)

Mi is volt ez? és hogy is volt ez?

Utolsó módosítás:

Új megközelítés az európai IT biztonságitudatosság növelésben

Az NIIF új szuperszámítógép infrastruktúrája Új lehetőségek a kutatói hálózatban

Everything Over Ethernet

Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem

TÁVOKTATÁSI TANANYAGOK FEJLESZTÉSÉNEK MÓDSZERTANI KÉRDÉSEI

Alkalmazott Informatikai Intézeti Tanszék MŰSZAKI INFORMATIKA Dr.Dudás László 0. A Wolfram Alpha tudásgép.

1: Bevezetés: Internet, rétegmodell Alapok: aszimptótika, gráfok. HálózatokII, 2007

Számítógép hálózatok, osztott rendszerek 2009

Oktatási keretrendszer. Aba 0 perces ügyintézés pilot projekt

Bevezetés az európai és magyar Grid rendszerekbe

Hálózati operációs rendszerek II. Novell Netware 5.1 Hálózati nyomtatás

Párhuzamos programozási platformok

Komponens modellek. 3. Előadás (első fele)

Verifikáció és validáció Általános bevezető

MTA Cloud a tudományos alkalmazások támogatására. Kacsuk Péter MTA SZTAKI

Antenna Hungária Jövőbe mutató WiFi megoldások

Közösségi erôforrás-megosztás alapú számítási modell alkalmazása a gyakorlatban. SZTAKI Desktop Grid KORNAFELD ÁDÁM

Osztott Objektumarchitektúrák

Visszatekintés a Jövő Internet NTP öt évére. Dr. Bakonyi Péter Jövő Internet NTP.

A JGrid rendszer biztonsági architektúrája. Magyaródi Márk Juhász Zoltán Veszprémi Egyetem

VIRTUÁLIS GÉPTEREM KIALAKÍTÁSÁNAK GAZDASÁGI ÉS TECHNOLÓGIAI ELEMZÉSE DÁVID ÁKOS

Az Internet jövője Internet of Things

Energia automatizálás

A Java EE 5 plattform

V. Félév Információs rendszerek tervezése Komplex információs rendszerek tervezése dr. Illyés László - adjunktus

műszaki tudomány doktora 1992 Beosztás: stratégiai tanácsadó, tudományos tanácsadó Munkahelyek: Nokia -Hungary kft Veszprémi Egyetem

Publikációs lista. Gódor Győző július 14. Cikk szerkesztett könyvben Külföldön megjelent idegen nyelvű folyóiratcikk...

Google App Engine az Oktatásban 1.0. ügyvezető MattaKis Consulting

Számítógép-rendszerek fontos jellemzői (Hardver és Szoftver):

Konszolidáció és költségcsökkentés a gyakorlatban. Az Országos Tisztifőorvosi Hivatal Oracle adatbázis konszolidációja

Infor PM10 Üzleti intelligencia megoldás

Földmérési és Távérzékelési Intézet

ADATBÁZIS-KEZELÉS. Adatbázis-kezelő rendszerek

Új módszerek és eszközök infokommunikációs hálózatok forgalmának vizsgálatához

Párhuzamos programozási platformok

Oracle adatkezelési megoldások helye az EA világában. Előadó: Tar Zoltán

Osztott alkalmazások fejlesztési technológiái Áttekintés

Elosztott rendszerek. Az elıadás. Az elosztott rendszer definíciója. Köztesrétegként felépülı elosztott rendszer

Intervenciós röntgen berendezés teljesítményszabályozójának automatizált tesztelése

modell alkalmazása a gyakorlatban Application of public resource computing model in practice

DCOM Áttekintés. Miskolci Egyetem Általános Informatikai Tanszék. Ficsor Lajos DCOM /1

A ClusterGrid bróker rendszere. Stefán Péter Szalai Ferenc Vitéz Gábor

30 MB INFORMATIKAI PROJEKTELLENŐR

Bevezetés a kvantum informatikába és kommunikációba Féléves házi feladat (2013/2014. tavasz)

BIG DATA ÉS GÉPI TANULÁS KÖRNYEZET AZ MTA CLOUD-ON KACSUK PÉTER, NAGY ENIKŐ, PINTYE ISTVÁN, HAJNAL ÁKOS, LOVAS RÓBERT

Miskolci Egyetem Gépészmérnöki és Informatikai Kar Informatikai Intézet Alkalmazott Informatikai Intézeti Tanszék

Nyilvántartási Rendszer

Univerzális munkafolyamat szimulátor

Magic xpi 4.0 vadonatúj Architektúrája Gigaspaces alapokon

Webes alkalmazások fejlesztése Bevezetés. Célkitűzés, tematika, követelmények. A.NET Core keretrendszer

Átírás:

Általános grid interoperabilitási megoldás és kapcsolódó hierarchikus ütemezés kérdéseinek vizsgálata Doktori értekezés tézisei Farkas Zoltán zfarkas@sztaki.hu Témavezető: Kacsuk Péter, D.Sc. Eötvös Loránd Tudományegyetem Informatika Kar Informatika Doktori Iskola Benczúr András, D.Sc. Információs Rendszerek Ph.D. Program Benczúr András, D.Sc. Budapest, 2012

Bevezetés A különböző tudományos területek (fizikai, biológia, kémia) informatikai eszközökkel történő támogatása egyre növekvő számítási kapacitást igényel. A megoldandó problémák nagy része jól illeszkedik az úgynevezett parameter sweep módszerre, mely esetben egy előre definiált algoritmust kell nagy számban lefuttatni egymástól független elemekkel rendelkező paramétertér felett. A számítógépek teljesítményük folyamatosan növekedése ellenére nem tudják követni az ilyen jellegű problémák számítási igényét, így természetes megoldásként merül fel a paramétertér részhalmazokra bontása, és az egyes részhalmazok külön számítógépekkel való feldolgozása. Az ilyen jellegű működésre felkészített rendszereket grid-nek nevezzük, és két főbb csoportba tudjuk osztani: szolgáltatás gridekre és desktop gridekre. A szolgáltatás gridek fő jellemzője, hogy az erőforrások rendszerint nagy rendelkezésre állással bírnak, azokat folyamatosan felügyelik, és karban tartják. A szolgáltatás gridek legelemibb formája a LAN hálózaton keresztül összekapcsolt számítógépek halmaza, melyek összefoglaló neve klaszter. Az ilyen jellegű rendszerek általában egy intézet munkatársainak igényeit szolgálják ki, könnyen testre szabhatóak, és a hálózati kapcsolódás módjából adódóan alkalmasak kommunikáció-intenzív problémák futtatására is. Klaszterek használatát elősegítő middleware szoftverek például a Condor[21], a PBS[19], vagy az LSF[18]. A szolgáltatás gridek következő lépcsője a földrajzilag elosztott klaszterek összekapcsolása valamilyen middleware segítségével. Ebben az esetben a különböző intézetek rendelkezésre álló erőforrásaikat egy software stack segítségével összekötik, melyek aztán egy közös felületen keresztül használhatóak. Az ilyen jellegű rendszerek igazi összefoglaló neve szolgáltatás grid. Főbb jellemzőjük, hogy nagy mennyiségű erőforráshoz biztosítanak hozzáférést azonosítást követően, támogatják a párhuzamos folyamatok (PVM[16]/MPI[20] alkalmazások) futtatását, fel vannak készítve adat-intenzív programok futtatására (különböző data menedzsment komponenseken keresztül), illetve részletes adatokkal szolgáló információs rendszert tartalmaznak. Az ilyen gridek főbb implementációi a Globus[15], glite[17], NorduGrid/ARC[12], vagy a UNICORE[13]. A szolgáltatás gridekhez való hozzáférés általában azonosításhoz kötött, de azonosítás után lényegében a teljes rendszer korlátozások nélkül használható; bármely, a gridben részt vevő szolgáltatás elérhető, illetve a futtatható alkalmazások kisebb megszorításoktól eltekintve tetszőleges lehet. Az alkalmazások rendszerint valamilyen bróker szolgáltatáson keresztül küldhetők be a rendszerbe, ami után a bróker az információs rendszer adatai alapján egy megfelelő erőforrásra allokálja az alkalmazást. Desktop gridek esetén az erőforrásokat különböző személyi számítógépek biztosítják, melyek egy központi szerveren tárolt munkacsomagokat dolgozzák fel a következő módon: a szervernek elküldik főbb jellemzőiket, a szerver erre válaszul egy olyan munkacsomagot 1

küld, mely megfelel a desktop specifikációinak, és egy határidőt rendel a munkacsomaghoz. A munkacsomag megérkezése után a számítógép üresjárati idejében feldolgozza azt, majd az eredményt visszaküldi a szerverre. Ezt a kommunikációt a szerver és a desktop között egy egyszerű kliens alkalmazás bonyolítja. Mint látható, a desktop gridek nem igényelnek nagy számú, nagy rendelkezésre állású szolgáltatásokat; csupán egyetlen szerver képes biztosítani az infrastruktúrát. A számítási kapacitás mértéke viszont nagy mértékben függ a kapcsolódó desktopok mennyiségétől és minőségétől. Vállalati vagy intézeti környezetben a bekapcsolt személyi számítógépek lehetnek a dolgozók munkaállomásai, ebben az esetben munkaidőn belül nagy rendelkezésre állású desktop gridre lehet számítani. Az ily módon felállított desktop gridet nevezzük lokális desktop gridnek. Ennek ellentéte a globális desktop grid, amikor a szerverhez bárki kapcsolódhat, és felajánlhatja számítógépének szabad számítási kapacitását. Egy sikeres globális desktop grid feltétele, hogy a feldolgozandó probléma megfelelően attraktív legyen, és sok önkéntest vonzzon. A globális desktop gridek esetén számolni kell az önkéntesek által felajánlott számítógépek hibás működésével is, ennek kiküszöbölésére redundáns számítást alkalmaznak. Desktop gridek főbb implementációi a BOINC[10], az XtremWeb[14] és az OurGrid[11]. Mint a fentiekből látszik, a desktop gridek által feldolgozandó munkacsomagok tárolási helye a központi szerver. Új munkacsomagok létrehozása és az eredmények feldolgozása csupán pár ember számára engedélyezett, akik a szóban forgó desktop grid rendszer adminisztrátorai. A szolgáltatás és desktop gridek közötti alapvető különbség, hogy míg a szolgáltatás gridek elvileg tetszőleges alkalmazás futtatására képesek nagy rendelkezésre állás és üzemeltetési költségek mellett, addig a desktop gridek egy költséghatékony, de nem 100%-os megbízhatóságú platformot adnak parameter study problémák megoldására. A disszertációm motivációja egy olyan, elméleti alapokon nyugvó bridge megvalósítása, mely képes egy adott grid típus előnyeit nyújtani a másik grid típus számára alkalmazások vagy munkacsomagok migrációjának segítségével, transzparens módon. Vagyis, egy szolgáltatás grid felhasználó nagy paramétertérrel rendelkező parameter study problémájának megoldására segítségül tudja hívni a desktop grid rendszereket, vagy desktop gridek fontos munkacsomagjai számára elérhetővé teszi a szolgáltatás gridek nagy rendelkezésre állású erőforrásait. Ehhez a témakörhöz kapcsolódik disszertációm második fejezete, és ezt a témakört fedi le az első téziscsoport két tézise. Az ily módon összekapcsolt gridek esetén felvetődik a kérdés, hogy a módszer alkalmazható-e azonos típusú gridek összekapcsolására. A válasz a bridge általános felépítése miatt igen, viszont desktop gridek összekapcsolása esetén felveti azok teljesítményének meghatározását; míg szolgáltatás gridek esetén ez az információs rendszerből azonnal meghatározható, addig desktop gridek esetén a felajánlott erőforrások megbízhatatlansága miatt nem állapítható meg egyértelműen. Márpedig két összekapcsolt desktop grid esetén fontos, hogy a szabad kapacitását felajánló desktop grid ne vállalja túl magát; erőn 2

felüli munkacsomag átvétel határidők megsértését, és ezen keresztül feleslegesen elvégzett munkát eredményezhet a kisegített desktop grid szempontjából. Disszertációm harmadik fejezetében az ilyen módon hierarchiába szervezett desktop gridek teljesítményének meghatározásával foglalkozom, ezt a témakört fedi le a második tézicsoport három tézise. Alkalmazott módszerek Értekezésem első részében a kapcsolódó szakirodalom vizsgálatával ismertetem és bemutatom a jelenleg használatban levő különböző szolgáltatás és desktop grid rendszereket. Megvizsgálom az egyes middleware-ek főbb tulajdonságait, úgy mint job leíró nyelvek, adat menedzsment képességek, és biztonsági megoldások. Ezt követően számba veszem az irodalomban fellelhető interoperabilitást célzó megoldásokat, melyeket két nagyobb kategóriába osztok. Az értekezés második részében részletesen foglalkozom a grid interoperabilitási probléma megoldásával. Kiindulásként részletesen bemutatom a főbb szolgáltatás és desktop grideket, majd a megismert tulajdonságok alapján felállítok egy általános formális modellt a grideken belüli job végrehajtás lépések leírására, majd példákon keresztül megmutatom, hogy a formális modell hogyan szabható testre létező grid implementációk esetén. A formális modellt segítségül hívva előállítok egy olyan általános architektúrát, mely megoldja a grid interoperabilitási problémát a formális modellre illeszkedő gridek esetén. Végül példákon keresztül bemutatom, hogyan alkalmazható az általános architektúra konkrét esetekben. Az értekezés harmadik részében a hierarchiába szervezett desktop grid rendszerek teljesítmény-meghatározási módszereivel foglalkozom. Először áttekintem a témához kapcsolódó szakirodalmat, majd adok egy módszert az ilyen jellegű rendszerek modellezésére. A modell alapján kidolgozok egy olyan szimulátort, mely hierarchikus desktop grid rendszerek működésének szimulálására használható. Ezt követően több teljesítmény-meghatározó algoritmust vezetek be, melyeket különböző esetekben összehasonlítom egymással a szimulátor segítségével. Végül egy konkrét desktop grid felajánlott erőforrásaiból összeállított hierarchikus rendszeren ellenőrzöm az eredményeket. Új tudományos eredmények 1. Téziscsoport Értekezésem első téziscsoportjában az általános grid interoperabilitással kapcsolatos eredményeimet, illetve a gyakorlati megvalósítás részleteit foglaltam össze. 3

1.1. Tézis elméleti háttere Az értekezés 1.1. Tézise a grid interoperabilitási probléma egy általános megoldását tárgyalja, formális leíráson alapulva. A létező grid interoperabilitási megoldások vizsgálata után osztályoztam azokat. Két fő csoportot lehet megkülönböztetni: a pilot módszeren és a job wrapper módszeren alapuló megoldásokat. A pilot módszer lényege, hogy egy adott grid middleware számítási komponenseit beépítjük egy másik grid erőforrásai fölé. A job wrapper módszer lényege, hogy egy átjárót alkalmaznak az érintett gridek között, mely a job transzformációk elvégzéséért felelős. Az osztályozás után definiáltam a grid interoperabilitási problémát, majd bemutattam egy olyan formális modellt, mely a grid felhasználó és erőforrás entitások leírására használható. Elő- és utófeltételeket definiáltam a különböző entitások végrehajtási fázisaihoz, melyekkel absztrakt módon lehet modellezni alkalmazások végrehajtását. A modell érvényességét több létező grid implementáció példáján keresztül mutattam be. Elkészítettem egy, a formális modellre alapuló, a grid interoperabilitási problémát általánosan megoldó algoritmust: Algorithm 1 Az interoperabilitási problémát megoldó UserB Require: isv alid A (JobD A ) Require: y JobD A.ins : isavailable A (y) 1: for y JobD A.ins do 2: get A (UserB, y) 3: end for 4: JobD B = convert B (JobD A ) 5: submit B (JobD B ) 6: while!ist erminated B (JobD B ) do 7: wait() 8: end while 9: for y JobD B.outs do 10: get B (UserB, y) 11: end for Ensure: isready B (JobD B ) Ensure: y JobD B.outs : has B (UserB, y) entitás algoritmusa Az 1. algoritmus képes megoldani a modellre illeszkedő gridek közötti interoperabilitást a job wrapper-elési módszer segítségével, melyet be is bizonyítottam. A megoldás lényege egy, a forrás és cél gridek közötti módosított felhasználói entitás (UserB ), mely a forrás grid szempontjából erőforrásként, a cél grid nézőpontjából pedig felhasználóként viselkedik. Bebizonyítottam, hogy a UserB entitás elő- és utófeltételei kielégítik a forrás grid erőforrás elő-, valamint a cél grid felhasználó utófeltételeit: Res A,P re = User B,P re (1) 4

User B,P ost = Res A,P ost (2) Az algoritmus alapján elkészítettem egy olyan rendszer architektúráját, mely a gyakorlatban is alkalmazható az interoperabilitási probléma megoldására. 1.1. Tézis: Megvizsgáltam és osztályoztam a létező grid interoperabilitási megoldásokat. Definiáltam a grid interoperabilitási problémát, majd elkészítettem a grid rendszereket képező absztrakt felhasználó és erőforrás entitások formális modelljeit. A modellre alapozva elkészítettem egy, a grid interoperabilitási problémát megoldó algoritmust, majd bebizonyítottam annak helyességét. Az algoritmust felhasználva javaslatot tettem egy grid interoperabilitást általánosan megoldó architektúra tervére. Kapcsolódó publikációk: [1], [3], [4], [7] Szekció: dolgozat 2. fejezete. 1.2. Tézis elméleti háttere Értekezésem 1.2. Tézisében az 1.1. Tézisben bemutatott architektúrán alapuló gyakorlati grid interoperabilitási megoldásokat mutatok be, és az itt tapasztaltak alapján vizsgálom az interoperabilitás egyéb részletkérdéseit, úgymint biztonsági megoldások, adatkezelés, vagy információs rendszerek. Bemutatom a Generic Grid-Grid (3G) Bridge-et, mely grid interoperabilitási megoldások alapköveként szolgál, és az 1.1. Tézisben adott algoritmust implementálja. A 3G Bridge nagy előnye, hogy új cél vagy forrás gridek támogatásának hozzáadása minimális befektetést igényel. Ezt több grid interoperabilitási megoldás segítségével bizonyítom be: BOINC glite bridge, glite BOINC bridge, illetve BOINC BOINC bridge. Ez utóbbi esetnél felmerülő kérdések alapozták meg a második Téziscsoport mögötti kutatásaimat. A 3G Bridge architektúráját mutatja be az 1. ábra. Kitértem a bemutatott interoperabilitási megoldások során felmerülő kérdések vizsgálatára, úgymint egy általános alkalmazás repository szükségességére, illetve az adat menedzsmenttel, biztonsági kérdésekkel, valamint információs rendszerekkel kapcsolatos kérdésekre is. 1.2. Tézis: Az 1.1. Tézisben bemutatott eredmények alapján definiáltam egy olyan architektúrát, amivel a cél gridek felé történő átjárás 1-1 plugin implementációjával megoldható, illetve újabb forrás gridek támogatása is csupán 1-1 plugin implementációját igényli. Ezt demonstráltam is pár lehetséges grid interoperabilitási megoldáson keresztül, melyek mindegyike az általános grid-grid átjáró koncepciójára épül. A bemutatott megoldások gyakorlati szempontból támasztják alá az 1.1. Tézis eredményeit, valamint bizonyítják az 5

3G Bridge Machine Client WSClient Job Handler Interface WSSubmitter 3G Bridge Job DB Queue Manager Grid Handler Interface Grid Plugin 1 Grid Plugin 2 Grid Plugin 3 Job Files HTTPD HTTPD Download Manager Grid Plugin n 1. ábra. A 3G Bridge architektúrája eredmények általánosságát és gyors alkalmazhatóságát. A bemutatott megoldások alapján megvizsgáltam az interoperabilitási megoldást job leíró nyelvek, biztonsági megoldások, adatkezelés és információs rendszerek szempontjából. Kapcsolódó publikációk: [1], [3], [4], [7] Szekció: Dolgozat 2. fejezete. 2. Téziscsoport Értekezésem második téziscsoportjában a skálázható desktop gridek teljesítmény-meghatározási módszereivel kapcsolatos eredményeimet foglaltam össze. 2.1. Tézis elméleti háttere Értekezésem 2.1. Tézisében a hierarchikus struktúrába szervezett desktop gridek leírását mutatom be, kitérek az ilyen rendszerek entitásaira, azok állapotát módosító eseményekre. A bemutatott modell a hierarchikus desktop grid rendszerek működésének vizsgálatában nyújt nagy segítséget. A fa struktúrájú hierarchikus rendszerek alapvető elemei a desktop gridek: DG = (id, parent, nperf, W Uset, Clset, DGset, fw Us, lconn, ldl), DGs = {DG 1,..., DG k }, 6

illetve a hozzájuk kapcsolódó kliensek: Cl = (id, fpops, bw, dg, ava, errrate, lct ime), Clients = {Cl 1,..., Cl m }. Ezen entitások pár alapvető tulajdonsággal rendelkeznek, úgymint kapcsolódó munkacsomagok: W U = (id, fpop, isb, dl, dg, proc, parent, origdl, compstart), W Us = {W U 1,..., W U n }, számítási teljesítmények, hálózati kapcsolatok sebessége. A hierarchikus desktop grid rendszert a desktop gridekből, kliensekből, munkacsomagokból és N = DGs Clients csomópontok feletti irányított, körmentes gráfból álló (élek halmaza V N N): HDG = (DGs, Clients, W Us, N, V ) rendszerként definiálom, melynek az alábbi invariáns tulajdonságoknak kell megfelelnie: Cl Clients : {(x, Cl) x DG} = 1 (3) (x, y) V : x, y Clients (4) DG DGs : {(x, DG) x DG} 1 (5)!DG DG : (DG.parent = DG j DG \ {DG } : (DG j.parent )) (6) DG.W Uset = W Us (7) DG DGs DG DGs DG.Clset = Clients (8) A rendszer elemei kommunikálnak egymással, mely kommunikációk az elemek állapotát megváltoztatják, például egy kliens jelenti egy munkacsomag eredményét (2. Algoritmus), vagy egy alsóbb szintű desktop grid kérhet munkacsomagot az ő szülőjétől (3. Algoritmus). 2.1. Tézis: Elkészítettem a fa struktúrába szervezett hierarchikus desktop grid rendszerek formális modelljét, beleértve a rendszerben részt vevő entitásokat - úgymint munkacsomagok, desktop gridek, kliensek, - azok kapcsolatát - a hierarchikus desktop grid gráf struktúrája, - és az entitások állapotát módosító függvényeket. A modell lehetőséget ad a hierarchikus desktop grid rendszerek működésének vizsgálatához, mivel segítségével egy ilyen rendszer teljes állapota leírható. Kapcsolódó publikációk: [6], [5], [8], [2] Szekció: Dolgozat 3. fejezete. 7

Algorithm 2 A Cl kliens a W U munkacsomag eredményét jelenti a DG desktop grid felé Cl.lcTime = ctime if W U.failed then W U.proc = W U.compstart = 1 else if W U.cl = Cl then if W U.parent then report parent(w U.parent) end if DG.W Uset = DG.W Uset \ {W U} W Us = W Us \ {W U} end if Algorithm 3 A DG c desktop grid munkacsomagot tölt le a DG p desktop gridtől rwu = if W U DG.W Uset then W U.compstart = ct ime W U.proc = DG c rw U = neww U(W U) end if return rw U 2.2. Tézis háttere A 2.1. Tézisben bemutatott modell segítségével leírt hierarchikus desktop grid rendszerek működésének szimulálásához elkészítettem a HierDGSim nevű, nyílt forráskódú szimulátort. Az eszköz lehetőséget biztosít tetszőleges fa struktúrába szervezett desktop gridek és hozzájuk kapcsolt kliensek működésének vizsgálatára. A szimulátort Java programozási nyelven készítettem, a GridSim keretrendszer felhasználásával. Többszálú végrehajtásnak köszönhetően képes kihasználni a többprocesszoros rendszerek nyújtotta előnyöket. Ezt az eszközt használom a 2.3. Tézisben megfogalmazott algoritmusok vizsgálatához. A HierDGSim elérhető a http://sf.net/projects/hierdgsim weboldalon. 2.2. Tézis: Elkészítettem egy fa struktúrába szervezett hierarchikus desktop grid rendszerek szimulálására használható keretrendszert, mely a modellen, valamint az ahhoz kapcsolódó állapottér-módosító algoritmusokon alapul. Kapcsolódó publikációk: [6], [5], [8], [2] Szekció: Dolgozat 3. fejezete. 8

2.3. Tézis elméleti háttere Az értekezés 2.3. Tézisében a hierarchikus desktop grid rendszerekben használható algoritmusok kidolgozását, illetve azok vizsgálatát, valamint az ezekből következő eredményeket foglalom össze. A hierarchikus rendszerben részt vevő desktop gridek teljesítményének meghatározásához számos algoritmust készítettem, melyeket működésük fő szempontja alapján három nagyobb csoportban foglaltam össze: a kapcsolódó kliensek tulajdonságaival dolgozó (lásd (9) Algoritmus), a rendelkezésre álló munkacsomagok tulajdonságait figyelembe vevő (lásd (10) Algoritmus), illetve a kérdéses desktop grid állapotát vizsgáló algoritmus-csoportok. Cl.lconn < Cl.dg.ldl if Cl.dg.ldl 0 isact(cl) = (9) Cl.lconn < AP if Cl.dg.ldl = 0 DG.nperf = dg DG.DGset dg.nperf + {cl DG.CLset isact(cl)} (9) DG.nperf = {Cl DG.CLset Cl.AT T < DG.ldl isact(cl)} + (10) + dg.nperf dg DG.DGset dg.at T <DG.ldl A kidolgozott algoritmusok teljesítményét a 2.2. Tézisben leírt szimulátor segítségével hasonlítottam össze, különböző eseteket alapul véve. A vizsgált metrikák a rendszer kiürülési ideje (az az idő, ami a kiindulás és az utolsó munkacsomag feldolgozása között telik el), illetve a munkacsomag határidők megsértések száma. Az elvégzett szimulációk alapján a legjobban az olyan algoritmusok teljesítenek, melyek a kliensek aktivitását a munkacsomag határidőkkel vetik össze. 2.3. Tézis: Hierarchikus desktop grid rendszer adott elemének teljesítmény-meghatározásához algoritmusokat készítettem, melyeket három csoportba osztottam a fő figyelembe vett tulajdonság alapján. Az 2.2 Tézisben említett szimulátor segítségével különböző esetekben összehasonlítottam algoritmusok teljesítményét, adott metrikákat vizsgálva. A kapott eredmények alapján javaslatot tettem a használandó algoritmusokra: amennyiben fontos, hogy a feleslegesen feldolgozott munkacsomagok számát minimális szinten tartsuk, úgy az ACTO algoritmust célszerű használni, amennyiben viszont a munkacsomagok minél gyorsabb feldolgozása a cél, úgy az NAC algoritmus a célravezető választás. Kapcsolódó publikációk: [6], [5], [8], [2] Szekció: Dolgozat 3. fejezete. 9

Az eredmények alkalmazása Az értekezésben bemutatott eredmények több, hazai és nemzetközi projekten belül hasznosulnak. Az általános, grid interoperabilitást megvalósító 3G Bridge jelenti a technológiai alapjait az EU FP7 keretprogramban támogatott EDGeS, EDGI és DEGISCO projekteknek. Az EDGeS és DEGISCO projektek a 3G Bridge-et, mint BOINC desktop grideket glite szolgáltatás grid erőforrásokkal támogató komponenst alkalmazzák. A projektek számára 1 desktop grid input, valamint egy glite grid output plugin (a 3G Bridge részekénti) implementációja jelentette a bridge technológia kifejlesztését. A technológiával jelenleg 12 desktop gridet támogatnak 21 glite Computing Element segítségével, mely 2500 fizikai és 14000 logikai CPU magot jelent. A 24 óra alatt feldolgozott desktop grid munkacsomagok száma 1400 körüli (lásd 2a Ábra), átlagosan 400 munkacsomag (lásd 2b Ábra) fut párhuzamosan a 3G Bridge-re alapuló desktop grid glite bridge-en keresztül. A projekt aktuális kapacitását és áteresztőképességét mutató értékek megtekinthetőek a DEGISCO projekt monitorozó oldalán [9]. (a) 24 óra alatt feldolgozott munkacsomagok száma (b) Párhuzamosan bridge-elt munkacsomagok száma 2. ábra. DEGISCO teljesítmény grafikonok Az EDGI projekt fordított irányból közelíti meg a szolgáltatás és desktop gridek közötti munkamegosztást: glite, ARC, valamint UNICORE alapú szolgáltatás gridek hasznosíthatják különböző desktop gridek - BOINC, illetve XtremWeb - erőforrásait, ezáltal több százezer desktop gép kapacitását használhatják ki az egyes szolgáltatás gridek felhasználói. A bridge technológia alapja ebben az esetben is az 1. Tézicsoportban bemutatott 3G Bridge, kiegészülve egy BOINC, valamint egy XtremWeb output grid pluginnel az egyes cél desktop gridek elérése érdekében. Forrás grid oldalról a szóban forgó szolgáltatás gridek 1-1 kisebb pluginnel érik el a 3G Bridge, mint mediátor felé történő job továbbítást. Példaként az 3a. és a 3b ábrák mutatják rendre egy-egy, az EDGI infrastruktúrában részt vevő 3G Bridge, valamint glite alapú forrás grid plugin teljesítményét. Az EDGeS projekt során felállított EDGeS@home desktop grid volt az első olyan desktop grid, melyet kimondottan a 3G Bridge technológiával támogatott szolgáltatás grid desktop grid bridge támogató projektjeként indítottak. A desktop grid jelenleg több, 10

(a) 3G Bridge teljesítmény (b) glite mce teljesítmény 3. ábra. EDGI teljesítmény grafikonok mint 10000 felhasználó 15000 számítógépének erőforrásával gazdálkodik, és dolgoz fel problémákat a fizika, a kereskedelem, valamint a biológia témaköréből. Az EDGeS@home projekt mellett számos más desktop grid (például a SZTAKI Desktop Grid, az Xtrem- Web@LAL, az XtremWeb@LRI, az AlmereGrid vagy az Ibercivis) telepítette a 3G Bridge technológiát, hogy rendelkezésre álló erőforrásaikat elérhetővé tegyék szolgáltatás gridek, vagy portálok felhasználói számára. A különböző típusú gridek közötti bridge-elés mellett a 3G Bridge jelentős szerepet tölt be a desktop gridek portálokon keresztüli hasznosíthatóságában is. Mind a P-GRADE Portal, mind a WS-PGRADE/gUSE technológia a 3G Bridge-et használja a desktop grid erőforrások kiaknázására. Ebből a szempontból az említett portál technológiák, mint forrás grid vesznek részt egy portál desktop grid bridge architektúrában. Ezen az elven teszi elérhetővé az EDGI projektben részt vevő desktop gridek erőforrásait az EDGI portál (a szolgáltatás gridek mellett), valamint a University of Westminster is ily módon biztosít hozzáférést az 1500 desktop-ból álló lokális desktop grid erőforrásához. Az MTA SZTAKI Párhuzamos és Elosztott Rendszerek Laborja kezdeményezésére indított Egyetemi Desktop Grid projekt keretén belül minden, magyarországi egyetemen (Óbudai Egyetem, Szegedi Tudományegyetem, Miskolci Egyetem) felállított desktop grid szerver a 3G Bridge-et használja az adott desktop grid erőforrásainak távoli eléréséhez, igény szerint a WS-PGRADE/gUSE portál technológián keresztül. Az itt felsorolt EU FP7 projekteken kívül az EELA-2 nemzetközi projektben megvalósításra került az értekezésben bemutatott általános grid interoperabilitást megoldó architektúra Java programozási nyelven, a 3G Bridge C++ implementációja alapjain. A Java implementációt glite szolgáltatás gridek erőforrás-kapacitás növelésére használják, OurGrid alapú desktop gridek segítségével. A hierarchikus struktúrába szervezett desktop gridek teljesítmény-meghatározásával foglalkozó, 2. Téziscsoportban összefoglalt eredményeim a HAGrid projekt keretein belül kerültek hasznosításra. E mellett az egyes ütemezési algoritmusok implementálásra kerültek a HierDGSim szimulátoron belül, így azok bármikor beépíthetőek egy desktop gridek közötti interoperabilitási megoldásba. Az 1. Téziscsoportban bemutatott interoperabilitási megoldással támogatva a 2. Téziscsoport eredményei megadják a lehetőséget, hogy 11

például egyetemi desktop gridek esetén különböző szinteken (osztály, kar, egyetem) alakuljanak ki desktop gridek, melyek aztán igény szerint támogathassák egymást. 1. A szerző kapcsolódó publikációi [1] Z. Balaton, Z. Farkas, G. Gombas, P. Kacsuk, R. Lovas, A. C. Marosi, G. Terstyanszky, T. Kiss, O. Lodygensky, G. Fedak, A. Emmen, I. Kelley, I. Taylor, M. Cardenas-Montes, and F. Araujo. EDGeS: The Common Boundary Between Service And Desktop Grids. In S. Gorlatch, P. Fragopoulou, and T. Priol, editors, Grid Computing, pages 37 48. Springer US, 2008. 10.1007/978-0-387-09457-1 4. [2] Z. Farkas and P. Kacsuk. Evaluation of hierarchical desktop grid scheduling algorithms. Future Generation Computer Systems, 28(6):871 880, 2012. [3] Z. Farkas, P. Kacsuk, Z. Balaton, and G. Gombás. Interoperability of BOINC and EGEE. Future Generation Computer Systems, 26(8):1092 1103, 2010. [4] Z. Farkas, P. Kacsuk, and M. R. Solar. Utilizing the EGEE Infrastructure for Desktop Grids. In P. Kacsuk, R. Lovas, and Z. Németh, editors, Distributed and Parallel Systems, pages 27 35. Springer US, 2008. [5] Z. Farkas, A. C. Marosi, and P. Kacsuk. Job Scheduling in Hierarchical Desktop Grids. In Remote Instrumentation and Virtual Laboratories, pages 79 97. Springer US, 2010. [6] P. Kacsuk, J. Kovacs, Z. Farkas, A. C. Marosi, G. Gombas, and Z. Balaton. SZTAKI Desktop Grid (SZDG): A Flexible and Scalable Desktop Grid System. Journal of Grid Computing, 7(4):439 461, dec 2009. [7] P. Kacsuk, J. Kovács, Z. Farkas, A. C. Marosi, and Z. Balaton. Towards a powerful European DCI based on Desktop Grids. Journal of Grid Computing, 9(2):219 239, 2011. [8] F. Zoltán. Taszkok ütemezése desktop-griden. Híradástechnika, 12(52):15 20, 2007. 2. Kapcsolódó publikációk [9] DEGISCO Performance graphs. http://degisco.eu/performance, 2012. [10] D. P. Anderson. BOINC: A System for Public-Resource Computing and Storage. In Proceedings of the 5th IEEE/ACM International Workshop on Grid Computing, pages 4 10. IEEE Computer Society, 2004. 12

[11] N. Andrade, W. Cirne, F. Brasileiro, and P. Roisenberg. OurGrid: An Approach to Easily Assemble Grids with Equitable Resource Sharing. In Job Scheduling Strategies for Parallel Processing, Lecture Notes in Computer Science, pages 61 86. Springer Berlin / Heidelberg, 2003. [12] M. Ellert, M. Grønager, A. Konstantinov, B. Kónya, J. Lindemann, I. Livenson, J. Nielsen, M. Niinimäki, O. Smirnova, and A. Wäänänen. Advanced Resource Connector middleware for lightweight computational Grids. Future Generation Computer Systems, 23(2):219 240, 2007. [13] D. W. Erwin and D. F. Snelling. UNICORE: A Grid Computing Environment. In Euro-Par 2001 Parallel Processing, Lecture Notes in Computer Science, pages 825 834. Springer Berlin / Heidelberg, 2001. [14] G. Fedak, C. Germain, V. Neri, and F. Cappello. XtremWeb: A Generic Global Computing System. In Proceedings of the 1st International Symposium on Cluster Computing and the Grid (CCGrid 01), page 582, 2001. [15] I. Foster. Globus Toolkit Version 4: Software for Service-Oriented Systems. In IFIP International Conference on Network and Parallel Computing, Springer-Verlag LNCS 3779, pages 2 13, 2005. [16] A. Geist, A. Beguelin, J. Dongarra, W. Jiang, R. Manchek, and V. S. Sunderam. PVM: Parallel Virtual Machine. MIT Press, Cambridge, MA, USA, 1994. [17] glite. glite. http://glite.web.cern.ch/glite/, 2010. [18] LSF. Platform LSF. http://www.platform.com/workload-management/ high-performance-computing/lp, 2011. [19] PBS. PBS Professional. http://www.pbsworks.com/product.aspx?id=1, 2011. [20] M. Snir, S. W. Otto, D. W. Walker, J. Dongarra, and S. Huss-Lederman. MPI: The Complete Reference. MIT Press, Cambridge, MA, USA, 1995. [21] D. Thain, T. Tannenbaum, and M. Livny. Distributed computing in practice: the Condor experience. Concurrency and Computation: Practice and Experience, 17(2-4):323 356, 2005. 13