You are on page 1of 43

UNIVERSITATEA BABE-BOLYAI, CLUJ-NAPOCA, ROMNIA

Facultatea de tiine Economice i Gestiunea Afacerilor


Departamentul de Informatic Economic

Utilizarea resurselor de calcul distribuite pentru o


execuie ecient a aplicaiilor de business
complexe
Rezumat tez de doctorat

Coordonator tiinic:
Prof. univ. dr. Nicolae Tomai

Doctorand:
Gabriela Andreea Morar

Specialitatea: Cibernetic i Statistic


2012

Cuvinte cheie romn


sisteme distribuite, cloud computing, performant, workow,
Hadoop, domeniu de negociere, negociere de resurse
Cuvinte cheie:

Cuprins
Cuprins
1 Introducere
1.1 Motivatia cercetrii
1.2 Obiectivele cercetrii
1.3 Structura tezei
,

I Noiuni teoretice legate de programarea paralel i


sistemele distribuite
2 Viziune de ansamblu asupra calculului paralel
2.1 Calculul paralel - Trecut si o scurt istorie.
2.2 De ce sunt necesare sitemele paralele si calculul paralel?
2.3 De ce sunt necesare programele paralele?
2.3.1 Diversele nivele de paralelism existente.
2.3.2 Pasi 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 instructiuni, o singur dat
2.5.4 MIMD -mai multe instructiuni, mai multe date
2.6 Legaturi existente ntre calculul concurent, paralel si cel distribuit
2.6.1 Evaluarea performantei paralelizrii
2.6.2 Calcularea speedup-ului si a ecientei
,

CUPRINS
2.6.3 Legea lui Amdahl
2.6.4 Evaluarea scalabilittii unui program
2.6.5 Msurarea timpilor
2.7 Concluzii
,

3 Viziune de ansamblu asupra sistemeleor distribuite


3.1 Denitia sistemelor distribuite
3.1.1 Principalele teluri ale sistemelor distribuite
3.1.2 Dezavantajele sistemelor distribuite
3.1.3 Avantajele si dezavantajele sistemelor distribuite n comparatie cu sistemele centralizate
3.1.4 Avantajele si dezavantajele medilor de procesare distribuite
asupra aplicatiilor de sine stttoare
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 Denitia clusterelor
3.2.4.2 Denitia grid-ului
3.2.4.3 Denitia cloud computing
3.2.4.3.1 Caracteristicile cloud computing
3.2.4.3.2 Tehnologiile ce au adus la aparitia cloud
computing
3.2.4.4 Avantajele si 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 Comparatia cluster, grid si cloud computing
3.3 Concluzii
,

II Mijloace existente pentru paralelizarea aplicaiilor,


tehnologiile i arhitecturile folosite
4 Metode existente pentru paralelizarea aplicatiilor
,

4.1 Metode de utilizare a sistemelor distribuite pentru a rula aplicatii


paralele
4.2 Folosirea uxurilor de lucru ca si metoda de paralelizare a aplicatiilor
4.2.1 Denitia uxurilor de lucru
4.2.2 Ciclul de viat al uxurilor de lucru
4.2.3 Avantajele si limitrile uxurilor de lucru
4.2.3.1 Avantajele uxurilor de lucru
4.2.3.2 Limitrile frluxurilor de lucru
4.2.4 Tipuri de uxuri de lucru si 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 Sabloane de uxuri de lucru
4.2.5 Ce sunt Sistemele de Management ale Fluxurilor de Lucru
4.2.6 Cerintele Sistemelor de Management ale Fluxurilor de Lucru
4.2.6.1 Cerintele utilizatorilor pentru frluxurile de lucru
stiintice
4.3 Folosirea MapReduce pentru procesarea datelor n mod paralel
4.3.1 Ce este MapReduce si cum functioneaz?
4.3.1.1 Cum functioneaz un job MapReduce?
4.4 Concluzii
,

5 Tehnologii si platforme folosite


,

5.1 Askalon mediu de dezvoltare a aplicatiilor de tip grid


,

iii

CUPRINS
5.2 Implementarea MapReduce de ctre 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 si 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 retea ale Eucalyptus
5.5.2 De ce s folosim Eucalyptus?
5.5.3 Cum s accesam sistemul
5.6 Concluzii
,

III Aplicaii 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 aplicatiei 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 si rezultatele obtinute 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 Aplicatia meteorologic RainCloud bazat pe un
model liniar
6.1.2.2 Fluxul de date RainCloud
,

iv

CUPRINS
6.1.2.3
6.1.2.4

Modelarea grac a uxului de date RainCloud


Reprezentarea n XML a uxului de date RainCloud
Aromele uxului de date RainCloud
Experimentele si rezultatele obtinute pentru uxul
de date RainCloud
Concluzii legate de uxul de date RainCloud

6.1.2.5
6.1.2.6

6.1.2.7
6.2 Concluzii

7 Folosirea Hadoop pentru optimizarea timpilor de executie ai


procesarii datelor provenite de la Twitter
7.1 Principalele metode de mbunttire a performantei Hadoop
7.2 Rularea Mahout pe Hadoop, pentru procesarea unor cantitti mari
de date
7.3 Conguratia clusterului Hadoop
7.4 Testarea performantei 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 performanta Hadoop
7.8 Rezultatele obtinute
7.9 Concluzii
,

8 Negoicerea resurselor de tip cloud cu ajutorul agentilor


,

8.1 Viziune de ansamblu asupra folosirii agentilor inteligenti pentru


negocierea resurselor de tip cloud
8.2 Notiuni 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 Agentii inteligenti folositi pentru negociere
8.3.3.1 Agentul Q-learning
,

CUPRINS
8.3.3.2
8.3.3.3

Agentul cu nvatare Bayesian


Agentul Q-learning simplu si agentul Bayesian simplu
8.4 Experimente rulate si rezultatele obtinute pentru negocierea resurselor
de tip cloud cu ajutorul agentilor
8.5 Concluzii
,

9 Concluzii
9.1
9.2
9.3
9.4

