43

Utilizarea resurselor de calcul distribuite pentru o ... · III Aplicaµii practice ³i studii de caz 6 Studii de caz ale uxurilor de date 6.1 Fluxurile de date rulate folosind Askalon

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Utilizarea resurselor de calcul distribuite pentru o ... · III Aplicaµii practice ³i studii de caz 6 Studii de caz ale uxurilor de date 6.1 Fluxurile de date rulate folosind Askalon

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

Page 2: Utilizarea resurselor de calcul distribuite pentru o ... · III Aplicaµii practice ³i studii de caz 6 Studii de caz ale uxurilor de date 6.1 Fluxurile de date rulate folosind Askalon

Cuvinte cheie român 

Cuvinte cheie: sisteme distribuite, cloud computing, performant, , work�ow,

Hadoop, domeniu de negociere, negociere de resurse

1

Page 3: Utilizarea resurselor de calcul distribuite pentru o ... · III Aplicaµii practice ³i studii de caz 6 Studii de caz ale uxurilor de date 6.1 Fluxurile de date rulate folosind Askalon

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

Page 4: Utilizarea resurselor de calcul distribuite pentru o ... · III Aplicaµii practice ³i studii de caz 6 Studii de caz ale uxurilor de date 6.1 Fluxurile de date rulate folosind Askalon

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

Page 5: Utilizarea resurselor de calcul distribuite pentru o ... · III Aplicaµii practice ³i studii de caz 6 Studii de caz ale uxurilor de date 6.1 Fluxurile de date rulate folosind Askalon

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

Page 6: Utilizarea resurselor de calcul distribuite pentru o ... · III Aplicaµii practice ³i studii de caz 6 Studii de caz ale uxurilor de date 6.1 Fluxurile de date rulate folosind Askalon

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

Page 7: Utilizarea resurselor de calcul distribuite pentru o ... · III Aplicaµii practice ³i studii de caz 6 Studii de caz ale uxurilor de date 6.1 Fluxurile de date rulate folosind Askalon

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

Page 8: Utilizarea resurselor de calcul distribuite pentru o ... · III Aplicaµii practice ³i studii de caz 6 Studii de caz ale uxurilor de date 6.1 Fluxurile de date rulate folosind Askalon

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

Page 9: Utilizarea resurselor de calcul distribuite pentru o ... · III Aplicaµii practice ³i studii de caz 6 Studii de caz ale uxurilor de date 6.1 Fluxurile de date rulate folosind Askalon

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

Page 10: Utilizarea resurselor de calcul distribuite pentru o ... · III Aplicaµii practice ³i studii de caz 6 Studii de caz ale uxurilor de date 6.1 Fluxurile de date rulate folosind Askalon

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

Page 11: Utilizarea resurselor de calcul distribuite pentru o ... · III Aplicaµii practice ³i studii de caz 6 Studii de caz ale uxurilor de date 6.1 Fluxurile de date rulate folosind Askalon

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, ,

Page 12: Utilizarea resurselor de calcul distribuite pentru o ... · III Aplicaµii practice ³i studii de caz 6 Studii de caz ale uxurilor de date 6.1 Fluxurile de date rulate folosind Askalon

work�ow, Hadoop, domeniu de negociere, negociere de resurse

Page 13: Utilizarea resurselor de calcul distribuite pentru o ... · III Aplicaµii practice ³i studii de caz 6 Studii de caz ale uxurilor de date 6.1 Fluxurile de date rulate folosind Askalon

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.

Page 14: Utilizarea resurselor de calcul distribuite pentru o ... · III Aplicaµii practice ³i studii de caz 6 Studii de caz ale uxurilor de date 6.1 Fluxurile de date rulate folosind Askalon

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

Page 15: Utilizarea resurselor de calcul distribuite pentru o ... · III Aplicaµii practice ³i studii de caz 6 Studii de caz ale uxurilor de date 6.1 Fluxurile de date rulate folosind Askalon

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

Page 16: Utilizarea resurselor de calcul distribuite pentru o ... · III Aplicaµii practice ³i studii de caz 6 Studii de caz ale uxurilor de date 6.1 Fluxurile de date rulate folosind Askalon

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

Page 17: Utilizarea resurselor de calcul distribuite pentru o ... · III Aplicaµii practice ³i studii de caz 6 Studii de caz ale uxurilor de date 6.1 Fluxurile de date rulate folosind Askalon

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

Page 18: Utilizarea resurselor de calcul distribuite pentru o ... · III Aplicaµii practice ³i studii de caz 6 Studii de caz ale uxurilor de date 6.1 Fluxurile de date rulate folosind Askalon

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

Page 19: Utilizarea resurselor de calcul distribuite pentru o ... · III Aplicaµii practice ³i studii de caz 6 Studii de caz ale uxurilor de date 6.1 Fluxurile de date rulate folosind Askalon

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

Page 20: Utilizarea resurselor de calcul distribuite pentru o ... · III Aplicaµii practice ³i studii de caz 6 Studii de caz ale uxurilor de date 6.1 Fluxurile de date rulate folosind Askalon

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

