Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
UNIVERSITATEA BABE�-BOLYAI, CLUJ-NAPOCA, ROMÂNIA
Facultatea de �tiinµe Economice ³i Gestiunea Afacerilor
Departamentul de Informatic Economic
Utilizarea resurselor de calcul distribuite pentru o
execuµie e�cient a aplicaµiilor de business
complexe
Rezumat tez de doctorat
Coordonator ³tiinµi�c:Prof. univ. dr. Nicolae Tomai
Doctorand:Gabriela Andreea Morar
Specialitatea: Cibernetic ³i Statistic
2012
Cuvinte cheie român
Cuvinte cheie: sisteme distribuite, cloud computing, performant, , work�ow,
Hadoop, domeniu de negociere, negociere de resurse
1
Cuprins
Cuprins
1 Introducere
1.1 Motivat,ia cercet rii
1.2 Obiectivele cercet rii
1.3 Structura tezei
I Noµiuni teoretice legate de programarea paralel ³isistemele distribuite
2 Viziune de ansamblu asupra calculului paralel
2.1 Calculul paralel - Trecut s,i o scurt istorie.
2.2 De ce sunt necesare sitemele paralele s,i calculul paralel?
2.3 De ce sunt necesare programele paralele?
2.3.1 Diversele nivele de paralelism existente.
2.3.2 Pas,i necesari în construirea unui program paralel
2.4 Arhitectura von Neumann
2.5 Hardware-ul paralel
2.5.1 SISD - o singur instructiune, o singur data
2.5.2 SIMD - o singur instructiune, mai multe date
2.5.3 MISD - mai multe instruct,iuni, o singur dat
2.5.4 MIMD -mai multe instruct,iuni, mai multe date
2.6 Legaturi existente între calculul concurent, paralel s,i cel distribuit
2.6.1 Evaluarea performant,ei paraleliz rii
2.6.2 Calcularea speedup-ului s,i a e�cient
,ei
i
CUPRINS
2.6.3 Legea lui Amdahl
2.6.4 Evaluarea scalabilit t,ii unui program
2.6.5 M surarea timpilor
2.7 Concluzii
3 Viziune de ansamblu asupra sistemeleor distribuite
3.1 De�nit,ia sistemelor distribuite
3.1.1 Principalele t,eluri ale sistemelor distribuite
3.1.2 Dezavantajele sistemelor distribuite
3.1.3 Avantajele s,i dezavantajele sistemelor distribuite în com-
paratie cu sistemele centralizate
3.1.4 Avantajele s,i dezavantajele medilor de procesare distribuite
asupra aplicat,iilor de sine st t toare
3.2 Tipurile de sisteme distribuite
3.2.1 Sisteme de calcul distribuite
3.2.2 Sisteme informationale distribuite
3.2.3 Sisteme pervasive distribuite
3.2.4 Tipuri de sisteme de calcul distribuite
3.2.4.1 De�nit,ia clusterelor
3.2.4.2 De�nit,ia grid-ului
3.2.4.3 De�nit,ia cloud computing
3.2.4.3.1 Caracteristicile cloud computing
3.2.4.3.2 Tehnologiile ce au adus la aparit,ia cloud
computing
3.2.4.4 Avantajele s,i dezavantajele cloud computing
3.2.4.5 Tipuri de cloud computing
3.2.4.5.1 Cloud privat
3.2.4.5.2 Cloud pulic
3.2.4.5.3 Cloud hibrid
3.2.4.5.4 Cloud federalizat
3.2.4.5.5 Cloud comunitar
3.2.4.6 Modelele de business ale cloud computing
3.2.4.6.1 Infrastructure-as-a-Service
ii
CUPRINS
3.2.4.6.2 Platform-as-a-Service
3.2.4.6.3 Software-as-a-Service
3.2.5 Comparat,ia cluster, grid s
,i cloud computing
3.3 Concluzii
II Mijloace existente pentru paralelizarea aplicaµiilor,tehnologiile ³i arhitecturile folosite
4 Metode existente pentru paralelizarea aplicat,iilor
4.1 Metode de utilizare a sistemelor distribuite pentru a rula aplicat,ii
paralele
4.2 Folosirea �uxurilor de lucru ca s,i metoda de paralelizare a aplicat
,iilor
4.2.1 De�nit,ia �uxurilor de lucru
4.2.2 Ciclul de viat, al �uxurilor de lucru
4.2.3 Avantajele s,i limit rile �uxurilor de lucru
4.2.3.1 Avantajele �uxurilor de lucru
4.2.3.2 Limit rile frluxurilor de lucru
4.2.4 Tipuri de �uxuri de lucru s,i componentele acestora
4.2.4.1 Tipuri de �uxuri de lucru
4.2.4.2 Componente de modelare ale �uxurilor de lucru
4.2.4.3 S,abloane de �uxuri de lucru
4.2.5 Ce sunt Sistemele de Management ale Fluxurilor de Lucru
4.2.6 Cerint,ele Sistemelor de Management ale Fluxurilor de Lu-
cru
4.2.6.1 Cerint,ele utilizatorilor pentru frluxurile de lucru
s,tiint
,i�ce
4.3 Folosirea MapReduce pentru procesarea datelor în mod paralel
4.3.1 Ce este MapReduce s,i cum funct
,ioneaz ?
4.3.1.1 Cum funct,ioneaz un job MapReduce?
4.4 Concluzii
5 Tehnologii s,i platforme folosite
5.1 Askalon mediu de dezvoltare a aplicat,iilor de tip grid
iii
CUPRINS
5.2 Implementarea MapReduce de c tre Hadoop
5.2.1 Ce este Hadoop?
5.2.2 Componentele Hadoop
5.2.2.1 MapReduce
5.3 Topologia infrastructurii Hadoop
5.4 Avantajele s,i dezavantajele Hadoop
5.5 Platforma Eucalyptus pentru cloud privat
5.5.1 Componentele Eucalyptus
5.5.1.1 Node Controller
5.5.1.2 Cluster Controller
5.5.1.3 Storage Service (Walrus)
5.5.1.4 Cloud Controller
5.5.1.5 Modurile ret,ea ale Eucalyptus
5.5.2 De ce s folosim Eucalyptus?
5.5.3 Cum s accesam sistemul
5.6 Concluzii
III Aplicaµii practice ³i studii de caz
6 Studii de caz ale �uxurilor de date
6.1 Fluxurile de date rulate folosind Askalon
6.1.1 Fluxul de date eBay
6.1.1.1 Descrierea Crawler-ului eBay
6.1.1.2 Pregatirea aplicat,iei pentru �uxul de date
6.1.1.3 Fluxul de date eBay
6.1.1.4 Reprezentarea în XML a �uxului de date eBay
6.1.1.5 Experimente s,i rezultatele obt
,inute pentru �uxul
de date eBay
6.1.1.6 Concluzii legate de �uxul de date eBay
6.1.2 Fluxul de date (meteorologic) RainCloud
6.1.2.1 Aplicat,ia meteorologic RainCloud bazat pe un
model liniar
6.1.2.2 Fluxul de date RainCloud
iv
CUPRINS
6.1.2.3 Modelarea gra�c a �uxului de date RainCloud
6.1.2.4 Reprezentarea în XML a �uxului de date Rain-
Cloud
6.1.2.5 Aromele �uxului de date RainCloud
6.1.2.6 Experimentele s,i rezultatele obt
,inute pentru �uxul
de date RainCloud
6.1.2.7 Concluzii legate de �uxul de date RainCloud
6.2 Concluzii
7 Folosirea Hadoop pentru optimizarea timpilor de executie ai
procesarii datelor provenite de la Twitter
7.1 Principalele metode de îmbun t t,ire a performant
,ei Hadoop
7.2 Rularea Mahout pe Hadoop, pentru procesarea unor cantit t,i mari
de date
7.3 Con�gurat,ia clusterului Hadoop
7.4 Testarea performant,ei clusterului cu valori de refrint
, (benchmarks)
7.5 Setul de date de intrare Twitter
7.6 Experimentele rulate
7.6.1 Preprocesarea datelor de intrare
7.6.2 Algoritmul K-means
7.7 Experimentele rulate pentru a testa performant,a Hadoop
7.8 Rezultatele obt,inute
7.9 Concluzii
8 Negoicerea resurselor de tip cloud cu ajutorul agent,ilor
8.1 Viziune de ansamblu asupra folosirii agent,ilor inteligent
,i pentru
negocierea resurselor de tip cloud
8.2 Not,iuni legate de negocierea SLA-urilor
8.3 Componentele scenariului de negociere
8.3.1 Protocoalele de negociere folosite
8.3.2 Domeniul de negociere CloudDomain
8.3.3 Agent,ii inteligent
,i folosit
,i pentru negociere
8.3.3.1 Agentul Q-learning
v
CUPRINS
8.3.3.2 Agentul cu învat,are Bayesian
8.3.3.3 Agentul Q-learning simplu s,i agentul Bayesian sim-
plu
8.4 Experimente rulate s,i rezultatele obt
,inute pentru negocierea resurselor
de tip cloud cu ajutorul agent,ilor
8.5 Concluzii
9 Concluzii
9.1 Contribut,ii
9.2 Stagiu de mobilitate
9.3 Diseminarea rezultatelor
9.4 Direc?ii ulterioare de cercetare
List de �guri
List de tabele
Bibliogra�e
vi
Cuprins
Cuprins i
1 Motivat,ia cercet rii . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2 Obiectivele cercet rii . . . . . . . . . . . . . . . . . . . . . . . . . 7
3 Structura tezei . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
4 Contribut,ii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
5 Stagiu de mobilitate . . . . . . . . . . . . . . . . . . . . . . . . . 24
6 Diseminarea rezultatelor . . . . . . . . . . . . . . . . . . . . . . . 25
7 Direct,ii ulterioare de cercetare . . . . . . . . . . . . . . . . . . . . 27
List de �guri 29
Bibliogra�e 30
i
Abstract
În ultimele decenii num rul oamenilor de s,tiint
, s
,i al companiilor ce
se bazeaz pe sisteme de calcul distribuite pentru a r mâne competi-
tivi pe piat, a crescut semni�cativ. Deoarece costurile oper rii unor
super-computere proprii este crescut, nu toate companiile sau grupu-
rile de cercetare îs,i permit costurile generate de achizit
,ia infrastructu-
rii necesare rul rii propriilor aplicat,ii sau experimente. Astefel aces
,tia
trebuie s apeleze la resurse provenite din surse externe. La început
clusterele si grid-urile au fost cele care au atras atent,ia mediului aca-
demic s,i al celui economic, îns acestea aveau anumite limit ri. Noul
ap rut cloud computing le promite acestora toate resursele necesare,
în orice moment pe baza unui model de tipul pl tes,te doar atât cât
consumi. Astfel dorindu-se accesarea acestuia ca s,i o simpla utilitate
precum: apa, electricitate, etc. Îns , a avea infrastructura necesar
la îndemân nu este un lucru su�cient în cazul tuturor, deaorece unii
ditre ei nu det,in mijloacele sau cunos
,tiint
,ele necesare pentru a pro�ta
de avantajele noilor tehnologii.
În aceast lucrare ne propunem s ar t m modul în care sitemele dis-
tribuite pot � folosite în mod e�cient atât de mediul economic cât
s,i de c tre cel academic cu scopul de a cres
,te performant
,a proprii-
lor aplicat,ii s
,i de as
,i reduce costurile de execut
,ie. În acest sens vom
prezenta dou paradigme ce îi pot ajuta pe utilizatorii ce nu dis-
pun de cunos,tiint
,e avansate de programare paralel s îs
,i paralelizeze
aplicat,iile: �uxuri de lucru(work�ows)s
,i MapReduce [9].
De asemenea vom prezenta s,i dou studii de caz constând în creare a
dou �uxuri de lucru bazate pe aplicat,ii reale s
,i testarea performant
,ei
acestora în cazul rul rii lor pe resurse de tip cloud. Având în vedere
faptul c �uxurile de lucru nu reprezint solut,ia ideal în cazul tu-
turor utilizatorilor, am realizat s,i un studiu privind e�cient
,a folosirii
paradigmei MapReduce. Aceasta le permite utilizatorilor s proce-
seze cantit t,i mari de date în mod distribuit. În cazul de fat
,a ne-am
îndreptat atent,ia asupra implement rii oferite de c tre Hadoop [15]
pentru aceast paradigm s,i am testat perfomant
,a acestei implemen-
t ri atunci când vine vorba de rularea unor algoritmi de clusterizare
pe date obt,inute de la Twitter. Ne-am dorit s test m cum evolueaz
performant,a oferit de Hadoop în cazul folosirii unor medii diferite de
stocare a datelor (solid state disk sau hard disk) s,i prin varierea valori-
lor anumitor parametri ce pot � setat,i de c tre utilizator în momentul
în care îs,i con�gur clusterele de tip Hadoop.
Dup evaluarea performant,ei aplicat
,iilor ce ruleaz pe resurse distri-
buite de tip cloud, am identi�cat necesitatea cre rii unui mecanism
de select,ionare a resurselor dorite din cadrul unei variet t
,i de resurse
existente, îns f r a dep s,i anumite costuri. Acest lucru trebuia
realizat în as,a manier încât s �e aleas varianta ce i se potries
,te
cel mai bine unui utilizator. Astfel, ne-a venit idea folosirii agent,ilor
inteligent,i. În acest sens am implementat un domeniu de negociere
specializat, bazat pe caracteristicile resurselor cloud de tip IaaS (In-
frastructura ca s,i un Serviciu). Am luat în considerare un scenariu
bazat pe un federated cloud academic, costând în colect,ie de cloud-uri
private apart,inând unor diverse institut
,ii academice.
În acest sens am creat un mechanism, care pe baza datelor oferite de
c tre cloud controller-ele acestor cloud-uri private, sa genereze într-un
mod semi-automat pro�le de negociere. Generarea semi-automat a
acestor pro�le de negociere poate � considerat un prim pas în intent,ia
nostr de a ajunge la punctul în care s facem posibil aprovisiona-
rea la timp a aplicat,iilor cu resurse de tip cloud. Integrarea acestui
mecanism în cadrul unei platforme reale face parte din dezvolt rile
ulterioare.
Cuvinte cheie: sisteme distribuite, cloud computing, performant, ,
work�ow, Hadoop, domeniu de negociere, negociere de resurse
Documentul de fat, cont
,ine un scurt rezumat al tezei de doctorat având titlul:
"Utilizarea resurselor de calcul distribuite pentru o execut,ie e�cient a aplicat
,iilor
de business complexe". Acest rezumat este menit s ofere o viziune de ansamblu
asupra principalelor realiz ri obt,inute pe perioada studiilor doctorale.
1 Motivat, ia cercet rii
Îm zilele noastre a r mâne competitive pe piat, este una din principalele probleme
cu care au de a face companiile. În anumite situat,ii acest lucru poate însemna
reducerea costurilor s,i cheltuielilor generate de procesare unor cantit t
,i mari de
date.
Nu doar mediul de product,ie ci s
,i oamenii de s
,tiint
, se confrunt cu probleme
similare. Aces,tia trebuie sa optimizeze timpul de execut
,ie s
,i costurile generate
de experimentele s,i simul rile lor, deoarece au de a face, mai mereu, cu bugete
limitate s,i termene limit .
În decursul ultimelor decenii, progresul înregistrat de c tre tehnologia de cal-
cul a contribuit semni�cativ la accelerarea progresului s,tiint
,i�c prin reducerea
timpului de execut,ie al aplicat
,iilor s
,tiint
,i�ce s
,i de afaceri [17]. Anumite domenii
de cercetare necesit o putere de calcul ridicat pentru a rula anumite experi-
mente s,i pentru a valida anumite ipoteze de cercetare. Astfel, oamenii de s
,tiint
,
trebuie s poat refolosi anumite programe software s,i s poat varia cu us
,urint
,
parametrii de start sau ipotezele pe care se bazeaz experimentele lor.
În cazul rul rii experimentelor s,tiint
,i�ce putem identi�ca dou probleme prin-
cipale ce ar putea genera un es,ec:
• lipsa unor idei s,tiinti�ce corecte sau neidenti�carea experimentelor potrivite
pentru validarea acestor idei.
• incapacitatea de a implementa aceste idei s,tiinti�ce astfel încât s faciliteze
execut,ia experimentelor.
Nu tot,i oamenii de s
,tiint
, det
,in aptitudinile necesare implement rii unor
aplicat,ii ce trebuie s reuneasc unelte software-uri ce apart
,in unor domenii di-
verse: unelte de analiz a datelor, unelte speci�ce unui anumit domeniu, etc.
1. Rezumatul Tezei
Acest lucru este s,i mai di�cil în momentul în care trebuie s t
,inem cont de re-
surse limitate, precum timpul s,i costurile �nanciare.
În ultimii ani s,i-au f cut aparit
,ia câteva tehnologi menite s le dea oemenilor
de s,tiint
, o mân de ajutor în ceea ce prives
,te maximizarea folosirii resurselor de
calcul pe care le det,in. În primul rând t
,inem s ment
,ion m paradigma �uxurilor
de lucru s,i multitudinea de Sisteme de Management a Fluxurilor de Lucru ce au
fost implementate cu scopul de a us,ura maparea execut
,iei aplicat
,iilor s
,tiint
,i�ce
complexe pe resurse distribuite. Aceast solut,ie se potrives
,te în mod special
aplicat,iilor ce necesit o putere de calcul ridicat pentru as
,i încheia execut
,ia într-
o limit de timp rezonabil . În al doilea rând dezbatem tehnica MapReduce
folosit pentru îmbun t t,irea timpilor de execut
,i pentru aplicat
,iile ce proceseaz
cantit t,i mari de date. Dintre toate inmplement rile MapReduce existente pe
piat, ne-am îndreptat atent
,ia asupra variantei oferite de c tre proiectul Hadoop.
Des,i sistemele ditribuite apar ca s
,i o solut
,ie evident atunci când vine vorba
de imbun t t,irea timpilor de execut
,ie a aplicat
,iilor, acestea nu sunt us
,or de ges-
tionat s,i implementarea unor aplicat
,ii care s ruleze pe ele este o provocare.
Complexitatea s,i eterogenitatea acestor sisteme poate duce la aparit
,ia unei serii
de probleme. În cadrul acestor sisteme es,ecuri pot ap rea în orice moment, în
special atunci când acestea sunt compuse dintr-un num r mare de resurse ete-
rogene legate între ele. Câteva posibile solut,ii pentru a evita astfel de situat
,ii
ar pute �: replicarea datelor în cazul aplicat,iilor ce proceseaz cantit t
,i mari de
date sau retrimiterea proceselor de prelucrat (job-urilor) în cazul aparit,iei unor
es,ecuri în execut
,ia unora dintre ele.
Exist trei tipuri de sisteme distribuite care au atras atent,ia cercet torilor s
,i
a oamenilor din industrie: clustere, grid-uri s,i cloud computing.
Grid-ul este o form de sistem de calcul distribuit care este compus din cal-
culatoare legate între ele care apar utilizatorului �nal ca un supercomputer. Un
grid este compus din mas,ini de calcul eterogene care îs
,i ofer resursele de calcul
publicului larg sub forma unor organizat,ii virtuale (VOs) 1[14].
Recent, comunitatea s,tiint
,i�c a manifestat un interes crescut in leg tur
cu Arhitecturile Orinetate pe Servicii (SOA) s,i virtualizarea. Pe baza acestor
1�Organizat,iile virtuale sunt de�nite ca un set de idivizi, institut
,ii menite s împ rt s
,easc
resurse pe baza unui set de reguli�
5
1. Rezumatul Tezei
tehnologi a luat nas,tere un nou tip de sistem distribuit: cloud computing.
Cloud computing a ap rut ca o alternativ la tipurile de sisteme distribuite
deja existente s,i încerc s solus
,ioneze problemele de cost prin folosirea uni mo-
del de taxare de tipul pay-as-you-go (pl tes,te atâta cât consumi) s
,i prin punerea
la dispozit,ia utilizatorilor a unor resurse elastice ce pot � accesate de oriunde,
prin intermediul Internetului, f r a necesita rezerv ri anterioare. În ultima de-
cad , o multitudine de companii au ales s îs,i ofere resulsele proprii, hardware
sau software, folosind paradigma de tipul everything-as-a-service (totul ca s,i un
serviciu).
Costurile generate de crearea unor supercomputere proprii sunt considerabile,
iar accesarea unor infrastructuri deja existente, precum grid-urile, necesit mult
timp, cunos,tiint
,e de specilaitate, permisiunea de acces din partea det
,in torilor
acestor resurse, plani�carea s,i rezervarea lor in avans, etc. Datorita �exibilit t
,ii
cloud computing s-a bucurat de un interes crescut din parte mediului academic s,i a
celui de afaceri, în timp ce grid-urile sunt folosite în special în mediul academic ca
s,i medii de mari dimensiuni pentru stocarea informat
,iilor sau procesarea acestora.
Num rul furnizorilor de resurse de tip cloud existent,i pe piat
, este intr-o
continu cres,tere, astfel apare necesitatea folosirii unor sisteme de management
automatic a resurselor de tip cloud. Scopul acestra este de a înpune regulile legate
de cererea s,i oferta resurselor de tip cloud [33]. Livrarea serviciilor de tip cloud
computing necesit ca anumit,i parametri legat
,i de caliatetea serviciilor (QoS) s
� respectat,i astfel încât utilizatorii s ît
,i poate atinge obiectivele s
,i s îs
,i execute
opert,iunile în cele mai bune condit
,ii. În acest context, un sitem de management
al resurselor bazat pe SLA-uri (Service Level Agreement) este necesar pentru a
negocia interact,iunea dintre participant
,ii la tranzact
,ii pe piat
,a resurselor de tip
cloud computing.
Cercetarea de fat,a îs
,i propune s investigheze problema aprovision rii cu re-
surse de tip cloud în contextul unor medii de tip federated cloud s,i t
,inând cont
de anumit,i QoS. Ne propunem s cercet m modul în care poate � solut
,ionat
problema negocieri resurselor în cadrul unei piet,e concurent
,iale prin folosirea
agent,ilor inteligent
,i.
6
1. Rezumatul Tezei
2 Obiectivele cercet rii
În cadrul acestei lucr ri ne propunem s studiem modul în care resursele de calcul,
oferite de c tre sistemele de calcul distribuite, pot s îmbun t t,easc performant
,
în execut,ie a diverselor tipuri de aplicat
,ii, totodat reducând s
,i costurile. Având în
minte acest t,el am studiat tipurile de sisteme distribuite existente, am comparat
potrivirea acestora pentru rularea aplicat,iilor complexe s
,i am estimat costurile
generate de c tre utilizarea lor. Pornind de la acest scenariu init,ial au ap rut
câteva întreb ri:
• Care este cel mai potrivit tip de resurs de caltul distribuit pentru o rularea
unei anumite aplicat,ii?
• Care este cel mai bun mod în care un utilizator obis,nuit poate pro�ta la
maxim de aceste resurse?
• Cum in�ent,eaz caracteristicile tehnice a acestor resurese (num rul de co-
ruri, memorie, hard disk, etc.) performant,a aplicat
,iilor rulate pe ele?
• Cum s alegi cea mai bun opt,iune pentru a rula o aplicat
,ie atunci când
mai mult,i furnizori de resurse de calcul sunt diponibili s
,i totodat tinând
cont de limit rile de buget existente?
Acestea sunt principalele întreb ri la care lucraea de fat, încerc sa dea un
r spuns. În primul rând prin investigarea caracteristicilor programelor paralele,
iar apoi prin identi�carea principalele metode de paralelizare a palicat,iilor f r a
avea îns nevoi de aptitudini specile de programare paralel . În plus vom evalua
modul în care poate � îmbun t t,it performant
,a execut
,iei aplicat
,iilor s
,i cum
pot � reduse costurile execut,iei acestora prin utilizarea sistemelor distribuite. În
�nal vom propune un mecanism care s îi ajute pe utilizatori s obt,in resursele
necesare atunci când au posibilitatea de a alege între mai mult,i furnizori de
resurse.
3 Structura tezei
Structura tezei reiese din �gura 1:
7
1. Rezumatul Tezei
Partea 1: Noțiuni teoretice legate de programarea paralelă și sistemele distribuite
Partea 2: Mijloace existente pentru paralelizarea aplicațiilor, tehnologiile și arhitecturile folosite
Partea 3: Aplicații practice și studii de caz
Capitolul 2: Privire de ansamblu asupra calculului paralel
Capitolul 3: Privire de ansamblu asupra sistemelor distribuite
Capitolul 4: Mijloace pentru paralelizarea aplicațiilor
Capitolul 5: Tehnologiile si arhitecturile folosite
Capitolul 6: Studii de caz pentru workflow-uri
Capitolul 7: Folosirea Hadoop pentru optimizarea timpilor de executie a procesării datelor provenite de la Twitter
Capitolul 8: Negocierea resurselor de tip cloud folosind agenți inteligenți
Capitolul 1: Introducere
Capitolul 9: Concluzii
Figura 1: Structura tezei.
8
1. Rezumatul Tezei
Partea I - Not,iuni teoretice legate de programarea paralel s
,i sis-
temele distribuite � este compus din Capitolul 2 s,i Capirolul 3 s
,i are rolul
de a oferi o viziune de ansamblu asupra calculului paralel s,i a sistemelor distri-
buite, precum s,i de a motiva necesitatea utiliz rii acestora atunci când trebuie
îmbun t t,it perfomant
,a aplicat
,iilor.
Capitolul 2: Privire de ansamblu asupra calculului paralel � ofer
detalii legate de aparit,ia calculuilui paralel, motiveaz necesitatea aparit
,ia ace-
tuia, prezint principalel nivele de paralelism existente în cadrul unei aplicat,ii,
enumer principalele tipuri de paralelism la nivel hardware ce au fost create be
baza arhitecturii Von Neumann. Acest capitol ofer de asemenea s,i o perspec-
tiv asupra mijloacelor folosite pentru evaluarea performant,ei paraleliz rii unei
aplicat,ii (speedup, e�cient
, , legea lui Amdahl).
În [28] sunt prezentate pricipalel motive ce au dus la aparit,ia calculului para-
lel. Autorul apreciaz faptul c aparit,ia calcului parallel s-a datorat în ptincipal
nevoii continue de a cres,te performant
,a aplicat
,iiolor. Avansarea cercet rilor în
domenii precum: modelarea climateric , descoperirea de noi medicamente, cer-
cet ri energetice, nevoia unor c ut ri web cît mai rapide s,i redarea imaginilor la
o calitate cît mai înalt a dus la necesitatea cres,terii performant
,ei aplicat
,iilor.
Acest lucru putea � realizat doar prin folosirea sistemelor paralele s,i a calculului
paralel.
Cres,terea performant
,elor unui singur procesor a constat în cres
,terea num ru-
lui tranzistorilor de pe circuitele integrate. Pentru a putea obt,ine performant
,e mai
ridicate în cadrul aceleas,i componente dimensiunea tranzistorilor a fost sc zut
iar viteza lor de procesare a crescut. Îns acest lucru a dus la cres,terea c ldurii
generate de aceste componente. Conform [16] în prima decad a secolului 21
circuitele r cite pe baz de aer s-au apropiat simtitor de limita lor superioar în
ceea ce prives,te capacitatea de disipare a c ldurii.
Conform [4] un alt motiv ce a dus la aparit,ia sistemelor paralele este faptul
c exist un nivel minim al voltajului necesar pentru a rula un microprocesor
la frecvent,a dorit . Acest voltaj este proport
,ional cu frecvent
,a. Astfel cres
,terea
vitezei de procesare cu o anuimt cantitate duce la cres,terea energiei consumate
la o valoare egal cu viteza respectiv la puterea a treia.
Software-urile s,i hardware-ulrile paralele au evoluat pe baza software-urilor
9
1. Rezumatul Tezei
s,i hardware-urilor seriale. În 1966 Michael Flynn [13] a propus o clasi�care a
arhitecturilor de calcul bazat pe num rul de intruct,inui s
,i streamuri de date ce
puteau � rulate în mod concurent: SISD (O singur instruct,iune, o singur dat ),
SIMD (o singur instruct,ine, mai multe date), MISD (mai multe instruct
,iuni, o
sigura dat ) s,i MIMD (mai multe instructt
,iuni, mai multe date).
Atunci când este necesar evaluarea performant,ei atinse de c tre o aplicat
,ie în
urma paraleliz rii ei exist câteva metode ce pot � de mare ajutor în acest sens.
În general pentru a face o evaluare obiectiv a performant,ei se folosec mai multe
astfel de metode simultan. Câteva dintre aceste medote sunt prezentate în [28].
Atunci când dorim s pareleliz m o aplicat,ie pentru a obt
,ine timpi de execut
,ie
mai scurt,i trebuie s încerc m s împart
,im în mod echitabil munca între core-
urile disponibile. Dac reus,im s facem acest lucru s
,i rul m programul nostru
pe p core-uri, rulând un singur �r de execut,ie pe core, atunci programul nostru
ar trebui s ruleze , în teorie, de p ori mai repede decât programul serial. Dac
consider m Tserial ca �ind timpul necesar pentru ca aplicat,ia s ruleze în mod
serial s,i Tparalel ca �ind timpul necesar unei execut
,ii paralele, atunci putem spune
c aplicat,ia poate atinge un speedup de:
S =Tserial
Tparallel
, (1)
În anii 60, Amdahl [3] a f cut o observat,ie privind speedup-ul maxim ce
poate � atins de c tre o aplicat,ie, oservat
,ie ce este cunoscut în zilele noatre sub
denumirea de legea lui Amdahl. Conform acesteia dac un program nu poate �
paralelizat în totalitate speedup-ul maxim ce poate � atins, indiferent de num rul
de core-uri folosite, este limitat.
Putem spune despre o anumit tehnoloige c este scalabil dac poate rula
cu perfomat,e similare pentru diverse m rimi ale problemei. În cazul programelor
paralele scalabilitatea se refer la ment,inerea aceluias
,i nivel de e�cient
,a prin
varierea numnarului de procese/�re de execut,ie s
,i a dimensiunii problemei.
Acestea sunt doar câteva din mijloacele prin care poate � evaluat performant,a
atins prin paralelizarea unei aplicat,ii.
Capitolul 3: Privire de ansamblu asupra sistemelor distribuite� acest
capitol ofer o viziune de ansamblu cu privire la diversele tipuri de sistemele
10
1. Rezumatul Tezei
distribuite (cluster, grid, cloud), prezint avantajele s,i dezavantajele acestora s
,i
insist asupra tehnologiei cloud computing. Sunt prezentate modelel de business
ale cloud computing, avantajele s,i dezavantajele acestuia, precum s
,i o comparat
,ie
între principalel tipuri de sisteme distribuite.
În cartea lor despre sitemele distribuite [35] Tanenbaum s,i Steen de�nesc un
astfel de sistem dup cum urmeaz :
Un sistem distribuit este o colect,ie de calculatoare independente ce-i
apar utilizatorului sistemului ca �ind un singur calculator.
Acest tip de sisteme cont,in un num r variabil de calculatoare independente ce
coopereaz între ele, prin intermediul unei ret,ele de comunicat
,ii, pentru a atinge
un obiectiv speci�c.
În continuare vom prezenta de�nit,iile principalelor tipuri de siteme distribuite:
Un cluster este un tip de sistem paralel s,i distribuit ce consist dintr-
o colect,ie de calculatoate de sine st tatoate, iterconectate ce lucreaz
împreun ca s,i o singur resurs computat
,ional integrat . dup [6]
s,i [29]
Un grid este un tip de sistem paralel si distribuit ce face posibil par-
tajarea, select,ionarea s
,i agregarea, în mometul execut
,iei, a unor re-
surse de calcul autonome distribuite din punct de vedere geogra�c, în
funct,ie de disponibilitatea acestora, de capacit t
,ile pe care le det
,in, de
perfomant, , de costuri s
,i de cererile de calitate a serviciilor f cute de
c tre utilizatori. dup [6] s,i [29]
Una ditre viziunile secolului 21 asupa calculuilui informatic este ca utilizatori s
acceseze servicii pe Internet de oriunde pe baza unui model de taxare de tipul
pl tes,ti doar atât cât consumi. În [7] cloud computing este v zut ca s
,i cea de-a
cincia utilitate (dup ap , electricitate, gaz s,i telefonie). Acest nou tip de utiliate
ar trebui s le ofere utilizatorilor un nivel de baz al serviciilor de calcul, nivel
su�cient pentru a r spunde nevoilor zilnice ale comunit t,ii generale. Un num r
de paradigme computat,ionale au fost propuse în acest sens, cea mai nou �ind
cloud computing. Câteva din caracteristicile de baz a cloud computing sunt:
11
1. Rezumatul Tezei
• pl tes,ti doar atât cît consumi
• elasticitate resurselor, fatul c acestea îi apar utilizatorului ca �ind in�nite
• resursele sunt abstractizate sau virtualizate
• resursele sunt disponibile la cerere pe baz de self-service
Majoritatea lucr rilor în domeniu [22], [37], [1], [25], [8] vorbesc despre principale
tipuri de modele business ale cloud-ului:
• Infrastructure-as-a-Service � acest model pune la dispozit,ia utilizatoriol
o infrastructur virtualizat de resurse de calcul sau de stocare a datelor.
• Platform-as-a-Service � sistemele de tip cloud pot furniza s,i platforme
de tip software pe care anumite sisteme s ruleze.
• Software-as-a-Service � de asemenea sistemele cloud pot oferi s,i servicii
ce sunt de interes pentru o varietate mare de utilizatori. Aceasta este o
alternativ la rularea local a aplicat,iilor.
Partea II - Mijloace existente pentru paralelizarea aplicat,iilor, teh-
nologiile s,i arhitecturile folosite � acest parte este compus din Capitolul 4 s
,i
Capitolul 5 s,i descrie principalel metode de paralelizare a aplicat
,iilor existente pe
piat,a (�uxurile de lucru s
,i paradigma MapReduce). De asemenea ofer o vedere
de ansamblu asupra principalelor tehnologii s,i platforme ce au fost întebuint
,ate
în partea de aplicat,ii practice: platforma Askalon folosit pentru dezvoltarea s
,i
rularea aplicat,t,ilor de tip cloud s
,i grid; Hadoop, o implementare în Java a para-
digmei MapReduce ce le permite utiliatorilor s proceseze cantit t,i mari de date
în paralel; Eucalyptus, o platform pentru construirea de sisteme de tip cloud
ce le ofer utilizatorilor posibilitatea cre rii proprilor lor infrastructuri pe baza
resurselor de calcul pe care le det,in deja.
Capitolul 4: Available Means for Parallelizing Applications � descrie
pricipalel tehnologii ce pot � folosite de c tre cercet torii ce nu dispun de apti-
tudini avansate de programare paralel pentru as,i paraleliza aplicat
,iile cu scopul
de a le reduce timpi de execut,ie s
,i totodat s
,i costurile.
12
1. Rezumatul Tezei
Conform [19] num rul articolelor s,tiint
,i�ce legate de mutiprocesoare a crescut
în mod constant din 2001 încoace. În [34] se apreciaz c urm toarea provo-
care în acest domeniu va � concurent,a. În zilele noaste produsele software sunt
in�uent,ate de dorint
,a utilizatorilor de a crea sisteme din ce în ce mai ample, care
s solut,ioneze probleme tot mai complexe s
,i care s pro�te de capacit t
,ile tot
mai crescute ale resurselor de calcul s,i de stocare a datelor.
O alt provocare cu care actualele s,i viitoarele software-uri vor trebui s se
confrunte este volumul tot mai crescut de date ce trebuie procesate, volum a
c rui dimensiune cres,te mai repede decît puterea de calcul. În [18] se estimeaz
c datele ce vor � generate de viitoarele experimente for � semni�cativ mai mari
ca s,i volum decît datele colectate pîn în acest moment de-a lugul istoriei umane.
Procesarea acestor date va necesita folosirea unei puteri de calcul s,i ret
,ele de
comunicat,ii mult mai mari decât cele disponibile pân cu put
,ini ani în urm .
Una dintre metodele existente pentru paralelizarea execut,iei aplicat
,iilor pe
resurse de calcul distribuite sunt �uxurile de lucru. În acest sect,iune vom ela-
bora asupa not,uni de work�ow�ux de lucru s
,i vom analiza modul în care acest
paradigm poate in�uemt,a execut
,ia aplicas
,iilor s
,tiint
,i�ce sau de business.
Un �ux de lucru s,tiint
,i�c este un proces de combinare a datelor s
,i
proceselor într-un set de pas,i structurat
,i s
,i copn�gurabili ce implemen-
teaz solut,ii computat
,ionale semi-automate pentru o problem s
,tiint
,i�c .
[2]
Un Sistem de Management a Fluxurilor de Lucru este de�nit ca �-
ind: Un sistem ce de�nes,te în mod complet, gestioneaz s
,i execut
�uxuri de lucru prin intermediul unor software-uri a c ror ordine de
execut,ie este determinat de o reprezentare computerizt a logicii unui
work�ow�ux de lucru. [20]
În anii 90, când �uxurile de lucru s,tiint
,i�ce au ap rut pentru prima oar , aces-
tea erau folosite în principal pentru solut,ionarea problemelor de virtualizare. Îns
de atunci a existat o evolut,ie semni�cativ în ceea ce prives
,te acest tip de tehno-
logie [36]. Câteva dintre aceste evolut,ii sunt de interes sporit pentru Sistemele de
Management a Fluxurilor de Lucru: platformele orientate pe componente, grid-
urile de date s,i cele computat
,ionale, arhitecturile orientate pe servicii s
,i serviciile
13
1. Rezumatul Tezei
web, organizat,iile virtuale, ret
,elel de tip peer-to-peer, virtualizarea s
,i aparit
,ia
cloud computing.
Astfel �uxurile de lucru s,tiint
,i�ce au evoluat pentru a putea satisface diverse
nevoi ale lumii s,tiint
,i�ce ducând la schimbarea complet a metodelor s
,tiint
,i�ce
folosite. Cu timpul acestea au devenit o prctic uzual având un impact semni-
�cativ asupra studiilor s,tiint
,i�ce.
O alta tehnologie folosit pentru paralelizarea aplicat,iilor MapReduce [9], care
a fost implementat pentru a simpli�ca procesarea unor seturi de date de mari
dimensiuni pe sisteme de calcul distribuite.
Aceast paradigma este compus din dou part,i: map s
,i reduce. Întregul set
de date de intrare este divizat in mai multe buc t,i ce vor � procesate în mod
individual în etapa de map. Funct,ia de tip map primes
,te ca s
,i intare o singur
instant,a de tip cheie/valoare. Outputul acestei etape este o colect
,ie de date sub
forma cheie/valaore ce au fost grupate dup valoarea cheii, colect,ie ce va � folosit
ca s,i intare pentru etapa reduce. Pe baza perechilor de tip cheie/valoare s
,i a unei
liste de valori oferite de etapa map, etapa reduce realizeaz anumite calcule asupra
castor perechi s,i returneaz tot o colect
,ie de date de tip cheie/valoare.
Capitolul 5: Tehnologiile si arhitecturile folosite � ofer o viziune de
ansablu asupra platformelor ce au fost folosite pentru a testa e�cient,a parale-
liz rii aplicat,iilor. Este prezentat platforma Askalon ce a fost folosit pentru
construirea �uxurilor de lucru din partea practic a tezei. Pentru procesarea
unor cantit s,i mari de date a fost aleas platforma Hadoop. Principalel resurse
de calcul ce au fost folosite în cadrul experimentelor rulate sunt cele de tip cloud
privat s,i au fost create folosind platforma Eucalyptus.
Askalon [11] este o platform bazat pe grid ce permite implementarea s,i
rularea de aplicat,ii de tip grid/cloud. Acest platform a fost extins pentru a
putea rula aplicat,ii s
,i pe resurse de tip cloud. În Askalon utilizatorul compune
un �ux de lucru pe baza unei aplicat,ii folosind un nivel înalt de abstractizare
folosindbazat un limbaj de tip XML, (AGWL). Astfel este ascuns fat, de utilizator
nivelul de resurse de tip grid/cloud. Implementarea �uxului de lucru de c tre
utilizator se face, în mare parte, în mod vizual pe baza unei interfet,e gra�ce.
Repezentarea AGWL a �uxului de lucru este folosit de c tre serviciile de tip
middleware pentru plani�carea execut,iei aplicat
,iei pe resurse distribuite.
14
1. Rezumatul Tezei
În 2004 Doug Cutting [27], un bine cunoscut dezvoltator de software-uri de
tip open source, s-a decis s implementeze algoritmul MapReduce creat anterior
de c tre Google. Acesta a denumit noul software Hadoop dup numele unui
elefant de plus,pe care îl avea �ul s u. Principalul scop al acestui software era
s proceseze (s copieze, s indexeze, etc.) cantit t,i mari de date. Hadoop are
dou componente principale: HDFS (sitemul distribuit de �s,iere al Hadoop) s
,i o
implementare a algoritmului MapReduce.
HDFS furnizeaz un mediu de stocare a datelor scalabil, cu tolerant, ridicat
la erori la un cost redus. Pe lâng stocarea �s,ierelor, HDFS este capabil s de-
tecteze s,i s compenseze eventualele erori de hardware ap rute. HDFS stocheaz
�s,ierele în cadrul unei colect
,ii de servele dintr-un cluster.
În [26] este prezentat Eucalyptus, o platforma de tip open-source pentru crea-
rea de sisteme de tip clod pe baza infrastructurii de calcul s,i de stocare a datelor
ce se a� la îndemâna grupurilor de cercetare din domeniul academic. Eucalyptus
este format din mai multe componente ce interact,ioneaz între ele prin interfet
,e
bine de�nite.
Arhitectura acestui sitem este simpl , �exibil s,i modular având un design
ierarhic ce re�ect resursele computat,ionale prezente în majoritatea înstitut
,iilor
academice. În esent, , sistemul le permite utlizatorilor s pornesc , s controleze,
s acceseze s,i s termine execu t
,ia unor mas
,ini virtuale. Toate acestea se reali-
zeaz prin intermediul unor interfet,e ce emuleaz interfet
,ele oferite de Amazon
EC2.
Fiecare component de baz din sistem este implementat sub forma unui
serviciu web de sine st t tor. Acest lucru ofer urm toarele avantaje: în primul
rând �ecare serviciu expune o API prin intermediul unui �sier WSDL, interfat,
ce este agnostic din punct de vedere al limbajului s,i care cont
,ine ambele operat
,ii
pe care serviciul le poate executa asupra datelor de intrare/ies,ire; în al doilea rînd
sunt facilitate fucnt,ionalit t
,iile legate de securitatea serviciilor web, tr s tur ce
asigur o comunicare sigur între componente.
Partea III - Aplicat,ii practice s
,i studii de caz � este compus din Capito-
lul 6, Capitolul 7 s,i Capitolul 8. Acest parte cont
,ine aplicat
,iile practice relizate
pentru a evalua e�cient,a privind timpi de execut
,ie s
,i costurile generate de di-
verse aplicat,ii, precum s
,i e�cient
,a oferit de diverse tipuri de siteme distribuite
15
1. Rezumatul Tezei
s,i metode de paralelizare a aplicat
,iilor.
Capitolul 6: Studii de caz pentru �uxuri de lucru � cont,ine descrierea
a dou �uxuri de lucru diferite ce au fost implementate pe baza a dou aplicat,ii
reale: �uxul de lucru eBay ce a fost implemetat pe baza unui aplicat,ii imple-
mentate în python ce are drep scop extragerea informat,iilor legate de preferint
,ele
utiliztorilor de eBay1; �uxul de lucru RainCloud 2 ce a fost implementat pe baza
unei aplicat,ii meteorologice menit s furnizeze previziuni legate de cantitatedea
de precipitat,ii ce ar putea c dea în regiunea Tyrol, Austria. În tip ce prima
aplicat,ie necesit multe scieri s
,i citiri din �s
,iere, cea de-a doua are nevoie de
resurse de calcul substant,iale. Ambele �uxuri de lucru au fost implementate
folosind platforma Askalon.
Petru a putea implemeta un �ux de lucru pe baza unei aplicat,ii este nevoie
ca cât,iva pas
,i s �e parcurs
,i în avans [10]:
• identi�carea sect,iunilor aplicat
,iilei ce au cele mai pus
,ine dependet
,e între
ele. Aceste vor deveni activit t,i individuale în cadrul �uxului de lucru.
• stabilirea sect,iunilor de cod ce ar putea � rulate în paralel. Acestea vor face
parte din sect,iunea paralel a �uxului de lucru.
• dac unele din activit t,ile de�nite în pas
,i anteriori are prea multe dependent
,e
fat, de o alt activitate, atunci acestea ar trebui reunite în cadrul unei sin-
gure activit t,i.
• identi�carea datelor de intare/ies,ire necesare �ec rei activit t
,i.
• stabilirea corelat,iile existente între activit t
,ile viitorului work�ow�ux de
lucru.
Figura 2 reprezint �uxul de lucru realizat pe baza aplicat,iei de extragere a datelor
de pe eBay:1O parte din rezultatele legate de fuxul de lucru eBay a fost publicat înGabriela Andreea
Morar, Cristina Ioana Muntean, Gheorghe Cosmin Silaghi, �Implementing and Running aWork�ow Application on Cloud Resources�, Economy Informatics, vol. 15, no. 3/2011, pages15-27
2O parte din rezultatele legate de fuxul de lucru RainCloud a fost publicat în Gabriela
Morar, Felix Schueller, Simon Ostermann, Radu Prodan, and Georg Mayr, �MeteorologicalSimulations in the Cloud with the ASKALON Environment�, CoreGRID/ERCIM Workshopon Grids, Clouds and P2P Computing, Rhodes Island, August, 2012, acceptat
16
1. Rezumatul Tezei
Figura 2: Fluxul de lucru eBay implementat în Askalon.
Pricipalel activit t,i identi�cate în cadrul acestui work�ow�ux de lucru sunt:
Nrusers activitate ce imparte �s,ierul de intare ce cont
,ine tot
,i utilizatori într-un
num r de �siere egal cu numarul de core-uri folosite pentru rularea aplicatiei.
Fiecare �s,ier va cont
,ine un num de utilizatori egal cu num rul total de utiliza-
tori/numarul de core-uri folosite. ParallelSec este sect,iunea din cadrul aplicat
,iei
ce poate � executat în mod paralel. În cadrul acestei sect,iuni sunt extrase datele
referitoare la preferint,ele utilizatorilor. Ultima activitate, CopyFiles, are scopul
de a aduna datele generate de c tre sect,iunea paralel a �uxului de lucru.
Am rulat experimente pentru acest workwlow pe diverse tipuri de instant,e
cloud s,i folosind �s
,ere de întrare cu 6000 s
,i respectiv 12000 de utilizatori. Rezul-
tatele arat c aplicat,ia poate � rulat pe resurse cloud cu un speedup de pân
la 40, speedup calculat pe baza timpului de execus,ie obt
,inut pe baza rul rii în
mod serial a aplicat,iei.
Fluxul de lucru RainCloud este baza pe o aplicat,ie menit s simuleze nivelul
precipitas,iilor în regiuni montane cu ajutorul unui model meteorologic simplu,
numit modelul liniar al precipitat,iilor orogra�ce (LM) [5]. Aplicat
,iile acestui
model variaz de la studii climatice la aspecte hidrologice. Figura 3 înf t,iseaz
reprezentarea gra�c a w�uxului de lucru RainCloud împreun cu �s,ierele de
intrare/ies,ire necesare �ec rei activit t
,i:
Pe baza rezultatelor dorite s,i a scopului rul rii woprk�ow-ului au fost create
17
1. Rezumatul Tezei
<<ParallelFor>> ParallelFor_1
PrepareLM<<Activity>>
PostprocessSingle<<Activity>>
then
LinearModel<<Activity>>
else
PostprocessFinalLM<<Activity>>
PostprocessFinalPPS<<Activity>>
else then
thenelse
topo - Topography.tar.gzdatain - DataIN.tar.gzNGroupdecisonPostprocessFinalPostpreocessFinalPPSdecisionNotPostprocessFinal
topodatain
Template_iterations.txtPLM_g_out.tar.gz
PLM_g_out.tar.gztemplateIterations from Template_iterations.txt
LM_g_out.tar.gz
PLM_g_out.tar.gztemplateIterations from Template_iterations.txtForLoop goes from 1 to templateIterations
PPS_g_out.tar.gz
PPS_g_out.tar.gzLM_g_out.tar.gz
LM_g_out.tar.gz
FINAL.tar.gz
PPS_g_out.tar.gz
FINAL.tar.gz
Figura 3: Reprezentarea gra�c a �uxului de lucru RainCloud în Askalon.
mai multe variante de execut,ie ale acestuia, variante intitulate arome ale �uxului
de lucru:
• aroma ideal a �uxului de lucru apart,ine ariei operat
,ionale s
,i foloses
,te ver-
siuni idealizate de topogra�i s,i date legate de condit
,iile atmosferice; este
folosit în special pentru testarea modelului.
• aroma semi-ideal a �uxului de lucru apart,ine ariei de cercetare s
,i foloses
,te
�e topogra�i, �e date atmosferice idealizate; este folosit pentru interpre-
tarea m sur torilor meteorologice.
• aroma real a �uxului de lucru apar t,ine ariei de cercetare, iar atât topgra-
�ile cît s,i datele metorologice folosite au caracter real; este folosit pentru
previzionarea precipitat,iilor.
Am rulat experimete pentru acest �ux de lucru folosind resurse provenite de
la un cloud privat cât s,i resurse provenite de la un cloud public (Amazon EC2).
Experimentele au ar tat c execut,ia �uxului de lucru folosind date experimentale
ar costa 2.72$ dac s-ar folosi instant,e 4 c1.xlarge provenite de la Amazon EC2
18
1. Rezumatul Tezei
la un pres,de (0.68$/or ). Astfel o execut
,ie zilnic timp de un an a apalicat
,iei ar
avea un cost de aproximativ 992.8$.
În urma experimentelor efectuate am constatat c performat,ele obt
,inute pe
instante te tip cloud privat sunt similare cu cele obt,inute prin folosirea unui cloud
public. Acest fapt ne-a permis s folosim resurse private în partea de testare s,i
optimizare a paraleliz rii aplicat,iei s
,i doar la �nal s trecem pe resurse publice,
astfel costurile de dezvoltare reducîndu-se semni�cativ.
Fluxurile de lucru s,tiint
,i�ce sunt folosite la scar larg în momentul de fat
, .
Aceste îi ajut pe oemenii de s,tiint
, , s
,i nu numai, s pro�te de resursele de calcul
ditribuite pe care le au la îndemân . Prin folosirea acestora timpi de execut,ie ai
aplicat,iilor sunt redus
,i semni�cativ, iar odat cu aces
,tia scad s
,i costurile.
Capitolul 7: Folosirea Hadoop pentru optimizarea timpilor de exe-
cutie a proces rii datelor provenite de la Twitter � acest capitol prezint
modul în care Hadoop poate � folosit pentru a procesa mari cantit t,i de date într-
un timp mai scurt prin prizma folosirii resurselor distribuite. Pentru partea legat
de procesarea datelor a fost folosit libr ria Mahout [24] care pune la dispozit,ia
utilizatorilor un num r mare de algoritmi de tip machine learning. Acest libr rie
ruleaz pe clustere de tip Hadoop. Am rulat o serie de experimente menite s
testeze in�uent,a pe care diversele tipuri de stocare a datelor folosite o au asupra
performant,ei Hadoop. Am încercat de asemenea s variem s
,i valorile anumitor
parametri de con�gurare a Hadoop pentru a vedea cum aces,tia in�uent
,eaz la
r ndul lor preformant,a obt
,inut . Pe baza acestor con�gurat
,ii am rulat algoritmul
k-means1 de clusterizare a datelor avînd divers,i parametri pe date obt
,inute de la
Twitter.
Hadoop are peste 165 de parametri ce pot � con�gurat,i de c tre utilizatori.
G sirea con�gurat,iei optime nu este activitate trivial . Câteva sugestii legate
modul în care un utilizator trebuie s is,i con�gureze clusterul Hadoop sunt pre-
zentate în [30],[39] s,i [21].
Pentru a testa scenariile descrise anterior am creat dou clustere Hadoop ce au
aceleas,i caracteristici cu except
,ia mediului folosit pentru stocarea datelor (SSD
1O parte din rezultatele prezentate în acest capitol a fost publicat în Cristina Ioana Mun-tean, Gabriela Andreea Morar, and Darie Moldovan, "`Exploring the meaning behind Twit-ter hashtags through clustering"', în Lecture Notes in Business Information Systems, vol. 127,pag. 231 - 242. Springer-Verlag Berlin, 2012
19
1. Rezumatul Tezei
sau hard disk). Clusterele au fost implementate folosind mas,ini virtuale de tip
Oracle VirtualBox 4.1.18 [38]. Ambele clustere au un nod principal (master node)
s,i trei noduri secundare (slave nodes), iar stuctura lor poate � v zut în �gura 4.
Hadoop MasterNameNodeDataNode
Machine 1
Hadoop SlaveDataNode
Machine 3
Hadoop SlaveDataNode
Machine 4
Hadoop SlaveDataNode
Machine 2
Figura 4: Arhitectura clusterului Hadoop.
Dup crearea clusterelor Hadoop, performat,a lor poate � testat cu ajutorul
unor libr ri de teste puse la dispozit,ia utiliatorilor de c tre Hadoop (hadoop −
∗ − test.jar). Acestea îl ajut pe utilizator s estimeze dac a efectuat o in-
stalere reus,it a Hadoop. O scurt introducere despre folosirea acestor teste de
performant, este prezenat în [39]. Este recomadat testarea performant
,ei clus-
terelor cu date de intrare asem natoare cu datele reale pe utilizatorii le vor rula
ulterior.
Pentru experimentele noatre am folit seturi de date colecate cu ajutorul Twit-
ter Streaming API timp de o s pt mân . Seturile de date obt,inute reprezint
10% din întreaga activitate ce are lor zilnic pe Twitter.
Algoritmul a c rui performant, a fost tetstat pentru acest set de date a
fost k-means. K-means [23] este un algoritm de clusterizare a datelor în mod
nesupravegheat. Pe baza unui set de date initial algoritmul împarte aceste date
într-un num r de clustere stabilit anterior.
Experimentele rulate ne-au ar tat ca performant,a obt
,inut de clusterele Ha-
doop este puternic in�ent,at de tipul de sistem folosit pentru stocarea datelor în
cadrul cluster-ului cât s,i de c tre valorile parametrilor de con�gurare setat
,i de
c tre utilizatori.
20
1. Rezumatul Tezei
Deoarece Hadoop a fost creat astfel încât s poat rula si pe resurse de tip
cloud, putem spune c acesta reprezint o solut,ie viabil pentru urilizatorii doresc
s proceseze cantit s,i mari de date în mod ocazional s
,i cu costuri reduse.
Capitolul 8: Negocierea resurselor de tip cloud folosind agent,i inteligent
,i
� în acest capitol este prezentat un domeniu de negociere (CloudDomain)1 ce a
fost implementat pentru a facilita negocierea resurselor de tip cloud prin inter-
mediul folosiri agent,ilor inteligent
,i. Acest domeniu a fost implementat pe baza
caracteristicilor instans,elor de cloud de tip IaaS s
,i reprezint un prim pas în ceea
ce ne dorim a � la un momentdat negocierea resurselor de tip cloud la runtime
în funct,ie de necesit t
,iile utilizatorilor s
,i în contextul existent
,ei mai multor fur-
nizori de astfel de resurse. Am studiat performant,a domeniului de negociere
implementat prin realizarea unor negocieri între un cump r tor de resurse cloud
s,i 10 furnizori diferit
,i. Agent
,i folositt
,i pentru negociere au fost înzestrat
,i cu di-
verse metode de înv t,are: înv t
,are bayesian s
,i înv t
,are Q-learning. Protocoalele
de negociere folosite dunt cele prezenate în [31] s,i [32].
T,inem s met
,ion m c am implementat un sitem semi-automat de generare a
pro�lelor de negociere. Acesta genereaz pro�lele de preferint,e ale furnizorilor de
resurse de tip cloud pe baza datelor obt,inute direct de la aces
,tia. Singura parte
din aceste pro�le ce nu se realizeaz înc în mod automat este cea referitoare la
desemnarea important,ei pe care �ecare parametru negociat o are petru furnizo-
rul respectiv. Aceast problem ar putea � solut,ionat prin implemetarea unui
mecanism bazat pe machine learning ce ar avea drep rol genrarea acestor valori
pe baza preferint,elor exprimate de c tre aces
,ti furnizori de resurese în cadrul
rundelor anterioare de negociere.
4 Contribut, ii
Acest sect,iune cuprinde contribut
,iile ce au fost aduse în cadrul �ec rui capitol:
Capitolul 2: Privire de ansamblu asupra calculului paralel - în cadrul
1O parte din rezultatele prezentate în acest capitol a fost prezentat în Gabriela AndreeaMorar, and Andreea Ilea, Alexandru Butoi, Gheorghe Cosmin Silaghi, �Agent-based CloudResources Negotiation�, in Proceeding of 8th International Conference on Intelligent ComputerCommunications and Processing, pag. 297-300 30 August - 1 Septembrie, 2012 in Cluj-Napoca,Romania
21
1. Rezumatul Tezei
acestui capitol s-a realizat un amplu studiu al literaturii de specialitate legat de
calculul paralel: modul în care acesta a ap rut, motivele ce au dus la aparit,ia
acestuia s,i sunt descrise câteva dintre principalele metode folosite în evaluarea
performant,ei programelor paralele: speedup, e�cient
,a, m surarea corect a tim-
pilor de execut,ie, etc.
Capitolul 3: Privire de ansamblu asupra sistemelor distribuite - cu-
prinde un amplu studiu al literaturii din domeniul sistemelor distribuite. Sunt
evaluate pe rând principalele tipuri de astfel de sisteme: clustere, grid-uri, cloud
computing s,i este prezentat o comparat
,ie între acestea realizat pe baza princi-
palelor lucr ri existente în domeniu. De asemenea cont,ine si un studiu detaliat
al cloud computing: modul în care a luat nas,tere, modelele de business folosite
de acesta, avantajele s,i dezavantajele lui, etc.
Capitolul 4: Mijloace existente pentru paralelizarea aplicat,iilor -
const întru-n studiul al literaturii de specialitate legate de principalele metode
existente pe piat, ce le permit oamenilor de s
,tiint
, sau oemanilor de business
s îs,i paralelizeze aplicat
,iile pentru a obt
,ine timpi de execut
,ie mai scurt
,i s
,i pen-
tru a reduce costurile. În acest sens ne-am îndreptat atent,ia asupa paradigme-
lor �uxurilor de lucru s,i MapReduce. Prima dintre ele se adreseaz în special
aplicat,iilor ce necesit putere de calcul crescut , în timp ce MapReduce se adre-
seaz aplicat,iilor ce sunt menite s proceseze cantit t
,i mari de date. Am studiat
modul de funct,ionare a acestor tehnologii pentru a putea ulterior s le aplic m
pentru a reduce timpi de execut,ie a anumitor aplicat
,ii.
Capitolul 5: Tehnologiile si arhitecturile folosite - acest capitol descrie
tehnologiile s,i platformele ce au fost folosite pentru a putea evalua în mod practic
tehnicile de paralelizare a aplicat,iilor prezentate anterior. De asemenea prezen-
tat m s,i avantajele s
,i dezavantajele acestor platforme s
,i evalu m complexitatea
utiliz rii lor.
Capitolul 6: Studii de caz pentru �uxurile de lucru - în acest capitol
sunt prezentate cele dou �uxuri de lucru ce au fost implementate pe baza unor
aplicat,ii reale: �uxul de lucru eBay este bazat pe un data crawler s
,i care necesit
multe citiri s,i scieri in/din �siere, iar �uxul de lucru RainCloud este bazat pe o
aplicat,ie metorologic real (folosit de institutul de avalans
,e din regiune Tyrol,
Austria pentru previzionare a nivelui de precipitat,ii) ce necesit o putere de calcul
22
1. Rezumatul Tezei
ridicat . Am implementat ambele �uxuri de lucru folosind platforma Askalon s,i
am modi�cat aplicat,iile astfel încât s le îmbun t t
,esc performant
,a s
,i s le scad
costurile necesare rul rii. Pentru a putea implementa �uxurile de lucru a fost
necesar identi�carea sect,inilor din aplicat
,ii ce puteau �i parlelizate s
,i a celor ce
puteau � rulate doar secvent,ial, precum s
,i identi�carea dependet
,ele ce existau
înte aceste sect,inui. Reducerea timpilor de execut
,ie a fost de mare important
, în
cazul celei de-a doua aplicat,ii deoarece aceasta urma s �e rulat în �ecare zi la
acceas,i or pentru cel put
,in un an pentru a oferi previzion ri legate de nivelul de
precipitat,ii dintr-o anumit regiune.
Capitolul 7: Folosirea Hadoop pentru optimizarea timpilor de execu-
tie a proces rii datelor provenite de la Twitter - acest capitol prezint un
studiu referitor la modul în care Hadoop poate � folosit pentru rularea aplicat,iilor
ce trebuie s proceseze cantit t,i însemnate de date. Este prezentat modul în
care se pot crea s,i con�gura clustere pe care Hadoop s ruleze pentru a cres
,te
performant,a aplicat
,iilor. Faptul c datele sunt procesate în paralel pe mai multe
resurse de calcul duce atât la sc derea timpului de execut,ie cît s
,i la sc dera cos-
turilor (Hadoop poate rula s,i pe resurse de tip cloud). Am realizat câteva teste de
performant, folosind diverse tipuri de clustere Hadoop s
,i având divers
,i parametri
de con�gurare. Rezultatele obt,inute au ar tat c atât tipul de mediu de stocare
folosit (SSD sau hard disk) cât s,i modi�carea divers
,ilor parametri de con�gurare
pot duce ca cres,terea semni�cativ a performant
,ei. Datele folosite pentru testele
de performant, au fost extrase de pe Twitter.
Capitolul 8: Negocierea resurselor de tip cloud folosind agent,i inteli-
gent,i - în acest capitol este prezentat un domeniu de negociere (CloudDomain)
pe care l-am creat pentru a putea � folosit de c tre agent,i pentru a negocia resurse
de tip cloud în contextul în care exist mai mult,i furnizori de astfel de resurse
pe piat, . CloudDomain a fost astfel construit încât s cont
,in pricipalel atribute
pe care un utilizator si-ar dori s le negocieze cu un furnizor de resurse cloud de
tip Iaas: num r de core-uri, memorie, num rul de instant,e disponibile dintr-un
anumit tip, pret,s,i dimensiunea hard disk-ului). Acest pro�l a fost impelmentat
astfel încât s poat � folosit de c tre platforma Genius [12]. Am creat un meca-
nism ce genereaz în mod semi-automat aceste pro�le pe baza datelor obt,inute de
la cloud controller-ele cloud-urilor private. Aceste pro�le vor au fost folosite ca s,i
23
1. Rezumatul Tezei
domenii de preferint,e pentru agent
,i ce dispuneau de diverse tipuri de inteligent
,
(bayesian sau Q-learning) pentru a negocia resurse de tip cloud pe baza unui
protocol de negociere de tipul unul-la-mai-mult,i.
5 Stagiu de mobilitate
Pe durata studiilor doctorale am avut oportunitatea de a merge într-un stagiu
de mobilitate înafara t, rii. Timp de opt luni am fost membru al Grupului de
Sisteme Distribuite s,i Paralele, al Institutului de Informatic , Universitatea din
Innsbruck, Austria sub coordonarea Prof. Radu Prodan. Pe durata s,ederii mele în
Austria am colaborat cu coordonatorul de acolo la unul dintre proiectele acestuia:
proiectul RainCloud. Acest proiect este o colaborare între Grupul de Sisteme Dis-
tribuite s,i Paralele, Institutul de Meteorologie s
,i Geogra�e, al Universit t
,ii din
Innsbruck s,i serviciul Tyrolez de avalans
,e(�Tiroler Lawinenwarndienst� (LWD)).
Scopul �nal al acestui proiect era acela de a-i furniza LED-ului o aplicat,ie meteo-
rologic care va rula în �ecare zi la aceeas,i or pentru a realiza prognoze realistice
în leg tur cu cantitatea de precipitat,ii ce ar putea c dea într-o anumit regiune.
Proiectul a constat în dou mari part,i:
• Prima parte � implementarea unei aplicat,ii meteorologice care pe baza
unei anumite topologii s,i a unor date meteorologice s genereze previziuni
meteolologice. Aceast parte s-a a�at în grija Institutului de Meteorologie
s,i Geogra�e, al Universit t
,ii din Innsbruck.
• A doua parte � crearea unui �uxului de lucru folosind Askalon o platforma
de dezvoltare a aplicat,iilor te tip grid/cloud. Scopul acestuia era s opti-
mizeze timpi de execut,ie ai aplicat
,iei prin paralelizarea anumitor sect
,iuni
ale acesteia s,i g sirea unei modalit t
,i de rulare a aplicat
,iei în cele mi bune
condit,ii de performant
, s
,i cu costuri minime. Acesta parte a fost respon-
sabilitatea Grupului de Sisteme Distribuite s,i Paralele, al Institutului de
Informatic , Universitatea din Innsbruck.
Ca s,i membr temporar a Grupului de Sisteme Distribuite s
,i Paralele a tre-
buit sa implementez �uxul de lucru pe baza aplicat,iei meteorologice dezvoltate
de c tre ceilalt,i parteneri din cadrul proicetului. Îndatoririle mele au constat în:
24
1. Rezumatul Tezei
• s colaborez cu persoana ce a realizat aplicat,ia meteorologic s
,i s identi-
�c diversele sect,iuni ale aplicat
,iei ce puteu � mapate ulterior în activit t
,i
secvent,iale sau paralele în cadrul �uxului de lucru.
• s identi�c toate dependent,ele existente între activit t
,iile g site în pasul
anterior pentru a le putea de�ni în cadrul �uxului de lucru.
• s colaborez cu persoana care a implementat aplicat,ia pentru a putea face
modi�c rile necesare pentru a îmbun t t,ii performant
,a aplicat
,iei.
• s implementez �uxul de lucru folosind Askalon.
• s testez performant,a �uxului de lucru pe resurse de tip cloud; prima dat
pe resurse din cadrul unui cloud privat pe care grupul de cercetare îl avea la
dispozit,ie, iar apoi testarea pe un cloud public astfel încât s putem estima
costurile necesare rul rii zilnice a aplicat,iei pentru un an întreg.
Drep rezultat al stagiului meu de mobilitate în Inssbruck am reut,it s public
un articol pe baza �uxului de lucru implemetat cu echipa de acolo: Gabriela
Morar, Felix Schueller, Simon Ostermann, Radu Prodan, and Georg Mayr, �Me-
teorological Simulations in the Cloud with the ASKALON Environment�, Core-
GRID/ERCIM Workshop on Grids, Clouds and P2P Computing, Rhodes Island,
August, 2012, acceptat.
Stagiul de mobilitate mi-a permis sa deprind o experient, vast în ceea ce
prives,te sistemele distribuite, în mod special grid s
,i cloud. De asemenea am
învat,at modul în care funct
,ioneaz �uxurile de lucru, cum s implemetez un �ux
de lucru, cum s modi�c o aplicat,ie astfel încât s îi cresc performant
,a la execut
,ie,
etc. Întreaga experient, teoretic s
,i practic acumulat de-a lungul ecestui stagiu
de mobilitate a avut un impact semni�cativ asupra cercet rii mele.
6 Diseminarea rezultatelor
Rezultatele obt,inute pe perioada studiilor mele doctorale au fost publica în ca-
drul unor articole prezentate la conferint,te s
,i workshopuri din tar cît s
,i din
str in tate.
25
1. Rezumatul Tezei
• Gabriela Andreea Morar, Cristina Ioana Muntean, Gheorghe Cosmin
Silaghi, �Implementing and Running a Work�ow Application on Cloud Re-
sources�, Economy Informatics, vol. 15, no. 3/2011, pages 15-27
• Cristina Ioana Muntean,Gabriela Andreea Morar, and Darie Moldovan,
"`Exploring the meaning behind Twitter hashtags through clustering"', în
Lecture Notes in Business Information Systems, vol. 127, pag. 231 - 242.
Springer-Verlag Berlin, 2012.
• Alexandru Butoi, Gabriela Andreea Morar, and Andreea Ilea, �Two-
Phased Protocol for Providing Data Con�dentiality in Cloud Storage En-
vironments�, în Lecture Notes in Business Information Systems, vol. 127,
pag. 220 - 230. Springer-Verlag Berlin, 2012.
• Gabriela Andreea Morar, and Andreea Ilea, Alexandru Butoi, Gheorghe
Cosmin Silaghi, �Agent-based Cloud Resources Negotiation�, in Proceeding
of 8th International Conference on Intelligent Computer Communications
and Processing, pag. 297-300 30 August - 1 Septembrie, 2012 in Cluj-
Napoca, Romania
• Gabriela Morar, Felix Schueller, Simon Ostermann, Radu Prodan, and
Georg Mayr, �Meteorological Simulations in the Cloud with the ASKALON
Environment�, CoreGRID/ERCIM Workshop on Grids, Clouds and P2P
Computing, Rhodes Island, August, 2012, acceptat
• Alexandru Butoi, Gabriela Andreea Morar, Andreea Ilea, �Agent-Based
Framework for Implementing and Deploying of SOA�, Journal of Mobile, Vol
4, No 2 (2012), Embedded and Distributed Systems (JMEDS) ISSN: 2067
- 4074, pag. 107-113
• Alexandru Butoi, Andreea Ilea and Gabriela Andreea Morar, �Concep-
tual Design for Business SOA using Object-Oriented Paradigm�, în Procee-
dings of �The Eleventh International Conference on Informatics in Economy
IE 2012�, Bucures,ti, Romania, pag. 41-45
• Gabriela Andreea Morar, Cristina Ioana Muntean and Nicolae Tomai ,
�An Adaptive M-learning Architecture for Building and Delivering Content
26
1. Rezumatul Tezei
based on Learning Objects�, The Second Romanian Workshop on Mobile
Business, Cluj-Napoca, România, publicat în Economy Informatics, vol. 10,
no. 1/2010, pag. 63-73
7 Direct, ii ulterioare de cercetare
Cercetare realizat pe parcursul studiilor doctorale mi-a oferit un nivel ridicat de
cunos,tere în domeniul calculului paralel, a sitemelor distribuite (în special cloud
computing)s,i a mijloacelor de de negociere a resurselor folosind agent
,i inteligent
,i.
Experient,a acumulat pân în acest moment s
,i tendint
,ele existente în domeniul
cercet rii m-au ajutat s identi�c câteva posibile ulterioare direct,ii de cercetare:
• implementarea unui modul pentru platforma Askalon, modul ce va avea
rolul de a negocia resurse de tip cloud în momentul execut,iei �uxurilor de
lucru. Negocierea se va face t,inând cont de cerint
,ele QoS ale utilizatorilor
precum s,i de estim rile referitosare la necesarul de resurse al urm toarei
activit t,i din �uxul de lucru. În prima faz acest mecanism de negociere ar
putea � folosit pentru negocierea resurselor provenite de la cloud-uri private
ce t,in de diverse institut
,ii academice.
• implementare unui plani�cator (scheduler) ce va avea drep scop plani�carea
viitoarelor task-uri pe baza unor estim ri a consumului de energie generat
de c tre resursele disponibile. Reducerea consumului de enerie este una
din principalele direct,ii de cercetare actuale dup reducerea costurilor s
,i
optimizarea timpilor de execut,ie ai aplicat
,iilor.
• implementare unui modul pentru platforma Genius, modul ce va avea drep
scop generarea automat a unor pro�le de negociere pe baza unor carac-
teristici expuse de c tre furnizorii de resurse de tip cloud. Aceste pro�le
vor � utilizate de catre nis,te agent
,i de tip broker ce vor avea rolul de a
negocia resurse cu utilizatorii �nali. Acest,i agent
,i vor act
,iona atât din par-
tea furnizorilor de resurse cloud cât s,i din partea cumparatorilor acestor
resurse.
27
1. Rezumatul Tezei
• implementare unui modul ce va instala în mod automat Hadoop pe nodu-
rile nou ad ugate la un cluster s,i le va con�gura pe acestea în conformitate
cu nodul principal (master node). Implementarea unui modul care s fac
corespondent,a dintre parametri de con�gurare selectat
,i de c tre utilizator
si clusterul pe care este instalat Hadoop. Acest modul va avea rolul de a
le sugera utilizatorilor con�gurat,ia cea mai potrivit pentru clusterul lor.
Acesta este o problema de optimizare a mai multor obiective simultan, deo-
arece Hadoop dispune de un num r mare de parametrii ce pot � con�gurat,i
de c tre utiliatori, iar alegera valorilor potrivite pentru aces,tia nu este deloc
intuitiv pentru noii utilizatori s,i nici chiar pentru cei experimentat
,i.
Acestea sunt doar câteva din principalele direct,ii ulterioare de cerectare ce
ar putea � urmate be baza cercet rii realizate pân în acest moment. Toate se
adreseaz unor arii de cercetare ce sunt de mare actualitate s,i interes pentru
mediul academic.
������������������������
28
List de �guri
1 Structura tezei. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2 Fluxul de lucru eBay implementat în Askalon. . . . . . . . . . . . 17
3 Reprezentarea gra�c a �uxului de lucru RainCloud în Askalon. . 18
4 Arhitectura clusterului Hadoop. . . . . . . . . . . . . . . . . . . . 20
29
Bibliogra�e
[1] Technical report. 12
[2] I. Altintas, O. Barney, Z. Cheng, T. Critchlow, B. Ludaescher, S. Parker,
A. Shoshani, and M. Vouk. Accelerating the scienti�c exploration process
with scienti�c work�ows. In Journal of Physics: Conference Series, vo-
lume 46, page 468. IOP Publishing, 2006. 13
[3] Gene M. Amdahl. Validity of the single processor approach to achieving
large scale computing capabilities. In Proceedings of the April 18-20, 1967,
spring joint computer conference, AFIPS '67 (Spring), pages 483�485, New
York, NY, USA, 1967. ACM. doi: 10.1145/1465482.1465560. URL http:
//doi.acm.org/10.1145/1465482.1465560. 10
[4] Nikhil Bansal. Dynamic speed scaling to manage energy and temperature.
In In IEEE Syposium on Foundations of Computer Science, pages 520�529,
2004. 9
[5] Idar Barstad and Felix Schüller. An Extension of Smith's Linear Theory
of Orographic Precipitation: Introduction of Vertical Layers. Journal of
the Atmospheric Sciences, 68(11):2695�2709, November 2011. ISSN 0022-
4928. doi: 10.1175/JAS-D-10-05016.1. URL http://journals.ametsoc.
org/doi/abs/10.1175/JAS-D-10-05016.1. 17
[6] Rajkumar Buyya. High Performance Cluster Computing: Architectures and
Systems. Prentice Hall PTR, Upper Saddle River, NJ, USA, 1999. ISBN
0130137847. 11
30
BIBLIOGRAFIE
[7] Rajkumar Buyya, Chee Shin Yeo, Srikumar Venugopal, James Broberg, and
Ivona Brandic. Cloud computing and emerging it platforms: Vision, hype,
and reality for delivering computing as the 5th utility. Future Generation
Comp. Syst., 25(6):599�616, 2009. 11
[8] Rajkumar Buyya, James Broberg, and Andrzej M. Goscinski. Cloud
Computing Principles and Paradigms. Wiley Publishing, 2011. ISBN
9780470887998. 12
[9] J. Dean and S. Ghemawat. Mapreduce: Simpli�ed data processing on large
clusters. Communications of the ACM, 51(1):107�113, 2008. 1, 14
[10] T. Fahringer and Askalon Team. Askalon grid environment, 2007. 16
[11] T. Fahringer, A. Jugravu, S. Pllana, R. Prodan, C. Seragiotto Jr, and H. L.
Truong. Askalon: a tool set for cluster and grid computing. Concurrency
and Computation: Practice and Experience, 17(2-4):143�169, 2005. 14
[12] Cristian Figueroa, Nicolas Figueroa, Alejandro Jofre, Akhil Sahai, Yuan
Chen, and Subu Iyer. A Game Theoretic Framework for SLA Negotiation.
Technical report, Enterprise Systems Storage Laboratory, HP Laboratories,
2008. http://www.hpl.hp.com/techreports/2008/HPL-2008-5.pdf, consulted
on 5 August 2011. 23
[13] Michael J. Flynn and Kevin W. Rudd. Parallel architectures. ACM Comput.
Surv., 28(1):67�70, March 1996. ISSN 0360-0300. doi: 10.1145/234313.
234345. URL http://doi.acm.org/10.1145/234313.234345. 10
[14] Ian Foster, Carl Kesselman, and Steven Tuecke. The anatomy of the grid:
Enabling scalable virtual organizations. Int. J. High Perform. Comput.
Appl., 15(3):200�222, 2001. ISSN 1094-3420. doi: http://dx.doi.org/10.
1177/109434200101500302. 5
[15] Hadoop. Hadoop website. http://hadoop.apache.org, 2012. 2
[16] John L. Hennessy and David A. Patterson. Computer Architecture, Fourth
Edition: A Quantitative Approach. Morgan Kaufmann Publishers Inc., San
Francisco, CA, USA, 2006. ISBN 0123704901. 9
31
BIBLIOGRAFIE
[17] A. J. G. Hey, S. Tansley, and K. M. Tolle. The fourth paradigm: data-
intensive scienti�c discovery. Microsoft Research Redmond, WA, 2009. 4
[18] T. Hey and A. Trefethen. The data deluge: An e-science perspective. In
Grid computing, pages 809�824. Wiley Online Library, 2003. 13
[19] M.D. Hill and M.R. Marty. Amdahl's law in the multicore era. Computer,
41(7):33�38, 2008. 13
[20] D. Hollingsworth. Work�ow management coalition: The work�ow reference
model. Technical report, The Work�ow Management Coalition, 1995. 13
[21] S.B. Joshi. Apache hadoop performance-tuning methodologies and best prac-
tices. In Proceedings of the third joint WOSP/SIPEW international confe-
rence on Performance Engineering, pages 241�242. ACM, 2012. 19
[22] Tobias Kurze, Markus Klems, David Bermbach, Alexander Lenk, Stefan Tai,
and Marcel Kunze. Cloud Federation. In Proceedings of the 2nd Internatio-
nal Conference on Cloud Computing, GRIDs, and Virtualization (CLOUD
COMPUTING 2011). IARIA, September 2011. 12
[23] J. B. MacQueen. Some methods for classi�cation and analysis of multivariate
observations. In L. M. Le Cam and J. Neyman, editors, Proc. of the �fth
Berkeley Symposium on Mathematical Statistics and Probability, volume 1,
pages 281�297. University of California Press, 1967. 20
[24] Apache Mahout. Mahout website. http://mahout.apache.org, 2012. 19
[25] Dan C. Marinescu. Cloud computing: Theory and practice, 2012. URL
http://www.cs.ucf.edu/~dcm/LectureNotes.pdf. 12
[26] D. Nurmi, R. Wolski, C. Grzegorczyk, G. Obertelli, S. Soman, L. Youse�,
and D. Zagorodnov. The eucalyptus open-source cloud-computing system.
In Cluster Computing and the Grid, 2009. CCGRID'09. 9th IEEE/ACM
International Symposium on, pages 124�131. IEEE, 2009. 15
[27] M. Olson. Hadoop: Scalable, �exible data storage and analysis. IQT Quar-
terly, pages 14�18, 2010. 15
32
BIBLIOGRAFIE
[28] Peter Pacheco. An Introduction to Parallel Programming. Morgan Kau-
fmann Publishers Inc., San Francisco, CA, USA, 1st edition, 2011. ISBN
9780123742605. 9, 10
[29] Gregory F. P�ster. In search of clusters (2nd ed.). Prentice-Hall, Inc., Upper
Saddle River, NJ, USA, 1998. ISBN 0-13-899709-8. 11
[30] B. T. Rao, N. V. Sridevi, V. K. Reddy, and L. S. S. Reddy. Performance
issues of heterogeneous hadoop clusters in cloud computing. Global Journal
of Computer Science and Technology, 11(8), 2011. 19
[31] L. S¦rban, C. �tefanache, G. Silaghi, and C. Litan. A qualitative ascen-
ding protocol for multi-issue one-to-many negotiations. Complex Automated
Negotiations: Theories, Models, and Software Competitions, pages 143�159,
2013. 21
[32] Liviu Dan Serban, Cristina Maria Stefanache, Gheorghe Cosmin Silaghi, and
Cristian Marius Litan. A qualitative ascending protocol for multi-issue one-
to-many negotiations. In Proc. of the 2011 Workshop on Agent-based Com-
plex Automated Negotiations, Studies in Computational Intelligence. Sprin-
ger, 2012. to appear. 21
[33] Kwang Mong Sim. Towards complex negotiation for cloud economy. In
Advances in Grid and Pervasive Computing, volume 6104 of LNCS, pages
395�406. Springer, 2010. 6
[34] H. Sutter. The free lunch is over: A fundamental turn toward concurrency
in software. Dr. Dobb?s Journal, 30(3):202�210, 2005. 13
[35] Andrew S. Tanenbaum and Maarten van Steen. Distributed Systems: Princi-
ples and Paradigms (2nd Edition). Prentice-Hall, Inc., Upper Saddle River,
NJ, USA, 2006. ISBN 0132392275. 11
[36] I.J. Taylor. Work�ows for e-science: scienti�c work�ows for grids. Springer-
Verlag New York Inc, 2007. 13
33
BIBLIOGRAFIE
[37] Luis M. Vaquero, Luis Rodero-merino, Juan Caceres, and Maik Lindner. A
break in the clouds: Towards a cloud de�nition. ACM SIGCOMM Computer
Communication Review, pages 50�55, 2009. URL http://dx.doi.org/10.
1145/1496091.1496100. 12
[38] Virtualbox. Virtualbox website. https://www.virtualbox.org/, 2012. 20
[39] T. White. Hadoop: The de�nitive guide. Yahoo Press, 2010. 19, 20
34