Contributii
Stagiu de mobilitate
Diseminarea rezultatelor
Direc?ii ulterioare de cercetare
,

List de guri
List de tabele
Bibliograe

vi

Cuprins
Cuprins

Motivat, ia cercetrii . . . . . . . . . . . . . . . . . . . . . . . . . .

Obiectivele cercetrii

. . . . . . . . . . . . . . . . . . . . . . . . .

Structura tezei

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

Contribut, ii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

21

Stagiu de mobilitate

24

Diseminarea rezultatelor

. . . . . . . . . . . . . . . . . . . . . . .

25

Direct, ii ulterioare de cercetare . . . . . . . . . . . . . . . . . . . .

27

. . . . . . . . . . . . . . . . . . . . . . . . .

List de guri

29

Bibliograe

30

Abstract
n ultimele decenii numrul oamenilor de s, tiint, s, i al companiilor ce
se bazeaz pe sisteme de calcul distribuite pentru a rmne competitivi pe piat, a crescut semnicativ. Deoarece costurile operrii unor
super-computere proprii este crescut, nu toate companiile sau grupurile de cercetare s, i permit costurile generate de achizit, ia infrastructurii necesare rulrii 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 academic s, i al celui economic, ns acestea aveau anumite limitri. Noul
aprut cloud computing le promite acestora toate resursele necesare,
n orice moment pe baza unui model de tipul pltes, te doar att ct
consumi. Astfel dorindu-se accesarea acestuia ca s, i o simpla utilitate
precum: apa, electricitate, etc. ns, a avea infrastructura necesar
la ndemn nu este un lucru sucient n cazul tuturor, deaorece unii
ditre ei nu det, in mijloacele sau cunos, tiint, ele necesare pentru a prota
de avantajele noilor tehnologii.
n aceast lucrare ne propunem s artm modul n care sitemele distribuite pot  folosite n mod ecient att de mediul economic ct
s, i de ctre cel academic cu scopul de a cres, te performant, a propriilor 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 dispun de cunos, tiint, e avansate de programare paralel s s, i paralelizeze
aplicat, iile: uxuri de lucru(workows)s, i MapReduce [9].
De asemenea vom prezenta s, i dou studii de caz constnd n creare a
dou uxuri de lucru bazate pe aplicat, ii reale s, i testarea performant, ei
acestora n cazul rulrii lor pe resurse de tip cloud. Avnd n vedere

faptul c uxurile de lucru nu reprezint solut, ia ideal n cazul tuturor utilizatorilor, am realizat s, i un studiu privind ecient, a folosirii
paradigmei MapReduce.

Aceasta le permite utilizatorilor s proce-

seze cantitt, i mari de date n mod distribuit. n cazul de fat, a ne-am


ndreptat atent, ia asupra implementrii oferite de ctre Hadoop [15]
pentru aceast paradigm s, i am testat perfomant, a acestei implementri atunci cnd vine vorba de rularea unor algoritmi de clusterizare
pe date obt, inute de la Twitter. Ne-am dorit s testm 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 valorilor anumitor parametri ce pot  setat, i de ctre utilizator n momentul
n care s, i congur clusterele de tip Hadoop.
Dup evaluarea performant, ei aplicat, iilor ce ruleaz pe resurse distribuite de tip cloud, am identicat necesitatea crerii unui mecanism
de select, ionare a resurselor dorite din cadrul unei variett, i de resurse
existente, ns fr a deps, i anumite costuri.

Acest lucru trebuia

realizat n as, a manier nct 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 (Infrastructura ca s, i un Serviciu).

Am luat n considerare un scenariu

bazat pe un federated cloud academic, costnd n colect, ie de cloud-uri


private apart, innd unor diverse institut, ii academice.
n acest sens am creat un mechanism, care pe baza datelor oferite de
ctre cloud controller-ele acestor cloud-uri private, sa genereze ntr-un
mod semi-automat prole de negociere. Generarea semi-automat a
acestor prole de negociere poate  considerat un prim pas n intent, ia
nostr de a ajunge la punctul n care s facem posibil aprovisionarea la timp a aplicat, iilor cu resurse de tip cloud. Integrarea acestui
mecanism n cadrul unei platforme reale face parte din dezvoltrile
ulterioare.

Cuvinte cheie:

sisteme distribuite, cloud computing, performant,


,

workow, Hadoop, domeniu de negociere, negociere de resurse

Documentul de fat, cont, ine un scurt rezumat al tezei de doctorat avnd titlul:
"Utilizarea resurselor de calcul distribuite pentru o execut, ie ecient a aplicat, iilor
de business complexe". Acest rezumat este menit s ofere o viziune de ansamblu
asupra principalelor realizri obt, inute pe perioada studiilor doctorale.

1 Motivatia cercetrii
,

m zilele noastre a rmne 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 cantitt, 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 simulrile lor, deoarece au de a face, mai mereu, cu bugete
limitate s, i termene limit.
n decursul ultimelor decenii, progresul nregistrat de ctre tehnologia de calcul a contribuit semnicativ la accelerarea progresului s, tiint, ic prin reducerea
timpului de execut, ie al aplicat, iilor s, tiint, ice s, i de afaceri [17]. Anumite domenii
de cercetare necesit o putere de calcul ridicat pentru a rula anumite experimente 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 rulrii experimentelor s, tiint, ice putem identica dou probleme principale ce ar putea genera un es, ec:

lipsa unor idei s, tiintice corecte sau neidenticarea experimentelor potrivite


pentru validarea acestor idei.

incapacitatea de a implementa aceste idei s, tiintice astfel nct s faciliteze


execut, ia experimentelor.

Nu tot, i oamenii de s, tiint, det, in aptitudinile necesare implementrii unor


aplicat, ii ce trebuie s reuneasc unelte software-uri ce apart, in unor domenii diverse:

unelte de analiz a datelor, unelte specice unui anumit domeniu, etc.

