Procesarea Grid: Keywords: Grid Computing, Grid Network, Parallel Processing, Scalability, Queuing Theory

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 4

30 Revista Informatica Economica, nr.

4(28)/2003

Procesarea grid
Prep. Felician ALECU
Catedra de Informatica Economica, A.S.E. Bucuresti

Grid computing represents unlimited opportunities in terms of business and technical aspects.
A grid is a collection of machines, sometimes called as nodes, resources, members, donors,
clients, hosts, engines and so on. The goal is to create the illusion of a powerful computer out
of a large collection of connected systems sharing resources. Some resources may be used by
all users of the grid while others may have specific restrictions. The most common resource is
computing cycles provided by the processors. There are three primary ways to exploit the
grid network. The first is to run an existing application on an available machine on the grid
rather then locally. The second is to use an application designed to split its work in such a
way that separate parts can be executed in parallel on different processors. The third is to run
an application that needs to be executed many times on many different machines in the grid .
Keywords: Grid computing, grid network, parallel processing, scalability, queuing theory,
execution queue, scheduling.

P rocesarea de tip grid reprezinta un nou


nivel de evolutie a procesarii distribuite.
Procesarea grid creeaza utilizatorilor impre-
calculator decât acela pe care este rulata în
mod curent. Daca calculatorul pe care este
rulata în mod traditional aplicatia este ocupat
sia existentei unui singur calculator virtual cu executia alte taskuri, aces ta poate declansa
puternic în conditiile în care sistemul este de de la distanta executia aplicatiei respective pe
fapt format prin interconectarea mai multor un alt calculator disponibil din retea si care
sisteme de calcul eterogene care partajeaza o îndeplineste toate cerintele hardware si sof-
serie de resurse. Un astfel de comportament tware cerute de program.
poarta numele de uniprocesor virtual datorita O categorie de aplicatii care se preteaza foa r-
faptului ca utilizatorii nu trebuie sa se preo- te bine pentru procesarea grid este formata de
cupe de aspecte legate de localizarea resurse- programele care prelucreaza volume mari de
lor, protocoalele de comunicatie folosite, date pentru obtinerea rezultatelor dorite.
modalitatile de planificare utilizate etc. Aplicatiile pot fi rulate în conditii de eficie n-
Standardizarea mecanismelor de comunicatie ta în cadrul retelei grid prin realizarea unei
dintre sisteme eterogene a condus la explozia partitionari în spatiul datelor. Fiecare calcula-
internetului. Interconectarea unor sisteme in- tor din reteaua grid va opera doar asupra unui
dividuale si standardizarea modalitatilor de subset al datelor de intrare. Rezultatul final al
folosire a resurselor partajate vor conduce cu prelucrarii se va obtine prin combinarea re-
siguranta la explozia procesarii de tip grid. zultatelor de la nivelul elementelor de proce-
Acest tip de procesare reprezinta o modalita- sare. Subseturile de date pot fi replicate în re-
te de îmbunatatire a modului de utilizare a tea, utilizând capacitatea de stocare disponi-
resurselor de calcul prezente în retea. În ma- bila si neutilizata la nivelul retelei grid. Parti-
rea majoritate a organizatiilor exista resurse tionarea se poate face si în spatiul instructiu-
de calcul slab utilizate (procesor, memorie, nilor. Programul va fi astfel divizat în taskuri
discuri etc.). Calculatoarele de tip desktop, de independente care pot fi rulate în paralel pe
exemplu, au o rata de utilizare mai mica de procesoarele retelei.
5%. Eficienta utilizarii unor astfel de resurse O a treia varianta de exploatare a procesarii
poate creste simtitor prin folosirea procesarii de tip grid o reprezinta executia în paralel, pe
de tip grid. procesoarele disponibile, a unei aplicatii care
Cel mai simplu mod de exploatare a unei re- trebuie sa se execute de mai multe ori. Proce-
tele grid este executia unei aplicatii pe un alt sarea de tip grid poate conduce la o mai buna
Revista Informatica Economica, nr. 4(28)/2003 31

