Alecu Felician

download Alecu Felician

of 4

description

Alecu Felician

Transcript of Alecu Felician

  • Revista Informatica Economic, nr. 1(33)/2005 71

    The performance analysis of parallel algorithms executed over grid networks

    Asist. Felician ALECU

    Catedra de Informatic Economic, ASE Bucureti 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. Grid computing represents unlimited opportu-nities in terms of business and technical aspects. The main reason of parallelization a sequen-tial program is to run the program faster. The first criterion to be considered when evaluating the performance of a parallel program is the speedup used to express how many times a par-allel program works faster than the corresponding sequential one used to solve the same problem. Keywords: grid computing, grid network, parallel processing, performance analysis, parallel speedup, parallel efficiency.

    rocesarea grid creeaz utilizatorilor im-presia existenei unui singur calculator

    virtual puternic n condiiile n care sistemul este de fapt format prin interconectarea mai multor sisteme de calcul eterogene care par-tajeaz o serie de resurse. Un astfel de com-portament poart numele de uniprocesor vir-tual datorit faptului c utilizatorii nu trebuie s se preocupe de aspecte legate de localiza-rea resurselor, protocoalele de comunicaie folosite, modalitile de planificare utilizate, etc. Standardizarea mecanismelor de comunicaie dintre sisteme eterogene a condus la explozia internetului. Interconectarea unor sisteme in-dividuale i standardizarea modalitilor de folosire a resurselor partajate vor conduce cu siguran la explozia procesrii de tip grid. Acest tip de procesare reprezint o modalita-te de mbuntire a modului de utilizare a resurselor de calcul prezente n reea. n ma-rea majoritate a organizaiilor exist resurse de calcul slab utilizate (procesor, memorie, discuri, etc.). Calculatoarele de tip desktop, de exemplu, au o rata de utilizare mai mic de 5%. Eficiena utilizrii unor astfel de re-surse poate crete simitor prin folosirea pro-cesrii de tip grid. Reelele de tip grid, denumite i clustere de staii de lucru, ofer un suport deosebit pen-

    tru procesarea paralel prin utilizarea simul-tan a mai multor elemente de procesare. n felul acesta se obine o putere de calcul spori-t care este folosit de aplicaii pentru mini-mizarea timpului n care sunt obinute rezul-tatele dorite [Jos03]. Procesarea de tip grid, datorit faptului c folosete resurse deja existente dar neutilizate, reprezint a alterna-tiv mult mai puin costisitoare a calculatoa-relor paralele. Aceast putere de calcul obi-nut prin interconectarea mai multor sisteme de calcul a deschis noi orizonturi nu numai n domeniul tiinific dar i n domenii cum ar fi biomedicina, modelarea financiar, explora-rea petrolier, animaia video i multe altele [Lad04]. Pentru ca un program s poat fi rulat n ca-drul unei reele de tip grid este necesar ca acesta s poat fi divizat n sarcini de calcul independente care s fie executate n paralel. Cu ct taskurile ce compun programul comu-nic mai puin ntre ele cu att aplicaia devi-ne mai scalabil. Un program perfect scalabil ar fi de 10 ori mai rapid n cazul n care ar fi rulat pe 10 procesoare fa de cazul n care s-ar executa ntr-un sistem uniprocesor. Scalabilitatea este msura eficienei cu care sunt utilizate procesoarele din cadrul reelei de tip grid. Desigur c exist o serie de bariere ce stau n

    P

  • Revista Informatica Economic, nr. 1(33)/2005 72

    calea scalabilitii totale cum ar fi numrul de taskuri n care poate fi divizat programul sau existena unor taskuri care nu sunt indepen-dente unele fa de altele fiind necesar ca ele s comunice ntre ele i s se sincronizeze [Wyr04]. De asemenea, mecanismele de co-municare i sincronizare implementate la ni-velul reelei grid pot sta n calea atingerii scalabilitii totale. Reelele de tip grid sunt formate din calcula-toare individuale foarte diferite din punct de vedere al vitezei de calcul, capacitii de memorare i al limii de band de care bene-ficiaz n ceea ce privete reeaua de interco-nectare. Aceast eterogenitate a calculatoare-lor individuale care compun reeaua de tip grid face imposibil folosirea metricilor tra-diionale pentru exprimarea indicatorilor de performan. O reea de tip grid poate fi privit ca un graf G = (V, M), unde V este mulimea vrfurilor (staiile individuale, n numr de p) iar M mulimea muchiilor (conexiunilor) realizate cu ajutorul reelei de interconectare. O mu-chie ntre dou noduri exist numai dac cele dou noduri sunt direct conectate. Datorit faptului c n general fiecare staie este co-nectat cu oricare alta, graful astfel obinut este n majoritatea cazurilor unul complet conectat. Timpul de execuie al unui algoritm secven-ial se exprim ca funcie de dimensiunea da-telor de intrare (numrul acestora). Timpul secvenial de execuie va fi notat n cele ce urmeaz cu Ts. Un algoritm paralel este evaluat tot pe baza timpului de execuie ns acesta depinde nu numai de dimensiunea intrrilor ci i de arhi-tectura calculatorului paralel i de numrul de procesoare existente n sistem. Timpul de execuie paralel (Tp) reprezint timpul scurs din momentul n care programul paralel este lansat n execuie pn cnd ultimul procesor i ncheie execuia. Atunci cnd se realizeaz analiza teoretic a algoritmilor, timpii de execuie sunt expri-mai cu ajutorul numrului de pai de calcul (operaii elementare) ce se execut, n cazul cel mai defavorabil, pentru rezolvarea unei probleme de dimensiune dat.

    Cel mai important criteriu luat n considerare atunci cnd se dorete evaluarea performan-elor unui program paralel este accelerarea paralel care exprim de cte ori programul paralel este mai rapid fa de varianta secven-ial [Dod02]. Accelerarea paralel se notea-z cu S i reprezint ctigul de vitez ce se obine datorit execuiei algoritmului pe un sistem paralel n comparaie cu timpul de execuie n varianta secvenial. Acest indi-cator se exprim ca raport ntre timpul de execuie n cazul cel mai defavorabil al celui mai rapid algoritm secvenial care rezolv o anumit problem i timpul de execuie nece-sar unui algoritm paralel pentru a soluiona aceeai problem pe un sistem cu p procesoa-re identice cu cel al calculatorului secvenial:

    p

    s

    TT

    S = Valoarea maxim a accelerrii paralele este egal cu numrul de procesoare din sistem. O astfel de valoare poate fi atins ntr-un sistem ideal n care nu exist costuri de comunicare iar procesoarele sunt ncrcate echilibrat. Teoretic, accelerarea paralel nu poate avea o valoare mai mare ca p, numrul de procesoa-re. O accelerare paralel egal cu numrul de procesoare din sistem poart numele de acce-lerare liniar. Cu toate acestea, n practic se pot obine i valori mai mari ca numrul de procesoare n anumite situaii speciale [Jor02]. Un astfel de fenomen poart numele de accelerare supraliniar i apare n situaii n care algo-ritmul secvenial este pus n dificultate de factori hardware. Astfel, dac datele progra-mului nu pot fi memorate n ntregime n memoria principal, algoritmul va pierde timpi importani pentru accesarea memoriei secundare. Varianta paralel nu se va con-frunta cu aceast problem deoarece datele vor fi distribuite procesoarelor i vor fi me-morate n memoriile interne ale acestora fr a mai fi necesar s se acceseze memoria se-cundar. n conformitate cu legea lui Amdahl, chiar si ntr-un sistem paralel ideal este foarte dificil de obinut o accelerare paralel egal cu nu-mrul de procesoare datorit faptului c n cadrul oricrui program exist o fracie ca-

  • Revista Informatica Economic, nr. 1(33)/2005 73

    re nu poate fi paralelizat i care trebuie exe-cutat secvenial. Restul de (1 - ) pai de calcul se pot executa n paralel pe procesoa-rele disponibile n sistem. n aceste condiii, accelerarea maxim care se poate obine atunci cnd o fracie a programului nu poa-te fi paralelizat este 1/ indiferent de num-rul de procesoare din sistem. Legea lui Amdahl exprim n mod clar nece-sitatea minimizrii fraciei ce nu poate fi paralelizat prin stabilirea unei limite super-ioare a accelerrii paralele. Pentru ducerea la bun sfrit a unei sarcini de calcul este necesar ca procesoarele sistemului s comunice ntre ele. Transferul de date n-tre dou procesoare ale sistemului este o ope-raiune mare consumatoare de timp care poa-te genera inactivitate la nivelul elementelor de procesare. Din acest motiv, algoritmii pa-raleli ar trebui s fie proiectai astfel nct majoritatea acceselor la memorie s nu nece-site transportul datelor solicitate prin reeaua de interconectare. Existena n cadrul unui program a unui punct de sincronizare ntre mai multe proce-soare va genera timpi de ateptare deoarece execuia programului va continua numai du-p ce toate procesoarele au atins punctul res-pectiv. Principal cauz pentru care la nivelul ele-mentelor de procesare se nregistreaz timpi de inactivitate o constituie ncrcarea neechi-librat a procesoarelor care survine atunci cnd procesoarele din sistem au asociate sar-cini de calcul de dimensiuni inegale. ntr-un astfel de caz, unele procesoare i vor ncheia execuia mai devreme i vor rmne n atep-tare n timp ce altele vor fi nc n faza de execuie. O alt surs care genereaz timpi de inactivi-tate i implicit o ncrcare neechilibrat a procesoarelor o reprezint variaia gradului de paralelism pe parcursul execuiei progra-mului, unde prin gradul de paralelism al unui program paralel nelegem numrul de proce-soare care sunt utilizate pentru execuia aces-tuia. Chiar i prezena n cadrul unui program a unei pri ce nu poate fi paralelizat atrage dup sine o astfel de ncrcare neechilibrat a

    procesoarelor deoarece fracia respectiv va trebui s fie executat secvenial, de ctre un singur procesor. O astfel de situaie este ex-primat de ctre legea lui Amdahl. Din aceste motive, pentru obinerea unui program paralel care s fie executat ct mai rapid este necesar s se reduc ct mai mult posibil fracia de program ce nu se poate pa-raleliza i n plus s se asigure o distribuie ct mai uniform a sarcinii de calcul pe ele-mentele de procesare n condiiile n care se are n vedere minimizarea timpilor de comu-nicaie [Tan95]. Considerm un program paralel ce este exe-cutat ntr-un timp pT pe o reea grid format din p calculatoare individuale numerotate de la 1 la p. Timpul secvenial de execuie al programului pe sistemul individual cu indice-le i va fi notat cu isT . Accelerarea execuiei programului pe cluster-ul de staii poate fi exprimat prin raportul dintre cel mai bun timp secvenial i timpul paralel de execuie:

    p

    is

    pi

    grid TT

    S 1min ==

    Datorit faptului c staiile individuale nu sunt identice, acestea vor avea puteri de cal-cul diferite [Dod02]. Ponderea puterii de cal-cul a unei staii de calcul individuale n com-paraie cu cea a celui mai rapid calculator din cadrul reelei grid se poate calcula utiliznd formula urmtoare:

    is

    js

    pj

    i TT

    P 1min == , i = 1..p

    Valorile pe care le pot lua aceste ponderi sa-tisfac inegalitatea 1iP . Gradul de eterogenitate a calculatoarelor ce intr n componena reelei grid se poate cu-antifica cu ajutorul diferenei de putere de calcul ce exist ntre acestea:

    p

    PGE

    p

    ii

    =

    = 1)1(

    Variaia gradului de paralelism pe parcursul execuiei unui program genereaz ncrcarea neechilibrat a procesoarelor sistemului, un-de prin gradul de paralelism al unui program paralel nelegem numrul de procesoare care

  • Revista Informatica Economic, nr. 1(33)/2005 74

    sunt utilizate pentru execuia acestuia. Gradul mediu de paralelism al unui program se defi-nete ca fiind numrul mediu de staii de lu-cru active pe tot parcursul execuiei acestuia:

    p

    p

    i

    ip

    m T

    TGP

    == 1

    unde ipT reprezint timpul ct staia i a fost activ. Formula urmtoare exprim accelerarea para-lel n funcie de eterogenitatea reelei grid i de gradul mediu de paralelism al programului ce se execut pe cluster-ul de staii:

    )1( GEGPS mgrid = .

    Bibliografie [Lad04], S. Ladd, Guide to Parallel Pro-gramming, Springer-Verlag, 2004 [Wyr04], R. Wyrzykowski, Parallel Process-ing And Applied Mathematics, Springer, 2004 [Jos03] , J. Joseph, C. Fellenstein, Grid Com-puting, Prentice Hall, 2003 [Dod02], Gh. Dodescu, B. Oancea, M. Raceanu, Procesare paralel, Editura Economica, Bucureti, 2002 [Jor02], H. F. Jordan, H. E. Jordan, Funda-mentals of Parallel Computing, Prentice Hall, 2002 [Tan95], A. S. Tanenbaum, Distributed Op-erating Systems, Prentice Hall, 1995