1. Rezumatul Tezei
Acest lucru este s, i mai dicil n momentul n care trebuie s t, inem cont de resurse limitate, precum timpul s, i costurile nanciare.
n ultimii ani s, i-au fcut aparit, ia cteva tehnologi menite s le dea oemenilor
de s, tiint, o mn de ajutor n ceea ce prives, te maximizarea folosirii resurselor de
calcul pe care le det, in. n primul rnd t, inem s ment, ionm 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, ice
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 ntro limit de timp rezonabil.

n al doilea rnd dezbatem tehnica MapReduce

folosit pentru mbuntt, irea timpilor de execut, i pentru aplicat, iile ce proceseaz
cantitt, i mari de date.

Dintre toate inmplementrile MapReduce existente pe

piat, ne-am ndreptat atent, ia asupra variantei oferite de ctre proiectul Hadoop.
Des, i sistemele ditribuite apar ca s, i o solut, ie evident atunci cnd vine vorba
de imbuntt, irea timpilor de execut, ie a aplicat, iilor, acestea nu sunt us, or de gestionat 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 aprea n orice moment, n
special atunci cnd acestea sunt compuse dintr-un numr mare de resurse eterogene legate ntre ele.

Cteva posibile solut, ii pentru a evita astfel de situat, ii

ar pute : replicarea datelor n cazul aplicat, iilor ce proceseaz cantitt, 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 cercettorilor 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 calculatoare 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)

[14].

Recent, comunitatea s, tiint, ic a manifestat un interes crescut in legtur


cu Arhitecturile Orinetate pe Servicii (SOA) s, i virtualizarea.

Pe baza acestor

1 Organizatiile virtuale sunt denite ca un set de idivizi, institutii menite s mprtseasc


,
,
,
resurse pe baza unui set de reguli

1. Rezumatul Tezei
tehnologi a luat nas, tere un nou tip de sistem distribuit: cloud computing.
Cloud computing a aprut ca o alternativ la tipurile de sisteme distribuite
deja existente s, i ncerc s solus, ioneze problemele de cost prin folosirea uni model de taxare de tipul pay-as-you-go (pltes, te atta ct consumi) s, i prin punerea
la dispozit, ia utilizatorilor a unor resurse elastice ce pot  accesate de oriunde,
prin intermediul Internetului, fr a necesita rezervri anterioare. n ultima decad, 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, intorilor
acestor resurse, planicarea s, i rezervarea lor in avans, etc. Datorita exibilitt, 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.
Numrul 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 nct 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 aprovisionrii cu resurse de tip cloud n contextul unor medii de tip federated cloud s, i t, innd cont
de anumit, i QoS. Ne propunem s cercetm modul n care poate  solut, ionat
problema negocieri resurselor n cadrul unei piet, e concurent, iale prin folosirea
agent, ilor inteligent, i.

1. Rezumatul Tezei

2 Obiectivele cercetrii
n cadrul acestei lucrri ne propunem s studiem modul n care resursele de calcul,
oferite de ctre sistemele de calcul distribuite, pot s mbuntt, easc performant,
n execut, ie a diverselor tipuri de aplicat, ii, totodat reducnd s, i costurile. Avnd 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 ctre utilizarea lor.

Pornind de la acest scenariu init, ial au aprut

cteva ntrebri:

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 prota la
maxim de aceste resurse?