echilibrare a modului de utilizare a resurselor mar de procese mai mic ca numarul posturi-
deoarece aplicatiile pot fi rulate pe un alt ca l- lor de servire, anumite procesoare vor fi inac-
culator liber din retea în cazul în care cel pe tive, ceea ce va conduce catre o scadere a
care trebuiau executate nu este liber. ritmului real de servire. Se poate concluziona
Retele de tip grid ofera un suport deosebit ca ritmul real de servire nu este constant însa
pentru procesarea paralela prin utilizarea si- acesta depinde de numarul de consumatori
multana a mai multor elemente de procesare. din sistem. În figura 1, pentru o retea grid
În felul acesta se obtine o putere de calcul compusa din patru calculatoare s-a exprimat
sporita care este folosita de aplicatii pentru ritmul real de servire în functie de lungimea
minimizarea timpului în care sunt obtinute cozii de asteptare. Din figura reiese faptul ca
rezultatele dorite. Procesarea de tip grid, da- ritmul de servire creste odata cu lungimea
torita faptului ca foloseste resurse deja exis- cozii de asteptare pâna în momentul în care
tente dar neutilizate, reprezinta a alternativa toate cele patru procesoare sunt ocupate. Din
mult mai putin costisitoare a calculatoarelor acest moment, orice crestere a dimensiunii fi-
paralele. Puterea de calcul obtinuta prin in- rului de asteptare nu mai atrage dupa sine si o
terconectarea mai multor sisteme de calcul a îmbunatatire a ritmului de servire. Diferente-
deschis noi orizonturi, nu numai în domeniul le care se pot remarca între ritmul real de
stiintific dar si în domenii cum ar fi biomedi- servire si cel ideal sunt datorate barierelor
cina, modelarea financiara, explorarea petro- discutate anterior.
liera, animatia video si multe altele. Aplicatiile cu cerinte intensive de calcul care
Pentru ca un program sa poata fi rulat în ca- au fost proiectate pentru a fi executa te pe
drul unei retele de tip grid este necesar ca calculatoare paralele vor fi foarte usor trans-
acesta sa poata fi divizat în sarcini de calcul formate pentru a putea rula în cadrul unei re-
independente care sa fie executate în paralel. tele de tip grid. Din pacate însa nu toate apli-
Cu cât taskurile care compun programul co- catiile pot fi transformate pentru a fi în para-
munica mai putin între ele cu atât aplicatia lel executate în retele grid. La ora actuala nu
devine mai scalabila. Un program perfect exista pe piata instrumente care sa transforme
scalabil ar fi de 10 ori mai rapid în cazul în automat codul secvential în cod paralel exe-
care ar fi rulat pe 10 procesoare fata de cazul cutabil în retele grid. Exista însa pachete care
în care s-ar executa într-un sistem unipro- ne asista în crearea aplicatiilor paralele orien-
cesor. Scalabilitatea este masura efic ientei cu tate grid.
care sunt utilizate procesoarele din cadrul re- Retelele grid pun laolalta resursele calcula-
telei de tip grid. toarelor independente sub forma unei singure
Desigur ca exista o serie de bariere care stau resurse virtuale. Din acest motiv ele pot con-
în calea scalabilitatii totale cum ar fi numarul tribui la echilibrarea modului de utilizare a
de taskuri în care poate fi divizat programul resurselor de calcul. Daca se înregistreaza un
sau existenta unor taskuri care nu sunt inde- vârf de activitate, planificatorul poate schim-
pendente unele fata de altele , fiind necesar ca ba politica de alocare a taskurilor pe proce-
ele sa comunice între ele si sa se sincroniz e- soarele componente schimbând de fapt disci-
ze. De asemenea, mecanismele de comunic a- plina de servire în cadrul sistemului de astep-
re si sincronizare implementate la nivelul re- tare format. Astfel, se pot planifica taskuri pe
telei grid pot sta în calea atingerii scalabili- masinile care au un grad de utilizare mai sca-
tatii totale. zut sau se pot asocia prioritati taskurilor deja
Daca privim reteaua grid prin prisma teoriei existente pentru ca cele vitale sa fie executate
asteptarii, cele n procesoare din sistem repre- înaintea celor mai putin importante. Planifi-
zinta de fapt posturile statiei de servire. Daca carea taskurilor poate fi facuta astfel încât
numarul de procese din sistem este mai mare taskurile sa comunice cât mai putin si pe dis-
ca n, atunci toate procesoarele vor fi ocupate tante cât mai scurte. În plus trebuie sa fie im-
iar ritmul de servire va atinge valoarea ma- plementate, la nivelul întregului sistem, me-
xima. Daca însa în sistem vom avea un nu- canisme de comunicare si sincronizare între
32 Revista Informatica Economica, nr. 4(28)/2003

taskuri pentru a preveni cazuri în care date Procesarea de tip grid a devenit din ce în ce
partajate sunt modificate concomitent de mai mai populara în ultimii ani datorita faptului
multe procese afectând astfel integritatea ca s-au obtinut rezultate spectaculoase prin
acestora. Reteaua de interconectare este si ea utilizarea unei puteri de calcul foarte mari ca-
un factor care poate afecta performantele re- re a rezultat din interconectarea unor calcula-
telei datorita faptului ca nu întotdeauna date- toare obisnuite în cadrul unei retele grid.
le de care are nevoie un task se gasesc în no- Acest caz aparte de exploatare a paralelismu-
dul pe care acesta a fost planificat fiind nece- lui reprezinta un alt domeniu în care teoria
sar transferul acestora. asteptarii îsi gaseste o larga aplicabilitate.
Programul paralel este divizat în sarcini de
ideal
4
calcul care sunt distribuite unor calculatoare
distincte din cadrul retelei. Sistemul paralel
Ritm de servire