Page 21: Utilizarea resurselor de calcul distribuite pentru o ... · III Aplicaµii practice ³i studii de caz 6 Studii de caz ale uxurilor de date 6.1 Fluxurile de date rulate folosind Askalon

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

Page 22: Utilizarea resurselor de calcul distribuite pentru o ... · III Aplicaµii practice ³i studii de caz 6 Studii de caz ale uxurilor de date 6.1 Fluxurile de date rulate folosind Askalon

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

Page 23: Utilizarea resurselor de calcul distribuite pentru o ... · III Aplicaµii practice ³i studii de caz 6 Studii de caz ale uxurilor de date 6.1 Fluxurile de date rulate folosind Askalon

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

Page 24: Utilizarea resurselor de calcul distribuite pentru o ... · III Aplicaµii practice ³i studii de caz 6 Studii de caz ale uxurilor de date 6.1 Fluxurile de date rulate folosind Askalon

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

Page 25: Utilizarea resurselor de calcul distribuite pentru o ... · III Aplicaµii practice ³i studii de caz 6 Studii de caz ale uxurilor de date 6.1 Fluxurile de date rulate folosind Askalon

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

Page 26: Utilizarea resurselor de calcul distribuite pentru o ... · III Aplicaµii practice ³i studii de caz 6 Studii de caz ale uxurilor de date 6.1 Fluxurile de date rulate folosind Askalon

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

Page 27: Utilizarea resurselor de calcul distribuite pentru o ... · III Aplicaµii practice ³i studii de caz 6 Studii de caz ale uxurilor de date 6.1 Fluxurile de date rulate folosind Askalon

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

Page 28: Utilizarea resurselor de calcul distribuite pentru o ... · III Aplicaµii practice ³i studii de caz 6 Studii de caz ale uxurilor de date 6.1 Fluxurile de date rulate folosind Askalon

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

Page 29: Utilizarea resurselor de calcul distribuite pentru o ... · III Aplicaµii practice ³i studii de caz 6 Studii de caz ale uxurilor de date 6.1 Fluxurile de date rulate folosind Askalon

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

Page 30: Utilizarea resurselor de calcul distribuite pentru o ... · III Aplicaµii practice ³i studii de caz 6 Studii de caz ale uxurilor de date 6.1 Fluxurile de date rulate folosind Askalon

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

Page 31: Utilizarea resurselor de calcul distribuite pentru o ... · III Aplicaµii practice ³i studii de caz 6 Studii de caz ale uxurilor de date 6.1 Fluxurile de date rulate folosind Askalon

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

Page 32: Utilizarea resurselor de calcul distribuite pentru o ... · III Aplicaµii practice ³i studii de caz 6 Studii de caz ale uxurilor de date 6.1 Fluxurile de date rulate folosind Askalon

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

Page 33: Utilizarea resurselor de calcul distribuite pentru o ... · III Aplicaµii practice ³i studii de caz 6 Studii de caz ale uxurilor de date 6.1 Fluxurile de date rulate folosind Askalon

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

Page 34: Utilizarea resurselor de calcul distribuite pentru o ... · III Aplicaµii practice ³i studii de caz 6 Studii de caz ale uxurilor de date 6.1 Fluxurile de date rulate folosind Askalon

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

Page 35: Utilizarea resurselor de calcul distribuite pentru o ... · III Aplicaµii practice ³i studii de caz 6 Studii de caz ale uxurilor de date 6.1 Fluxurile de date rulate folosind Askalon

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

Page 36: Utilizarea resurselor de calcul distribuite pentru o ... · III Aplicaµii practice ³i studii de caz 6 Studii de caz ale uxurilor de date 6.1 Fluxurile de date rulate folosind Askalon

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

Page 37: Utilizarea resurselor de calcul distribuite pentru o ... · III Aplicaµii practice ³i studii de caz 6 Studii de caz ale uxurilor de date 6.1 Fluxurile de date rulate folosind Askalon

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

Page 38: Utilizarea resurselor de calcul distribuite pentru o ... · III Aplicaµii practice ³i studii de caz 6 Studii de caz ale uxurilor de date 6.1 Fluxurile de date rulate folosind Askalon

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

Page 39: Utilizarea resurselor de calcul distribuite pentru o ... · III Aplicaµii practice ³i studii de caz 6 Studii de caz ale uxurilor de date 6.1 Fluxurile de date rulate folosind Askalon

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

Page 40: Utilizarea resurselor de calcul distribuite pentru o ... · III Aplicaµii practice ³i studii de caz 6 Studii de caz ale uxurilor de date 6.1 Fluxurile de date rulate folosind Askalon

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

Page 41: Utilizarea resurselor de calcul distribuite pentru o ... · III Aplicaµii practice ³i studii de caz 6 Studii de caz ale uxurilor de date 6.1 Fluxurile de date rulate folosind Askalon

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

Page 42: Utilizarea resurselor de calcul distribuite pentru o ... · III Aplicaµii practice ³i studii de caz 6 Studii de caz ale uxurilor de date 6.1 Fluxurile de date rulate folosind Askalon

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

Page 43: Utilizarea resurselor de calcul distribuite pentru o ... · III Aplicaµii practice ³i studii de caz 6 Studii de caz ale uxurilor de date 6.1 Fluxurile de date rulate folosind Askalon

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