Cum inent, eaz caracteristicile tehnice a acestor resurese (numrul de coruri, 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 cnd
mai mult, i furnizori de resurse de calcul sunt diponibili s, i totodat tinnd
cont de limitrile de buget existente?

Acestea sunt principalele ntrebri la care lucraea de fat, ncerc sa dea un


rspuns. n primul rnd prin investigarea caracteristicilor programelor paralele,
iar apoi prin identicarea principalele metode de paralelizare a palicat, iilor fr a
avea ns nevoi de aptitudini specile de programare paralel. n plus vom evalua
modul n care poate  mbuntt, 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 cnd au posibilitatea de a alege ntre mai mult, i furnizori de
resurse.

3 Structura tezei
Structura tezei reiese din gura 1:

1. Rezumatul Tezei

Capitolul 1: Introducere

Partea 1: Noiuni teoretice legate de programarea paralel i sistemele distribuite


Capitolul 2: Privire de ansamblu asupra calculului paralel

Capitolul 3: Privire de ansamblu asupra sistemelor distribuite

Partea 2: Mijloace existente pentru paralelizarea aplicaiilor,


tehnologiile i arhitecturile folosite
Capitolul 4: Mijloace pentru paralelizarea aplicaiilor

Capitolul 5: Tehnologiile si arhitecturile folosite

Partea 3: Aplicaii practice i studii de caz


Capitolul 6: Studii de caz pentru workflow-uri

Capitolul 7: Folosirea Hadoop pentru optimizarea timpilor de


executie a procesrii datelor provenite de la Twitter

Capitolul 8: Negocierea resurselor de tip cloud folosind ageni inteligeni

Capitolul 9: Concluzii

Figura 1: Structura tezei.

1. Rezumatul Tezei
Partea I - Notiuni teoretice legate de programarea paralel si sistemele distribuite  este compus din Capitolul 2 si Capirolul 3 si are rolul
,

de a oferi o viziune de ansamblu asupra calculului paralel s, i a sistemelor distribuite, precum s, i de a motiva necesitatea utilizrii acestora atunci cnd trebuie
mbuntt, 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 acetuia, 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 perspectiv asupra mijloacelor folosite pentru evaluarea performant, ei paralelizrii unei
aplicat, ii (speedup, ecient, , legea lui Amdahl).
n [28] sunt prezentate pricipalel motive ce au dus la aparit, ia calculului paralel. Autorul apreciaz faptul c aparit, ia calcului parallel s-a datorat n ptincipal
nevoii continue de a cres, te performant, a aplicat, iiolor.

Avansarea cercetrilor n

domenii precum: modelarea climateric, descoperirea de noi medicamente, cercetri energetice, nevoia unor cutri web ct mai rapide s, i redarea imaginilor la
o calitate ct 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 numrului tranzistorilor de pe circuitele integrate. Pentru a putea obt, ine performant, e mai
ridicate n cadrul aceleas, i componente dimensiunea tranzistorilor a fost sczut
iar viteza lor de procesare a crescut. ns acest lucru a dus la cres, terea cldurii
generate de aceste componente.

Conform [16] n prima decad a secolului 21

circuitele rcite pe baz de aer s-au apropiat simtitor de limita lor superioar n
ceea ce prives, te capacitatea de disipare a cldurii.
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

1. Rezumatul Tezei
s, i hardware-urilor seriale.

n 1966 Michael Flynn [13] a propus o clasicare a

arhitecturilor de calcul bazat pe numrul 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 cnd este necesar evaluarea performant, ei atinse de ctre o aplicat, ie n
urma paralelizrii ei exist cteva 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. Cteva dintre aceste medote sunt prezentate n [28].
Atunci cnd dorim s parelelizm o aplicat, ie pentru a obt, ine timpi de execut, ie
mai scurt, i trebuie s ncercm s mpart, im n mod echitabil munca ntre coreurile disponibile.
pe

Dac reus, im s facem acest lucru s, i rulm programul nostru

core-uri, rulnd un singur r de execut, ie pe core, atunci programul nostru

ar trebui s ruleze , n teorie, de


considerm
serial s, i

Tserial

Tparalel

ori mai repede dect programul serial. Dac

ca ind timpul necesar pentru ca aplicat, ia s ruleze n mod

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 fcut o observat, ie privind speedup-ul maxim ce


poate  atins de ctre 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 numrul
de core-uri folosite, este limitat.
Putem spune despre o anumit tehnoloige c este

scalabil

dac poate rula

cu perfomat, e similare pentru diverse mrimi ale problemei. n cazul programelor


paralele scalabilitatea se refer la ment, inerea aceluias, i nivel de ecient, a prin
varierea numnarului de procese/re de execut, ie s, i a dimensiunii problemei.
Acestea sunt doar cteva 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 denesc un
astfel de sistem dup cum urmeaz:

Un sistem distribuit este o colectie de calculatoare independente ce-i


apar utilizatorului sistemului ca ind un singur calculator.
,

Acest tip de sisteme cont, in un numr variabil de calculatoare independente ce


coopereaz ntre ele, prin intermediul unei ret, ele de comunicat, ii, pentru a atinge
un obiectiv specic.
n continuare vom prezenta denit, iile principalelor tipuri de siteme distribuite:

Un cluster este un tip de sistem paralel si distribuit ce consist dintro colectie de calculatoate de sine sttatoate, iterconectate ce lucreaz
mpreun ca si o singur resurs computational integrat. dup [6]
,

s, i [29]

Un grid este un tip de sistem paralel si distribuit ce face posibil partajarea, selectionarea si agregarea, n mometul executiei, a unor resurse de calcul autonome distribuite din punct de vedere geograc, n
functie de disponibilitatea acestora, de capacittile pe care le detin, de
perfomant, de costuri si de cererile de calitate a serviciilor fcute de
ctre utilizatori. dup [6] si [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
pltes, ti doar att ct consumi. n [7] cloud computing este vzut 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
sucient pentru a rspunde nevoilor zilnice ale comunitt, ii generale. Un numr
de paradigme computat, ionale au fost propuse n acest sens, cea mai nou ind
cloud computing. Cteva din caracteristicile de baz a cloud computing sunt:

11

1. Rezumatul Tezei

pltes, ti doar att ct consumi

elasticitate resurselor, fatul c acestea i apar utilizatorului ca ind innite

resursele sunt abstractizate sau virtualizate

resursele sunt disponibile la cerere pe baz de self-service

Majoritatea lucrrilor 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 dispozitia 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 si 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 aplicatiilor, tehnologiile si arhitecturile folosite  acest parte este compus din Capitolul 4 si
,

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 paradigmei MapReduce ce le permite utiliatorilor s proceseze cantitt, i mari de date
n paralel; Eucalyptus, o platform pentru construirea de sisteme de tip cloud
ce le ofer utilizatorilor posibilitatea crerii 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 ctre cercettorii ce nu dispun de aptitudini 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] numrul articolelor s, tiint, ice legate de mutiprocesoare a crescut
n mod constant din 2001 ncoace.

n [34] se apreciaz c urmtoarea provo-

care n acest domeniu va  concurent, a. n zilele noaste produsele software sunt


inuent, 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 prote de capacitt, 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
crui dimensiune cres, te mai repede dect puterea de calcul. n [18] se estimeaz
c datele ce vor  generate de viitoarele experimente for  semnicativ mai mari
ca s, i volum dect datele colectate pn 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 dect cele disponibile pn 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 elabora asupa not, uni de workowux de lucru s, i vom analiza modul n care acest
paradigm poate inuemt, a execut, ia aplicas, iilor s, tiint, ice sau de business.

Un ux de lucru stiintic este un proces de combinare a datelor si


proceselor ntr-un set de pasi structurati si copngurabili ce implementeaz solutii computationale semi-automate pentru o problem stiintic.
,

[2]
Un Sistem de Management a Fluxurilor de Lucru este denit ca -

Un sistem ce deneste n mod complet, gestioneaz si execut


uxuri de lucru prin intermediul unor software-uri a cror ordine de
executie este determinat de o reprezentare computerizt a logicii unui
workowux de lucru. [20]
ind:

n anii 90, cnd uxurile de lucru s, tiint, ice au aprut pentru prima oar, acestea erau folosite n principal pentru solut, ionarea problemelor de virtualizare. ns
de atunci a existat o evolut, ie semnicativ n ceea ce prives, te acest tip de tehnologie [36]. Cteva dintre aceste evolut, ii sunt de interes sporit pentru Sistemele de
Management a Fluxurilor de Lucru: platformele orientate pe componente, gridurile 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, ice au evoluat pentru a putea satisface diverse
nevoi ale lumii s, tiint, ice ducnd la schimbarea complet a metodelor s, tiint, ice
folosite. Cu timpul acestea au devenit o prctic uzual avnd un impact semnicativ asupra studiilor s, tiint, ice.
O alta tehnologie folosit pentru paralelizarea aplicat, iilor MapReduce [9], care
a fost implementat pentru a simplica 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 buct, 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 ecient, a paralelizrii aplicat, iilor.

Este prezentat platforma Askalon ce a fost folosit pentru

construirea uxurilor de lucru din partea practic a tezei.

Pentru procesarea

unor cantits, 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 ctre

utilizator se face, n mare parte, n mod vizual pe baza unei interfet, e grace.
Repezentarea AGWL a uxului de lucru este folosit de ctre serviciile de tip
middleware pentru planicarea 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 ctre Google.

Acesta a denumit noul software Hadoop dup numele unui

elefant de plus, pe care l avea ul su. Principalul scop al acestui software era
s proceseze (s copieze, s indexeze, etc.) cantitt, 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 lng stocarea s, ierelor, HDFS este capabil s detecteze s, i s compenseze eventualele erori de hardware aprute. 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 crearea de sisteme de tip clod pe baza infrastructurii de calcul s, i de stocare a datelor
ce se a la ndemna grupurilor de cercetare din domeniul academic. Eucalyptus
este format din mai multe componente ce interact, ioneaz ntre ele prin interfet, e
bine denite.
Arhitectura acestui sitem este simpl, exibil s, i modular avnd un design
ierarhic ce reect 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 execut, ia unor mas, ini virtuale. Toate acestea se realizeaz 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 stttor. Acest lucru ofer urmtoarele avantaje: n primul
rnd 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 rnd
sunt facilitate fucnt, ionalitt, iile legate de securitatea serviciilor web, trstur ce
asigur o comunicare sigur ntre componente.

Partea III - Aplicatii practice si 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 ecient, a privind timpi de execut, ie s, i costurile generate de diverse aplicat, ii, precum s, i ecient, 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  contine 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 implementate n python ce are drep scop extragerea informat, iilor legate de preferint, ele

utiliztorilor de eBay ; uxul de lucru RainCloud

ce a fost implementat pe baza

unei aplicat, ii meteorologice menit s furnizeze previziuni legate de cantitatedea


de precipitat, ii ce ar putea cdea 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 ct, iva pas, i s e parcurs, i n avans [10]:

identicarea sect, iunilor aplicat, iilei ce au cele mai pus, ine dependet, e ntre
ele. Aceste vor deveni activitt, 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 activitt, ile denite n pas, i anteriori are prea multe dependent, e
fat, de o alt activitate, atunci acestea ar trebui reunite n cadrul unei singure activitt, i.

identicarea datelor de intare/ies, ire necesare ecrei activitt, i.

stabilirea corelat, iile existente ntre activitt, ile viitorului workowux de


lucru.

Figura 2 reprezint uxul de lucru realizat pe baza aplicat, iei de extragere a datelor
de pe eBay:

1 O parte din rezultatele legate de fuxul de lucru eBay a fost publicat n Gabriela Andreea
Morar, Cristina Ioana Muntean, Gheorghe Cosmin Silaghi, Implementing and Running a

Workow Application on Cloud Resources, Economy Informatics, vol. 15, no. 3/2011, pages
15-27

2 O parte din rezultatele legate de fuxul de lucru RainCloud a fost publicat n 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

16

1. Rezumatul Tezei

Figura 2: Fluxul de lucru eBay implementat n Askalon.

Pricipalel activitt, i identicate n cadrul acestui workowux de lucru sunt:

Nrusers activitate ce imparte sierul de intare ce contine toti utilizatori ntr-un


,

numr de siere egal cu numarul de core-uri folosite pentru rularea aplicatiei.


Fiecare s, ier va cont, ine un num de utilizatori egal cu numrul total de utilizatori/numarul de core-uri folosite.

ParallelSec este sectiunea din cadrul aplicatiei


,

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 ctre 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. Rezultatele arat c aplicat, ia poate  rulat pe resurse cloud cu un speedup de pn
la 40, speedup calculat pe baza timpului de execus, ie obt, inut pe baza rulrii 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 orograce (LM) [5].

Aplicat, iile acestui

model variaz de la studii climatice la aspecte hidrologice. Figura 3 nft, iseaz


reprezentarea grac a wuxului de lucru RainCloud mpreun cu s, ierele de
intrare/ies, ire necesare ecrei activitt, i:
Pe baza rezultatelor dorite s, i a scopului rulrii woprkow-ului au fost create

17

1. Rezumatul Tezei
topo - Topography.tar.gz
datain - DataIN.tar.gz
NGroup
decisonPostprocessFinal
PostpreocessFinalPPS
decisionNotPostprocessFinal
<<Activity>>

topo
datain
PLM_g_out.tar.gz
templateIterations from
Template_iterations.txt
PLM_g_out.tar.gz
templateIterations from
Template_iterations.txt
ForLoop goes from 1 to
templateIterations

<<ParallelFor>> ParallelFor_1
<<Activity>>

LM_g_out.tar.gz

LinearModel
else

then
<<Activity>>

PostprocessSingle

PPS_g_out.tar.gz
PPS_g_out.tar.gz
LM_g_out.tar.gz

then

else
else
LM_g_out.tar.gz

Template_iterations.txt
PLM_g_out.tar.gz

PrepareLM

then

<<Activity>>

PostprocessFinalLM

<<Activity>>

PPS_g_out.tar.gz

PostprocessFinalPPS

FINAL.tar.gz

FINAL.tar.gz

Figura 3: Reprezentarea grac 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 topograi 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 topograi, e date atmosferice idealizate; este folosit pentru interpretarea msurtorilor meteorologice.

aroma real a uxului de lucru

apart, ine ariei de cercetare, iar att topgra-

ile ct 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 ct s, i resurse provenite de la un cloud public (Amazon EC2).
Experimentele au artat 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 paralelizrii aplicat, iei s, i doar la nal s trecem pe resurse publice,
astfel costurile de dezvoltare reducndu-se semnicativ.
Fluxurile de lucru s, tiint, ice sunt folosite la scar larg n momentul de fat, .
Aceste i ajut pe oemenii de s, tiint, , s, i nu numai, s prote de resursele de calcul
ditribuite pe care le au la ndemn. Prin folosirea acestora timpi de execut, ie ai
aplicat, iilor sunt redus, i semnicativ, iar odat cu aces, tia scad s, i costurile.

Capitolul 7: Folosirea Hadoop pentru optimizarea timpilor de executie a procesrii datelor provenite de la Twitter  acest capitol prezint
modul n care Hadoop poate  folosit pentru a procesa mari cantitt, i de date ntrun timp mai scurt prin prizma folosirii resurselor distribuite. Pentru partea legat
de procesarea datelor a fost folosit librria Mahout [24] care pune la dispozit, ia
utilizatorilor un numr mare de algoritmi de tip machine learning. Acest librrie
ruleaz pe clustere de tip Hadoop. Am rulat o serie de experimente menite s
testeze inuent, 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 congurare a Hadoop pentru a vedea cum aces, tia inuent, eaz la
rndul lor preformant, a obt, inut. Pe baza acestor congurat, ii am rulat algoritmul
k-means

de clusterizare a datelor avnd divers, i parametri pe date obt, inute de la

Twitter.
Hadoop are peste 165 de parametri ce pot  congurat, i de ctre utilizatori.
Gsirea congurat, iei optime nu este activitate trivial.

Cteva sugestii legate

modul n care un utilizator trebuie s is, i congureze clusterul Hadoop sunt prezentate 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

1 O parte din rezultatele prezentate n acest capitol a fost publicat n 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

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  vzut n gura 4.

Hadoop Master
NameNode
DataNode
Machine 1

Hadoop Slave
DataNode

Hadoop Slave
DataNode

Hadoop Slave
DataNode

Machine 2

Machine 3

Machine 4

Figura 4: Arhitectura clusterului Hadoop.

Dup crearea clusterelor Hadoop, performat, a lor poate  testat cu ajutorul


unor librri de teste puse la dispozit, ia utiliatorilor de ctre 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 clusterelor cu date de intrare asemnatoare cu datele reale pe utilizatorii le vor rula
ulterior.
Pentru experimentele noatre am folit seturi de date colecate cu ajutorul Twitter Streaming API timp de o sptmn.

Seturile de date obt, inute reprezint

10% din ntreaga activitate ce are lor zilnic pe Twitter.


Algoritmul a crui 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 numr de clustere stabilit anterior.
Experimentele rulate ne-au artat ca performant, a obt, inut de clusterele Hadoop este puternic inent, at de tipul de sistem folosit pentru stocarea datelor n
cadrul cluster-ului ct s, i de ctre valorile parametrilor de congurare setat, i de
ctre utilizatori.

20

1. Rezumatul Tezei
Deoarece Hadoop a fost creat astfel nct s poat rula si pe resurse de tip
cloud, putem spune c acesta reprezint o solut, ie viabil pentru urilizatorii doresc
s proceseze cantits, i mari de date n mod ocazional s, i cu costuri reduse.

Capitolul 8: Negocierea resurselor de tip cloud folosind agent, i inteligent, i


1

 n acest capitol este prezentat un domeniu de negociere (CloudDomain)

ce a

fost implementat pentru a facilita negocierea resurselor de tip cloud prin intermediul 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 necesitt, iile utilizatorilor s, i n contextul existent, ei mai multor furnizori de astfel de resurse.

Am studiat performant, a domeniului de negociere

implementat prin realizarea unor negocieri ntre un cumprtor de resurse cloud


s, i 10 furnizori diferit, i. Agent, i folositt, i pentru negociere au fost nzestrat, i cu diverse metode de nvt, are: nvt, are bayesian s, i nvt, are Q-learning. Protocoalele
de negociere folosite dunt cele prezenate n [31] s, i [32].
T
, inem s met
, ionm c am implementat un sitem semi-automat de generare a
prolelor de negociere. Acesta genereaz prolele de preferint, e ale furnizorilor de
resurse de tip cloud pe baza datelor obt, inute direct de la aces, tia. Singura parte
din aceste prole ce nu se realizeaz nc n mod automat este cea referitoare la
desemnarea important, ei pe care ecare parametru negociat o are petru furnizorul 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 ctre aces, ti furnizori de resurese n cadrul
rundelor anterioare de negociere.

4 Contributii
,

Acest sect, iune cuprinde contribut, iile ce au fost aduse n cadrul ecrui capitol:

Capitolul 2: Privire de ansamblu asupra calculului paralel - n cadrul


1 O parte din rezultatele prezentate n acest capitol a fost prezentat n 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

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 aprut, motivele ce au dus la aparit, ia
acestuia s, i sunt descrise cteva dintre principalele metode folosite n evaluarea
performant, ei programelor paralele: speedup, ecient, a, msurarea corect a timpilor de execut, ie, etc.

Capitolul 3: Privire de ansamblu asupra sistemelor distribuite - cuprinde un amplu studiu al literaturii din domeniul sistemelor distribuite. Sunt
evaluate pe rnd principalele tipuri de astfel de sisteme: clustere, grid-uri, cloud
computing s, i este prezentat o comparat, ie ntre acestea realizat pe baza principalelor lucrri 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 aplicatiilor


,

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 pentru a reduce costurile. n acest sens ne-am ndreptat atent, ia asupa paradigmelor 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 adreseaz aplicat, iilor ce sunt menite s proceseze cantitt, i mari de date. Am studiat
modul de funct, ionare a acestor tehnologii pentru a putea ulterior s le aplicm
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 prezentatm s, i avantajele s, i dezavantajele acestor platforme s, i evalum complexitatea
utilizrii 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 modicat aplicat, iile astfel nct s le mbuntt, esc performant, a s, i s le scad
costurile necesare rulrii.

Pentru a putea implementa uxurile de lucru a fost

necesar identicarea sect, inilor din aplicat, ii ce puteau i parlelizate s, i a celor ce


puteau  rulate doar secvent, ial, precum s, i identicarea 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 previzionri legate de nivelul de
precipitat, ii dintr-o anumit regiune.

Capitolul 7: Folosirea Hadoop pentru optimizarea timpilor de executie a procesrii 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 cantitt, i nsemnate de date.

Este prezentat modul n

care se pot crea s, i congura 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 att la scderea timpului de execut, ie ct s, i la scdera costurilor (Hadoop poate rula s, i pe resurse de tip cloud). Am realizat cteva teste de
performant, folosind diverse tipuri de clustere Hadoop s, i avnd divers, i parametri
de congurare. Rezultatele obt, inute au artat c att tipul de mediu de stocare
folosit (SSD sau hard disk) ct s, i modicarea divers, ilor parametri de congurare
pot duce ca cres, terea semnicativ 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 inteligent, i - n acest capitol este prezentat un domeniu de negociere (CloudDomain)
pe care l-am creat pentru a putea  folosit de ctre 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 nct s cont, in pricipalel atribute
pe care un utilizator si-ar dori s le negocieze cu un furnizor de resurse cloud de
tip Iaas: numr de core-uri, memorie, numrul de instant, e disponibile dintr-un
anumit tip, pret, s, i dimensiunea hard disk-ului). Acest prol a fost impelmentat
astfel nct s poat  folosit de ctre platforma Genius [12]. Am creat un mecanism ce genereaz n mod semi-automat aceste prole pe baza datelor obt, inute de
la cloud controller-ele cloud-urilor private. Aceste prole 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 Distribuite s, i Paralele, Institutul de Meteorologie s, i Geograe, al Universitt, 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 meteorologic care va rula n ecare zi la aceeas, i or pentru a realiza prognoze realistice
n legtur cu cantitatea de precipitat, ii ce ar putea cdea 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 aat n grija Institutului de Meteorologie
s, i Geograe, al Universitt, 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 optimizeze timpi de execut, ie ai aplicat, iei prin paralelizarea anumitor sect, iuni
ale acesteia s, i gsirea unei modalitt, i de rulare a aplicat, iei n cele mi bune
condit, ii de performant, s, i cu costuri minime. Acesta parte a fost responsabilitatea 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 trebuit sa implementez uxul de lucru pe baza aplicat, iei meteorologice dezvoltate
de ctre 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 identic diversele sect, iuni ale aplicat, iei ce puteu  mapate ulterior n activitt, i
secvent, iale sau paralele n cadrul uxului de lucru.