3 real este format de aceasta data din sisteme dis-


tincte si eventual eterogene legate între ele în
2 retea iar programele beneficiaza din plin de
multiplicitatea resurselor (procesoare, memo-
1 rie etc.). Rezultatele generate de taskurile
executate în paralel sunt colectate si combi-
nate pentru obtinerea rezultatului final. În fi-
1 2 3 4 5 6
gura 2 se prezinta modul în care este executat
Lungimea cozii de asteptare un program în cadrul unei retele grid.
Fig. 1. Ritmul de servire exprimat în functie Potentialul deosebit în ceea ce priveste pr o-
de dimensiunea cozii de asteptare cesarea paralela este una dintre cele mai im-
portante caracteristici ale sistemelor grid.
În momentul de fata, în cadrul sistemelor cr i- Acest lucru a permis deschiderea de noi fron-
tice elementele hardware sunt duplicate pen- tiere nu numai în domeniul stiintific, ci si în
tru a se asigura în acest fel protectia sistemu- ceea ce priveste modelarea financiara, ex-
lui împotriva unei eventuale defectiuni care ploatarea petrolului, desene animate si asa
ar putea afecta buna functionare. Pe viitor, o mai departe. În toate aceste cazuri sunt folo-
astfel de metoda hardware de protectie va fi siti algoritmi care pot fi divizati în parti inde-
înlocuita cu una pur software prin utilizarea pendente din punct de vedere al executiei.
retelelor grid. În acest fel costurile ar putea Task-urile sunt executate pe ca lculatoarele
scadea foarte mult. Planificatorul va fi re- care formeaza reteaua grid. Teoretic se poate
sponsabil de planificarea tas kurilor doar pe presupune ca prin utilizarea unui numar de
nodurile valide din sistem. Pentru sistemele 10 procesoare se va obtine un timp de exec u-
critice acesta ar putea lansa multiple copii ale tie de 10 ori mai mic. În practica se înregis-
unui task pe masini diferite pentru a preîn- treaza valori mult mai mici, deoarece apar
tâmpina situatia în care unul dintre sisteme costuri de calcul suplimentare datorate co-
devine indisponibil. municarii si sincronizarii dintre procesoare.
Progresele rapide înregistrate în domeniul Reteaua grid este responsabila pentru trimite-
comunicatiilor fac procesarea de tip grid po- rea unui task pentru a fi executat de catre o
sibila. De performantele sistemului de comu- masina din retea. Planificatorul este acela ca-
nicatie depind rezultatele care pot fi obtinute re va gasi cea mai apropiata masina care sa
la nivelul întregului sistem. Astfel, unele tas- poata executa taskul respectiv. Atunci când
kuri necesita largi volume de date care de ce- un nod devine liber, acesta va raporta nodului
le mai multe ori nu se afla în nodul respectiv. responsabil de managementul retelei faptul
Într-un astfel de caz latimea de banda devine ca asteapta noi însarcinari.
o resursa critica care poate limita performan- Planificatoarele sunt în general sensibile la
tele întregii retele grid. modificarea resur selor disponibile în cadrul
retelei grid deoarece astfel de schimbari pot
Revista Informatica Economica, nr. 4(28)/2003 33

afecta timpul estimat de executie al aplicatiei. zervate în avans de catre anumite aplicatii din
De asemenea, planificatorul va trebui sa tina dorinta de a fi respectate termene limita si de
cont de faptul ca o serie de resurse pot fi re- a garanta calitatea serviciilor.

Taskurile în care a Coada de asteptare (firul Planificator


fost divizat de executie)
programul paralel

...
Calculator 1 Calculator 2 Calculator n

Colectarea
rezultatelor
Fig. 2 Executia unui program în cadrul retelei grid

Planificatoarele implementeaza adesea siste- Bibliografie


me de prioritati. Astfel, sunt mentinute con- [Asm03] S. Asmussen, Applied Probability
comitent mai multe fire de executie, câte and Queues, Springer, 2003
unul pentru fiecare clasa de prioritati, iar [Dod02] Gh. Dodescu, B. Oancea, M.
atunci când o masina din retea devine libera, Raceanu, Procesare parallela, Editura
acesteia îi va fi alocat un task extras din coa- Economic a, 2002
da de asteptare aferenta clasei cu prioritatea [Tan99] A. S. Tanenbaum, Organizarea
cea mai mare. Structurata a Calculatoarelor, Computer
Desigur ca si procesarea grid are anumite li- Press Agora, 1999
mite. Nu toate aplicatiile se preteaza a fi exe- [Sab95] G. W. Sabot, High Performance
cutate în cadrul unei retele de tip grid. Unele Computing, Addison-Wesley, 1995
programe pur si simplu nu pot fi paralelizate,
iar pentru altele este nevoie un volum de
munca impresionant pentru a fi rescrise sau
modificate, iar de cele mai multe ori acest
efort nu se justifica tinând cont de câstigul de
viteza obtinut.

You might also like