"Challenges and Formal Aspects of Volunteer Computing"
Total Page:16
File Type:pdf, Size:1020Kb
BUDAPEST UNIVERSITY OF TECHNOLOGY AND ECONOMICS FACULTY OF ELECTRICAL ENGINEERING AND INFORMATICS DEPARTMENT OF AUTOMATION AND APPLIED INFORMATICS Attila Csaba Marosi Önkéntes Számítási Rendszerek Kihívásai és Formális Aspektusai Challenges and Formal Aspects of Volunteer Computing Ph.D. Thesis Thesis Advisors: Péter Kacsuk MTA SZTAKI, LPDS Sándor Juhász BME, AUT Budapest, 2016. ‘‘The important thing is not to stop questioning. Curiosity has its own reason for existing. One cannot help but be in awe when he contemplates the mysteries of eternity, of life, of the marvelous structure of reality. It is enough if one tries merely to comprehend a little of this mystery every day. Never lose a holy curiosity.’’ -- Albert Einstein Abstract Volunteer Computing (VC) and Desktop Grid (DG) systems collect and make available the donated the resources from non-dedicated computers like office and home desktops. VC systems are usually deployed to solve a grand compute intensive problem by researchers who either don’t have access to or don’t have the resources to buy a dedicated infrastruc- ture; or simply don’t want to maintain such an infrastructure. VC and DG paradigms seem similar, however they target different use cases and environments: DG systems operate within the boundaries of institutes, while VC systems collect resources from the publicly accessible internet. Evidently VC resembles DGs whereas DGs are not fully equivalent to VC. Contrary to “traditional grids” [1,2] there is no formal definition for the relationship of DG and VC that could be used to categorize existing systems. There are informal at- tempts to categorize them and compare with grid systems [3,4,5]. There is also a formal model for VC, but it is based on an existing implementation [6]. In the first theorem group I evaluate DG/VC systems using formal methods: contrary to informal methods, that compare using selected characteristics, using formal methods I seize the semantics of the systems. I develop formal reference models and definitions, that make possible evaluating existing systems. Utilizing my formal models I determine the relationship of DG and VC, and their relationship with grid computing. Finally I create a formal reference model for an existing system and evaluate it against my previous DG/VC models Finally I create a formal reference model for an existing system and evaluate it against my previous DG/VC models. In The second half of this thesis I investigate three – what I consider – major challenges and future directions of VC: (i) workload sharing between DG/VC systems; Creating Vol- unteer Cloud Computing (VCC), in detail with overcoming the heterogeneity of resources and systems, and (iii) reducing the “tail-effect” for round-trip times of batches of jobs caused by the volatility of resources. I present my results in the second theorem group. Multiple national and international R&D projects benefited from my results that I pre- sented in this thesis. For example, based on the second theorem group I developed several open source frameworks. These were used to adapt – so far – 59 scientific applications to DG/VC systems from all over the world. Additionally implementations belonging to the methods and algorithms I developed are running in real-world environments and are part of open source systems (e.g., BOINC). Összefoglaló Az Önkéntes Számítási Rendszerek (Volunteer Computing - VC) és Desktop Gridek (DG- ek) nem dedikált, hanem a már használatban lévő, például irodai vagy önkéntesek által felajánlott – saját – számítógépek kihasználatlan kapacitásait gyűjtik és teszik elérhetővé. A VC rendszereket általában egy-egy számításigényes probléma megoldására alapítják olyan kutatók, akiknek nincs hozzáférésük, illetve nem akarnak vagy nem tudnak dedikált infrastruktúrát fenntartani. A DG és VC paradigma bár hasonlónak tűnik, azonban két különböző használati esetet és környezetet céloz meg: a DG rendszerek alapvetően in- tézményen belül működnek, míg a VC rendszerek publikusan, az interneten. Így bár A DG nagyban hasonlít a VC-hoz, de a két rendszer mégis alapvetően eltérő célokat szol- gál. A “hagyományos” gridekkel ellentétben – amelyekre létezik formális definíció és mod- ell [1,2] – nincs egyértelmű definíció ami alapján meghatározható a VC és DG rendszerek relációja, illetve a létező rendszerek egyértelműen kategorizálhatóak. Az összehasonlítá- suk (egymással és a hagyományos gridekkel) informális alapon létezik [3,4,5]. Teljes VC modell, formális alapokon, konkrét implementációból származtatva készült [6]. Az első téziscsoportban formális módszerekkel jellemzem a DG/VC rendszereket: az in- formális módszerekkel szemben, amelyek általában egy-egy karakterisztika alapján hason- lítanak össze, a formális módszerek segítségével a rendszerek szemantikáját ragadom meg. Definíciókat és formális referencia modelleket alkotok, melyek segítségével létező rendsz- erek kiértékelhetőek. A formális modelljeimet felhasználva meghatározom a DG és VC rendszerek viszonyát, egyrészt egymással kapcsolatban valamint a hagyományos gridekkel szemben. Végül elkészítem egy létező rendszer formális modelljét, majd ezt kiértékelem a DG/VC modelljeimmel szemben. A disszertációm második felében a VC rendszerek három – általam – azonosított kihivásával foglalkozom: (i) DG/VC rendszerek közötti feladatmegosztás kialakításával; valamint az önkéntes számítási felhők (Volunteer Cloud Computing - VCC) megalkotásá- val, ezen belül (ii) az erőforrások és rendszerek heterogenitásának kiküszöbölésével és az (iii) önkéntes erőforrások volatilitása okozta, kötegelt feladatok futtatásánál jelen- tkező, “farok-hatás” csökkentésével. Az eredményeimet egy – a második – téziscsoportban foglalom össze. A disszertációmban beutatott eredményeimet több hazai és nemzetközi K+F projekt hasznosította. Például a második téziscsoport eredményei alapján több nyílt forráskódú keretrendszert alkottam, melynek segítségével eddig 59 tudományos alkalmazást adaptál- tak DG/VC rendszerekre szerte a világon. Valamint az általam alkotott algoritmusokhoz és módszerekhez tartozó implementációk valós körülmények között futnak, illetve nyílt forráskódú rendszerek (pl.: BOINC) részét képezik. Statement of authorship Declaration I, Attila Csaba Marosi, confirm that this doctoral thesis has been written solely by myself, and I have used only those sources that have been explicitly identified. Every part that has been adopted from external sources, either quoted or rephrased, has been unequivocally referenced, with proper attribution to the source. Budapest, October 5, 2016 Nyilatkozat1 Alulírott Marosi Attila Csaba kijelentem, hogy ezt a doktori értekezést magam készítettem, és abban csak a megadott forrásokat használtam fel. Minden olyan részt, amelyet szó szerint, vagy azonos tartalomban, de átfogalmazva más forrásból átvettem, egyértelműen, a forrás megadásával megjelöltem. Budapest, 2016. október 5. Marosi Attila Csaba 1A bírálatok és a védésről készült jegyzőkönyv a későbbiekben a Dékáni Hivatalban elérhetőek. Köszönetnyilvánítás Számos embernek tartozom hálával e dolgozat létrejöttéért, néhányat szeretnék közülük kiemelni. Mindenekelőtt a családomat, akik mindvégig támogattak és mellettem álltak. Köszönöm szüleimnek, Gabinak és fiamnak, Ádámnak, a tőlük kapott szeretetet, a végtelen türelmet és kitartást mialatt eme hosszú, és többször rögös út végére próbáltam eljutni. Hálás vagyok Kacsuk Péternek, aki megteremtette az anyagi és emberi feltételeket a kutatásomhoz. Szintén köszönettel tartozom az Automatizálási és Alkalmazott Informatikai Tan- széknek, különösen Charaf Hassannak, Vajk Istvánnak és Juhász Sándornak. Köszönet a MTA Számítástechnikai és Automatizálási Kutatóintézetének, és munkatársaimnak az ottani Párhuzamos és Elosztott Rendszerek Laboratóri- umában: Németh Zsoltnak, az ASM modellezés kapcsan nyújtott felbecsülhetetlen segítségéért, valamint a disszertációm újabb és újabb változatainak rendületlen véleményezéséért; Kovács Józsefnek és Kecskeméti Gábornak a tőlük kapott tanác- sokért és véleményezésekért; valamint Lovas Róbertnek a támogatásáért. Nélkülük nem készülhetett volna el ez a dolgozat. Contents 1 Introduction1 1.1 Motivation and goal of this thesis.......................1 1.2 Structure....................................2 2 Formal models for desktop grids and volunteer computing5 2.1 Characterization of desktop grids and volunteer computing.........6 2.1.1 Related work.............................. 10 2.2 Modelling desktop grids............................ 12 2.2.1 Assumptions.............................. 12 2.2.2 Universes and signatures........................ 14 2.2.3 Initial state............................... 18 2.2.4 Functionalities............................. 19 2.2.5 Job phase transition rules....................... 21 2.2.6 Correspondence of MGRID and MGROUND−DG ........... 25 2.2.6.1 Equivalence of user mapping service in MGRID and MGROUND−DG ........................ 25 2.2.6.2 Equivalence of resource mapping service in MGRID and MGROUND−DG ........................ 25 2.2.7 Definition for Desktop Grid...................... 26 2.2.7.1 Discussion of existing middleware............. 27 2.3 Modelling volunteer computing........................ 29 2.3.1 Assumptions.............................. 30 2.3.2 MVC−V OT E: model for voting based result certification....... 32 2.3.2.1 Universes and signatures.................. 32 2.3.2.2 Initial state.......................... 35 2.3.2.3 Functionalities........................ 36 2.3.2.4 Job phase transition rules.................. 39 2.3.3 Correspondence