s identic toate dependent, ele existente ntre activitt, iile gsite n pasul
anterior pentru a le putea deni n cadrul uxului de lucru.

s colaborez cu persoana care a implementat aplicat, ia pentru a putea face


modicrile necesare pentru a mbuntt, 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 nct s putem estima
costurile necesare rulrii 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, Meteorological Simulations in the Cloud with the ASKALON Environment, CoreGRID/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 modic o aplicat, ie astfel nct 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 semnicativ asupra cercetrii mele.

6 Diseminarea rezultatelor
Rezultatele obt, inute pe perioada studiilor mele doctorale au fost publica n cadrul unor articole prezentate la conferint, te s, i workshopuri din tar ct s, i din
strintate.

25

1. Rezumatul Tezei

Gabriela Andreea Morar,

Cristina Ioana Muntean, Gheorghe Cosmin

Silaghi, Implementing and Running a Workow Application on Cloud Resources, 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 Condentiality in Cloud Storage Environments, 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 Proceedings 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, Romnia, publicat n Economy Informatics, vol. 10,
no. 1/2010, pag. 63-73

7 Directii 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 pn n acest moment s, i tendint, ele existente n domeniul
cercetrii m-au ajutat s identic cteva 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, innd cont de cerint, ele QoS ale utilizatorilor
precum s, i de estimrile referitosare la necesarul de resurse al urmtoarei
activitt, 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 planicator (scheduler) ce va avea drep scop planicarea


viitoarelor task-uri pe baza unor estimri a consumului de energie generat
de ctre 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 prole de negociere pe baza unor caracteristici expuse de ctre furnizorii de resurse de tip cloud.

Aceste prole

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 att din partea furnizorilor de resurse cloud ct s, i din partea cumparatorilor acestor
resurse.

27

1. Rezumatul Tezei

implementare unui modul ce va instala n mod automat Hadoop pe nodurile nou adugate la un cluster s, i le va congura pe acestea n conformitate
cu nodul principal (master node). Implementarea unui modul care s fac
corespondent, a dintre parametri de congurare selectat, i de ctre utilizator
si clusterul pe care este instalat Hadoop. Acest modul va avea rolul de a
le sugera utilizatorilor congurat, ia cea mai potrivit pentru clusterul lor.
Acesta este o problema de optimizare a mai multor obiective simultan, deoarece Hadoop dispune de un numr mare de parametrii ce pot  congurat, i
de ctre 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 cteva din principalele direct, ii ulterioare de cerectare ce


ar putea  urmate be baza cercetrii realizate pn 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.

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

Fluxul de lucru eBay implementat n Askalon. . . . . . . . . . . .

17

Reprezentarea grac a uxului de lucru RainCloud n Askalon.

18

Arhitectura clusterului Hadoop. . . . . . . . . . . . . . . . . . . .

20

29

Bibliograe
[1] Technical report. 12
[2] I. Altintas, O. Barney, Z. Cheng, T. Critchlow, B. Ludaescher, S. Parker,
A. Shoshani, and M. Vouk. Accelerating the scientic exploration process
with scientic workows.

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

spring joint computer conference,


York, NY, USA, 1967. ACM.

Proceedings of the April 18-20, 1967,

AFIPS '67 (Spring), pages 483485, New

doi: 10.1145/1465482.1465560.

//doi.acm.org/10.1145/1465482.1465560.

URL

http:

10

[4] Nikhil Bansal. Dynamic speed scaling to manage energy and temperature.
In

In IEEE Syposium on Foundations of Computer Science, pages 520529,

2004. 9
[5] Idar Barstad and Felix Schller.

Introduction of Vertical Layers.

Journal of

68(11):26952709, November 2011.

ISSN 0022-

of Orographic Precipitation:

the Atmospheric Sciences,


4928.

An Extension of Smith's Linear Theory

doi: 10.1175/JAS-D-10-05016.1.

URL

org/doi/abs/10.1175/JAS-D-10-05016.1.
[6] Rajkumar Buyya.

Systems.

http://journals.ametsoc.

17

High Performance Cluster Computing: Architectures and

Prentice Hall PTR, Upper Saddle River, NJ, USA, 1999.

0130137847. 11

30

ISBN

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.

Comp. Syst., 25(6):599616, 2009.


[8] Rajkumar Buyya,

Future Generation

11

James Broberg,

Cloud

and Andrzej M. Goscinski.

Computing Principles and Paradigms.

Wiley Publishing, 2011.

ISBN

9780470887998. 12
[9] J. Dean and S. Ghemawat. Mapreduce: Simplied data processing on large
clusters.

Communications of the ACM, 51(1):107113, 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):143169, 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.

Surv.,

28(1):6770, March 1996.

234345. URL

ISSN 0360-0300.

doi:

ACM Comput.

10.1145/234313.

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.

Appl.,

15(3):200222, 2001.

Int. J. High Perform. Comput.

ISSN 1094-3420.

doi:

http://dx.doi.org/10.

1177/109434200101500302. 5
[15] Hadoop. Hadoop website.

http://hadoop.apache.org,

[16] John L. Hennessy and David A. Patterson.

Edition: A Quantitative Approach.

2012. 2

Computer Architecture, Fourth

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.

intensive scientic discovery.


[18] T. Hey and A. Trefethen.

The fourth paradigm: data-

Microsoft Research Redmond, WA, 2009. 4

The data deluge: An e-science perspective.

Grid computing, pages 809824. Wiley Online Library, 2003.

In

13

Computer,

[19] M.D. Hill and M.R. Marty. Amdahl's law in the multicore era.
41(7):3338, 2008. 13

[20] D. Hollingsworth. Workow management coalition: The workow reference


model. Technical report, The Workow Management Coalition, 1995. 13
[21] S.B. Joshi. Apache hadoop performance-tuning methodologies and best prac-

Proceedings of the third joint WOSP/SIPEW international conference on Performance Engineering, pages 241242. ACM, 2012. 19
tices. In

[22] Tobias Kurze, Markus Klems, David Bermbach, Alexander Lenk, Stefan Tai,

Proceedings of the 2nd International Conference on Cloud Computing, GRIDs, and Virtualization (CLOUD
COMPUTING 2011). IARIA, September 2011. 12
and Marcel Kunze. Cloud Federation. In

[23] J. B. MacQueen. Some methods for classication and analysis of multivariate

Proc. of the fth


Berkeley Symposium on Mathematical Statistics and Probability, volume 1,
observations. In L. M. Le Cam and J. Neyman, editors,

pages 281297. University of California Press, 1967. 20


[24] Apache Mahout. Mahout website.
[25] Dan C. Marinescu.

http://mahout.apache.org,

Cloud computing:

2012. 19

Theory and practice, 2012.

http://www.cs.ucf.edu/~dcm/LectureNotes.pdf.

URL

12

[26] D. Nurmi, R. Wolski, C. Grzegorczyk, G. Obertelli, S. Soman, L. Youse,


and D. Zagorodnov. The eucalyptus open-source cloud-computing system.

Cluster Computing and the Grid, 2009. CCGRID'09. 9th IEEE/ACM


International Symposium on, pages 124131. IEEE, 2009. 15
In

[27] M. Olson. Hadoop: Scalable, exible data storage and analysis.

terly, pages 1418, 2010.

15

32

IQT Quar-

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. Pster.

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.

of Computer Science and Technology, 11(8), 2011.

Global Journal

19

[31] L. Srban, C. tefanache, G. Silaghi, and C. Litan.

A qualitative ascen-

Complex Automated
Negotiations: Theories, Models, and Software Competitions, pages 143159,
ding protocol for multi-issue one-to-many negotiations.

2013. 21
[32] Liviu Dan Serban, Cristina Maria Stefanache, Gheorghe Cosmin Silaghi, and
Cristian Marius Litan. A qualitative ascending protocol for multi-issue one-

Proc. of the 2011 Workshop on Agent-based Complex Automated Negotiations, Studies in Computational Intelligence. Sprin-

to-many negotiations. In

ger, 2012. to appear. 21


[33] Kwang Mong Sim.

Towards complex negotiation for cloud economy.

Advances in Grid and Pervasive Computing,

volume 6104 of

LNCS,

In

pages

395406. Springer, 2010. 6


[34] H. Sutter. The free lunch is over: A fundamental turn toward concurrency
in software.

Dr. Dobb?s Journal, 30(3):202210, 2005.

[35] Andrew S. Tanenbaum and Maarten van Steen.

ples and Paradigms (2nd Edition).

13

Distributed Systems: Princi-

Prentice-Hall, Inc., Upper Saddle River,

NJ, USA, 2006. ISBN 0132392275. 11


[36] I.J. Taylor.

Workows for e-science: scientic workows for grids.

Verlag New York Inc, 2007. 13

33

Springer-

BIBLIOGRAFIE
[37] Luis M. Vaquero, Luis Rodero-merino, Juan Caceres, and Maik Lindner. A
break in the clouds: Towards a cloud denition.

Communication Review,
1145/1496091.1496100.

pages 5055, 2009. URL

http://dx.doi.org/10.

12

[38] Virtualbox. Virtualbox website.


[39] T. White.

ACM SIGCOMM Computer

https://www.virtualbox.org/,

Hadoop: The denitive guide.

34

2012. 20

Yahoo Press, 2010. 19, 20

You might also like