Sunteți pe pagina 1din 16

Sistemul GridNord

www.eed.usv.ro/gridnord

Introducere
Sistemele de calcul de nalt performan (HPC) sunt sisteme dedicate, capabile s execute numeroase instruciuni aritmetice pe secund (Topul 500 cuprinde cele de ordinul a 20 TFlops sau mai mari). Pn acum, sistemele dedicate acestui tip de calcul (de obicei scumpe i dificil de proiectat) au fost de obicei nlocuite de arhitecturi de uz general, conectate prin sisteme de mare vitez (Fiber Chanel, Ethernet Gigabit, Infiniband), care au permis obinerea de performane ridicate la costuri mai sczute. n ultimul timp, o dat cu dezvoltarea tehnologiilor avansate de creare a microprocesoarelor au aprut uniti GPU (limitate anterior la accelerarea graficii 2D i 3D) avnd acelai numr de transistoare (sau mai mare) cu unitile CPU, dar cu arhitecturi specializate n calcule aritmetice intensive (de genul celor folosite n generarea de grafic 3D), ceea ce le fcea potrivite pentru rularea aplicaiilor din domeniul HPC. Unul din cele mai renumite astfel de sisteme a fost Roadrunner (care a deinut primul loc n Top 500 in iunie 2009), furnizat de IBM ctre Laboratoarele Naionale Los Alamos (SUA). Unul din punctele sale forte, prin care s-a impus n faa unor sisteme dedicate extrem de performante, este cel al arhitecturii folosite arhitectur hibrid realizat att cu sisteme clasice (AMD Opteron) ct i uniti de accelerare a calculelor cu arhitectur RISC (PowerPC). Acest tip de sistem este extrem de performant, cu un volum ocupat mult redus fa de alternativele sale de uz general i extrem de important cu consum de energie foarte redus (de obicei la jumtate). Tendina de nlocuire a procesoarelor de uz general n sarcinile intensiv computaionale este omniprezent att IBM ct i nVidia implementnd asemenea sisteme hibride (AMD/ATI i dezvolt de asemenea propriile platforme hibride).

Specificaii cluster
Clusterul este alctuit din componente de ultim or din domeniul HPC, asamblate ntr-o arhitectur de viitor, eficient att energetic ct i computaional, care ncepe s se impun pe piaa de calcul de performan. Lista componentelor individuale este ataat n Anexa 1 i 2. Un aspect important este folosirea unei arhitecturi hibride, format din dou tipuri de procesoare unul cu arhitectur clasic (x86) pentru managementul sarcinilor i distribuia acestora, i unul cu arhitectur optimizat (PowerPC) pentru calcule intensive. Acest ultim procesor este de fapt elementul ce asigur performana ridicat a sistemului. Sistemul de tip cluster este organizat lamelar, folosindu-se aa-numitele uniti blade pentru depozitarea serverelor dual-procesor (6 servere LS22 pentru management i 48 servere QS22 pentru partea computaional efectiv). Acestea sunt amplasate mpreun cu restul echipamentelor de distribuie i stocare a energiei, de management i stocare de date precum i echipamentele de reea n 2 rack-uri, conform unei scheme de amplasare furnizate n Anexa 3.

Arhitectura Cell BE i procesorul PowerXCell 8i


Arhitectura Cell Broadband Engine (CBEA) este o arhitectur nou, derivat din cea PowerPC pe 64 de bii. Soluiile Cell Broadband Engine oferite de IBM reprezint o combinaie de procesoare bazate pe CBEA, integrate n serverele IBM BladeCenter, i de uneltele software pentru a ajuta n dezvoltarea aplicaiilor care vor rula pe servere. Soluia Cell BE este o combinaie de hardware i software ce furnizeaz calculelor de nalt performan. Aceasta arhitectur const din noua procesoare gravate pe un singur cip, conectate ntre ele i de dispozitivele externe printr-o magistral cu lime de banda mare, avnd memorie coerenta practic un procesor multicore. Cea mai importanta caracteristica a procesoarelor Cell BE este aceea c dei toate nucleele interne partajeaz aceeai locaie de memorie pentru stocare (spaiul efectiv de adrese care include memoria principal), funcia lor este specializata n doua domenii, fiecare acoperit de cte un tip de procesor: PowerPC Processor Element (PPE) i Synergistic Processor Element (SPE). Procesoarele bazate pe CBEA conin un modul PPE i opt module SPE. PPE este un nucleu de PowerPC pe 64 bii, pe deplin compatibil cu arhitectura clasic, i poate rula sisteme de operare de 32 i 64 bii, precum i aplicaii corespunztoare. Nucleele SPE sunt optimizate pentru a rula aplicaii de calcule intensiv i nu sunt optimizate pentru a rula un sistem de operare. Acestea sunt procesoare independente, fiecare rulnd aplicaii individuale, fiecare SPE avnd acces complet la memoria partajat coerent, inclusiv la spaiul I/O mapat pe memorie. Exista o dependen reciproca ntre PPE i SPE (dup cum rezult i din denumirea de sinergistic din componena SPE). SPE depind de PPE pentru a rula sistemul de operare i, n multe cazuri, chiar i firul de execuie ce controleaz o aplicaie. PPE depinde de SPE pentru a furniza cea mai mare parte a performanei aplicaiilor rulate. SPE sunt proiectate pentru a fi programate n limbaje de nivel nalt i suporta un set bogat de instruciuni care includ instruciuni unice extinse, extensii multiple de date, funcionalitate variat a datelor (SIMD Single Instruction, Multiple Data). Totui, la fel ca i procesoarele convenionale cu extensii SIMD, este de preferat folosirea tipurilor de date de tip SIMD pentru obinerea unei performane mai ridicate, dei acest lucru nu este obligatoriu. Modul de lucru al acestui procesor este de tip vectorial. Pentru un programator, Cell BE seamn cu un multiprocesor cu 9 nuclee. PPE este mai performant la sarcini de control i mai rapid la schimbarea sarcinilor. Totui, fiecare dintre procesoare este capabil s execute ambele tipuri de funcii (bineneles, cu penaliti de performan). Aceasta reprezint un factor semnificativ n mbuntirea cu un ordin de magnitudine a performanei computaionale de vrf i a eficienei consumului energetic pe care Cell BE o atinge. O diferen semnificativa ntre PPE i SPE este felul n care acestea acceseaz memoria: PPE acceseaz sistemul principal de stocare (spaiul efectiv de adresare care include memoria principala) cu instruciuni de ncrcare i stocare care merg ntre un fiier registru privat i sistemul principal de stocare (care poate avea memorie cache) iar SPE acceseaz sistemul principal de stocare cu comenzi de acces la memoria directa (DMA) care merg ntre sistemul principal de stocare i o memorie locala privat folosit la stocarea instruciunilor i a datelor. Instruciunile de aducere, de ncrcare i stocare ale SPE acceseaz mai ales acest sistem de stocare local privat, dect sistemul de stocare partajat. Aceasta organizare pe 3 niveluri ale sistemului de stocare (registru fiier, sistem de stocare local, sistem de stocare principal), cu transferuri DMA asincrone ntre sistemul de stocare local i sistemul de stocare principal, reprezint o deviere major de la arhitectura convenionala i modelele de

programare standard, datorita faptului c paralelizeaz n mod explicit calculul i transferurile de date i instruciuni. Datorit avansurilor tehnologice, performana aplicaiilor este - n cele mai multe cazuri - limitat mai degrab de latena memoriei dect de capacitatea de calcul. Cnd un program secvenial efectueaz o instruciune de ncrcare pe o arhitectur convenional care nu se regsete n cache, executarea programului se oprete pentru cteva sute de cicluri. Comparativ, cele cteva cicluri care sunt necesare pentru a se efectua un transfer DMA pentru un SPE reprezint un avantaj major. DMA permite ca fiecare SPE s aib mai multe accese la memoria n lucru dect arhitectura tradiional, fr nevoia de recurge la diverse artificii. Cel mai productiv model de acces la memorie SPE pare a fi cel n care o lista de transferuri DMA este construit n sistemul de stocare local al SPE, astfel nct controlerul DMA al SPE poate procesa lista asincron n timp ce SPE opereaz pe datele transferate anterior. n cteva cazuri, aceasta noua abordare cu privire la accesarea memoriei a dus la aplicaii care le depeau pe cele ale procesoarelor convenionale cu aproximativ dou ordine de magnitudine, n mod semnificativ mai mult dect se poate atepta de la raportul de performan de vrf (aproximativ de 10x) ntre Cell BE i procesoarele PC convenionale.

Fig. 1. Arhitectura procesorului Cell BE. Diagrama-bloc din Figura 1 reprezint arhitectura procesorului Cell BE. Aceast arhitectur include trei elemente principale: Elementul de procesare PowerPC (PPE), care este de fapt procesorul principal. Acesta se bazeaz pe o arhitectura PowerPC pe 64 de bii cu un nucleu cu set redus de instruciuni (RISC), subsistemul de memorie virtual fiind unul tradiional. Modulul conine intern o unitate PPU (Power Processing Unit) conectat la 512 KB de memorie cache de tip L2. PPE ruleaz un sistem de operare, gestioneaz resursele

sistemului i este necesar n principal pentru controlul procesrii - inclusiv alocarea i managementul firelor de execuie ale SPE. Modulul poate rula i software pentru arhitecturi PowerPC mai vechi (este compatibil retroactiv). Setul de instruciuni cuprinde att cele caracteristice PowerPC ct i Vector/SIMD Multimedia Extension set. Nucleul PPE poate s ncarce patru instruciuni i s expedieze dou per unitatea de timp. Pentru mbuntirea performanei, se folosete o structur pipeline cu ntrziere pentru procesarea sarcinilor (aceste sarcini sunt n principal pentru gestiunea procesorului, i mai puin algoritmi utilizator acetia sunt rulai n unitile de accelerare dedicate). n Figura 2 este prezentat schema de lucru a unitii PPU (de tip pipeline):

Fig. 2. Arhitectura pipeline a PPU. Elementul sinergistic de procesare (SPE) este format din opt uniti, procesoare SIMD optimizate pentru operaiuni intensive cu date (alocate de ctre PPE unitatea SPE nu poate comunica direct cu exteriorul). Fiecare dintre aceste elemente identice conine un nucleu RISC cu 256 KB de memorie (formnd un sistem de stocare local pentru instruciuni i date, controlat prin software) i un fiier registru unificat pe 128 de bii i cu 128 de intrri pentru operaii n virgul mobil sau de tip integer. SPE suport un set special de instruciuni SIMD (creat special pentru accelerarea calculelor aritmetice n virgul mobil) i se bazeaz pe transferuri DMA asincrone pentru mutarea datelor i instruciunilor ntre sistemul principal de stocare (spaiul de adresare efectiv care include memoria principal) i sistemul local de stocare. Unitile SPE nu sunt fcute pentru a rula un sistem de operare, astfel c depind de unitatea PPE pentru a primi sarcini de lucru. Avantajul acestor uniti este performana lor n execuia calculelor vectoriale (din acest motiv se mai numesc i acceleratoare). Din acest motiv, aplicaia utilizator trebuie s fie optimizat pentru ca aceste uniti s fie folosite la ntreg potenialul.

Fiecare unitate SPE are la rndul ei un design modular, fiind format dintr -o unitate SPU (Synergistic Processing Unit) de fapt un sistem de execuie a calculelor avnd suport SIMD i o memorie local de 256 KB, i o unitate MFC (Memory Flow Controller) independent un controller DMA ce folosete un modul de management a memoriei (MMU) pentru a realiza operaii sincronizate cu alte uniti SPU de pe cip sau cu unitatea PPU. SPU folosete instruciunile i datele preluate din sistemul de stocare local i comunic printr-un canal dedicat integrat n MFC - cu memoria principal sau cu alte sisteme locale (aflate pe acelai cip fizic) Figura 3:

Fig. 3. Diagrama bloc a SPE. Magistrala de interconectare a elementelor (EIB): unitile PPE i SPE comunic coerent att ntre ele ct i cu sistemul de stocare principal i I/O prin intermediul EIB. Acesta este o structura pe 4 inele (doua n sens orar i doua antiorar) pentru date, i o structura arbore pentru comenzi. Limea de band intern a EIB este de 96 de bii per ciclu i poate suporta mai mult de 100 de cereri de memorie DMA ntre sistemul de stocare principal i SPE-uri. Viteza de operare este jumtate din cea a procesorului iar limea de band de vrf oferit este 204.8 GB/s. EIB posed doua interfee externe, aa cum apare i n Figura 4:

Fig. 4. Unitatea EIB i unitile conectate.

- Controlerul interfeei de memorie (MIC Memory Interface Controller)


realizeaz interfaa ntre EIB i sistemul de stocare principal. Suport dou canale de

memorie Rambus Extreme Data Rate (XDR) I/O (XIO) i accese la memorie pe fiecare canal de 1-8, 16, 32, 64, sau 128 bii - Interfaa Cell BE (BEI Broadband Engine Interface) gestioneaz transferurile de date ntre EIB i echipamentele I/O. Ea asigur translatarea memoriei, procesarea comenzilor, un controler de ntreruperi interne i interfaa pentru magistral. Suport dou canale I/O externe Rambus FlexIO: un canal suport doar dispozitive I/O noncoerent, iar celalalt canal poate fi configurat s suporte fie transferuri non-coerente, fie transferurile coerente ce extind EIB ctre dispozitive externe compatibile (cum ar fi un alt Cell BE). Cell BE suport sisteme de operare concurente (n timp real i fr timp real) precum i managementul resurselor. Dezvoltarea de software n limbaj C/C++ este suportat printr-un set bogat de extensii de limbaj, care definesc tipurile de date C/C++ pentru operaii SIMD i mapeaz intrinsici (comenzi sub forma unor apeluri de funcii) C/C++ pe una sau mai multe instruciuni de asamblare. Aceste extensii de limbaj ofer programatorilor C/C++ un control mai mare asupra performanei codului scris, fr nevoia de a programa n limbaj de asamblare. Acest model de procesor a fost folosit n sistemele QS21 li nu este capabil dect de operaii n simpl precizie (o performan de 205 GFlops per procesor). Procesorul folosit n mod actual pe arhitectura IBM hibrid este un model ce are la baz CBEA i procesorul Cell BE: PowerXCell 8i. Acesta este integrat n structurile QS22, iar diferena fa de arhitectura Cell BE este c opt nuclee SPE au fost mbuntite prin adugarea unui circuit care realizeaz operaii optimizate n dubl precizie. Aceast variant a nucleului se numete Cell BE eDP (Cell Broadband Engine with enhanced Double Precision) fiind tactat la 3.2 GHz. Acest model de proces obine o performan de 205 GFlops per procesor n simpl precizie i 100 GFlops per procesor n dubl precizie. n cadrul programrii hibride a aplicaiilor se pot folosi dou compilatoare: unul dedicat arhitecturii Cell BE (IBM XL C/C++ for Multicore Acceleration - XLC) sau unul potrivit arhitecturii x86 (GNU Compiler Collection - gcc), n funcie de platforma pe care va rula o anumit instan a aplicaiei distribuite. Exist practic trei tipuri de procesoare folosite n acest tip de sistem, aa cum apare i n Figura 5:

Fig. 5. Programarea pe arhitecturi hibride. Pentru fiecare din acestea trebuie s se in cont n momentul programrii de arhitectura i funcionalitatea sa.

Arhitectura cluster
Clusterul hibrid necesit o arhitectur care s permit transferuri de date ntre componente fr a apare blocaje la nivelul acestora. Soluia cea mai eficient n ceea ce privete asamblarea o reprezint folosirea unui magistrale de interconectare de vitez mare, de tip Infiniband, pentru partea de comunicaii de date n cadrul aplicaiilor, i a unei a separate, Ethernet Gigabit, pentru managementul sistemului. Sistemul de comunicaie de mare viteza este alctuit din patru matrici de comutare Infiniband. Fiecare matrice (switch Voltaire IB) este folosit de un BladeCenter. ntr-o matrice se conecteaz echipamentele interne - i anume serverele de tip lam - folosind o interfa de tip 4x DDR ce permite o viteza de maxim 20 GB/s. Fiecare matrice se conecteaz n exterior folosind porturile externe la o viteza de 4xQDR, ceea ce permite o viteza de 40Gb/s per port. Interconectarea matricelor se realizeaz folosind mai multe cabluri, pentru a beneficia de lrgimea agregat de band disponibil. n plus, interconectivitatea matricelor se realizeaz printr-o legtura de tip plasa, n sensul ca fiecare matrice se conecteaz direct cu fiecare matrice. Folosind acest tip de legtur latena este minim, existnd maxim doua hop-uri pn la cel mai ndeprtat nod de calcul. n Figura 6 este descris modul de interconectare ntre matrici:

Fig. 6. Conexiuni interne cluster (comunicaii). Administrarea matricelor se realizeaz prin softul de management instalat pe serverul gpfs-app. Acesta are rolul de monitorizare i aciune pentru administrarea legturilor ntre sistemele de calcul i matrici de comutare. Serviciul care administreaz ntreaga infrastructur

de Infiniband este localizat n /etc/init.d/opensmd. Acest serviciu trebuie sa ruleze pentru a funciona reeaua Infiniband. Din punct de vedere funcional, structura clusterului este una hibrid, cu noduri de management optimizate pentru managementul proceselor i al aplicaiilor distribuite. Aceste noduri (LS22 dual-CPU) nu sunt folosite de obicei la executarea calculelor, ci la distribuia sarcinilor i a job-urilor. Pentru aplicaiile distribuite acestea folosesc mediul MPI (pe cluster fiind configurat OpenMPI) instalat pe sistemul de operare Red Hat Linux Enterprise Edition 5. Aceste noduri sunt n comunicaie cu nodurile subordonate de tip QS22 (noduri de accelerare), fiecare nucleu de procesor Opteron gestionnd cte o asemenea lam de accelerare (fiecare lam avnd 2 procesoare PowerXCell 8i). Acceleratoarele integrate n aceeai lam nu pot comunica direct cu celelalte acceleratoare (de pe lamele vecine), ci doar cu procesorul master (prin intermediul unei magistrale PCI Express), iar sistemul de operare folosit este fie RHEL 5 (dac se dorete utilizarea gamei variate de unelte software de programare a aplicaiilor hibride compilatoare, debugger-e, tracer-e, medii de dezvoltare) sau un mediu Fedora Core 9 puternic optimizat atunci cnd se dorete performan (uneltele de dezvoltare sunt mai srace) cele dou sisteme de operare sunt interschimbabile. Aplicaiile pre-existente nu pot rula ca atare pe aceast platform, ci trebuie parial rescrise i recompilate corespunztor. n Figura 7 este prezentat aceast structur:

Fig. 7. Structura hibrid a clusterului instalat.

Performan
Avantajul tehnologiei Cell BE i a arhitecturii CBEA fa de standard x86 este dat de posibilitatea de a transfera sarcinile intensive computaional ctre acceleratoarele PowerPC (function offload). Performanele acestui tip de procesor dedicat sunt cu un ordin de mrime peste cele ale arhitecturilor de uz general folosite n mod curent n sistemele de supercomputere i clustere i se pliaz pe tendina din ultima vreme de migrare a performanelor computaionale de la unitile CPIU ctre cele similare GPU (modelul iniial al Cell BE a fost proiectat ca un procesor dedicat managementului unei console de jocuri, specializat pe procesarea grafic).

Acest tip de arhitectur are i anumite limitri. Sistemele tip cluster trebuie s foloseasc i noduri cu arhitectur clasic (x86 de exemplu) pentru controlul aplicaiilor ce vor rula pe aceste acceleratoare, ceea ce implic o metod de programare hibrid, n dou trepte, n care partea de programare distribuit (MPI de exemplu) are loc la nivelul nodurilor de management (x86) iar partea computaional este delegat ctre nucleele de accelerare dup ce sunt mprite n sarcini paralele cu granularitate mic (pentru evitarea bottleneckurilor la nivelul SPE din cauza cantitii mici de memorie dedicat). Modelul fluxurilor de date i descompunerea acestora pentru a putea rula eficient pe arhitectura multicore specializat din interiorul procesorului Cell BE este prezentat n Figura 8:

Fig. 8. Domeniul de probleme al unui procesor Cell BE mprirea n subprobleme. Testarea performanei acestui sistem de calcul a fost fcut prin folosirea unui test echilibrat, care s testeze att puterea de calcul a procesoarelor ct i comunicaia dintre acestea folosit inclusiv pentru notarea sistemelor din Top 5001. Acest test HPL (High Performance Linpack) a fost modificat pentru a putea fi compilat pe arhitectura hibrid a clusterului. HPL suport iterare in pipeline a proceselor (look-ahead), ceea ce poate mbunti semnificativ performana pe acest tip de arhitectur (acceleratorul lucreaz vectorial) deoarece calculele sunt distribuite uor ntre procesorul gazd i procesoarele de accelerare. Spre acestea din urm au fost descrcate doar poriunile ce necesit calcule intensive (pentru a beneficia de sporul de performan) mai ales cele executate n virgul mobil. Testul Linpack rezolv un sistem de ecuaii liniare de ordin N realiznd factorizarea LU a matricei de coeficieni. Aceast matrice este factorizat ntr-o matrice triunghiular inferioar (L) i una superioar (U). Dup pivotare, factorii pot fi folosii pentru extragerea direct a soluiilor. n cazul testului Linpack, vectorul soluiilor este folosit ca o coloan adiional a matricei coeficienilor (ceea ce duce la rezolvarea unei singure matrici triunghiulare dup factorizare pentru a obine rezultatului final). Toate calculele trebuie fcute n dubl precizie.

http://www.top500.org/

Cele mai multe calcule sunt realizate n momentul factorizrii LU asupra matricei de coeficieni. Calculele sunt fcute pe blocuri de coloane i rnduri pentru a permite ca majoritatea acestora s fie executate folosind operaii de matrici cu matrici (prin intermediul librriei BLAS3, cea mai eficient dintre librriile matematice de acest tip). Fiecare iteraie produce o coloan L i un rnd U, lsnd ca regiunea redus a matricei s fie rezolvat la iteraia urmtoare. Determinarea prilor care vor fi transmise ctre acceleratoare este principala greutate n momentul programrii unui aplicaii. Identificarea poriunilor intensiv computaionale este foarte important n identificarea parametrilor de optimizare care pot fi aplicai algoritmului ce va fi scris. n cazul testului Linpack, acceleratoarele vor executa calculele necesare factorizrii LU acestea fiind de altfel i puternic paralelizabile. Pentru creterea performanelor, matricea de date va fi stocat n memoria local a acceleratorului i nu n cea a procesorului gazd, deoarece astfel se vor reduce transferurile de date la momentul actualizrii matricei. Aceste optimizri la nivelul aplicaiei au dus la modelul de Linpack hibrid descris n Figura 9. Procesoarele de accelerare lucreaz ntr-un mod simplu se face o cerere, la care se primete rspuns (procesorul gazd face o cerere de execuie a unui calcul sau de transfer a unor date, apoi acceleratorul execut aceste cereri secvenial, n ordinea sosirii). Majoritatea cererilor beneficiaz de un rspuns generat de procesorul de accelerare pentru a indica c respectiva cerere a fost ndeplinit, dar dac aceste cereri nu necesit un astfel de rspuns, acesta este omis pentru creterea performanelor de comunicare i de operare (din acest motiv chiar i metadatele necesare nodului de calcul sunt inute la un nivel minim, pentru a nu aglomera procesorul2). Acest mod de proiectare a algoritmilor simplific operaiunile de nivel nalt i duce la o mai bun structuralizare a interaciunilor ntre procesorul gazd i poriunile accelerate ale aplicaiei.

Fig. 9. Modul de lucru al algoritmului folosit n testul Linpack.


2

De exemplu, programul de accelerare pentru Linpack nu reine mrimea matricei ci doar pe cea a zonei create pentru stocarea matricei de date.

Rezultatele rulrii testului sunt ataate n Anexa 4 (coninutul fiierului de ieire). Scorul final obinut (dup optimizarea parametrilor de intrare ai testului HPL) este de 6.4 TFlops:
============================================================================ T/V N NB P Q Time Gflops ---------------------------------------------------------------------------W01C2C2 191999 128 12 8 731.34 6.452e+03 ----------------------------------------------------------------------------

.Concluzii Sistemul de tip cluster hibrid este un sistem puternic pentru ndeplinirea sarcinilor HPC, care beneficiaz de o tehnologie de ultim or. Scalabilitatea deosebit a acestui tip de sistem (aa cum a fost dovedit pe sistemul mult mai mare aflat n posesia laboratoarelor de la Los Alamos, aceast scalare este aproape liniar chiar i pe un sistem cu peste 10.000 de procesoare) duce la posibilitatea de extindere a numrului de uniti de calcul ntr-un mod simplu i fr modificri de infrastructur (prin adugarea de lame LS22 i QS22 n proporia 1:8). De asemenea, acest tip de sistem este foarte eficient din punct de vedere al consumului energetic, depind n aceast privin toate platformele similare ca performan (formate n marea majoritate din procesoare de uz general). Astfel, eficiena energetic a acestui sistem hibrid este de 437 MFlops/watt, comparativ cu sisteme echivalente, ale cror eficien nu depete de obicei 378 MFlops/watt (BlueGene). Aceste avantaje fac ca sistemul de tip cluster achiziionat s fie un bun preios n domeniul HPC, oferind avantaje pe termen lung.

Anexe

Anexa 1. Lista componentelor clusterului (1).

Anexa 2. Lista componentelor clusterului (2).

Anexa 3. Arhitectura clusterului i amplasarea componentelor.

============================================================================ HPLinpack 1.0a -- High-Performance Linpack benchmark -- January 20, 2004 Written by A. Petitet and R. Clint Whaley, Innovative Computing Labs., UTK ============================================================================ ============================================================================ Modified for hybrid architectures -- April 30, 2008 by M. Kistler, J. Gunnels, D. Brokenshire, and B. Benton, IBM Corporation ============================================================================ An explanation of the input/output parameters follows: T/V : Wall time / encoded variant. N : The order of the coefficient matrix A. NB : The partitioning blocking factor. P : The number of process rows. Q : The number of process columns. Time : Time in seconds to solve the linear system. Gflops : Rate of execution for solving the linear system. The following parameter values will be used: N : 191999 NB : 128 PMAP : Row-major process mapping P : 12 Q : 8 PFACT : Crout NBMIN : 2 NDIV : 2 RFACT : Crout BCAST : 1ringM DEPTH : 0 SWAP : MPI Collectives L1 : no-transposed form U : transposed form EQUIL : yes ALIGN : 64 double precision words ---------------------------------------------------------------------------- The matrix A is randomly generated for each test. - The following scaled residual checks will be computed: 1) ||Ax-b||_oo / ( eps * ||A||_1 * N ) 2) ||Ax-b||_oo / ( eps * ||A||_1 * ||x||_1 ) 3) ||Ax-b||_oo / ( eps * ||A||_oo * ||x||_oo ) - The relative machine precision (eps) is taken to be 1.110223e-16 - Computational tests pass if scaled residuals are less than 16.0 ============================================================================ T/V N NB P Q Time Gflops ---------------------------------------------------------------------------W01C2C2 191999 128 12 8 731.34 6.452e+03 ---------------------------------------------------------------------------||Ax-b||_oo / ( eps * ||A||_1 * N ) = 0.0175427 ...... PASSED ||Ax-b||_oo / ( eps * ||A||_1 * ||x||_1 ) = 0.0118807 ...... PASSED ||Ax-b||_oo / ( eps * ||A||_oo * ||x||_oo ) = 0.0019493 ...... PASSED ============================================================================ Finished 1 tests with the following results: 1 tests completed and passed residual checks, 0 tests completed and failed residual checks, 0 tests skipped because of illegal input values. ---------------------------------------------------------------------------End of Tests. ============================================================================

Anexa 4. Rezultatele rulrii testului Linpack hibrid.

Bibliografie
Allen McPherson: The Cell at Los Alamos: From Ray Tracing to Roadrunner, 2nd STI Cell Workshop, Georgia Tech, July 10th, 2008 M. Kistler, J. Gunnels, D. Brokenshire, B. Benton: Programming the Linpack benchmark for Roadrunner, IBM Journal Res&Dev, vol. 53, no. 5, paper 9, 2009 Komornicki, G. Mullen-Schulz, D. London: Roadrunner: Hardware and Software Overview, IBM Redbooks, http://www.redbooks.ibm.com/abstracts/redp4477.html Ken Koch: Roadrunner Platform Overview, Roadrunner Technical Seminar Series, March 13, 2008 John A. Turner: The Los Alamos Roadrunner Petascale Hybrid Supercomputer Overvie of Applications, Results and Programming, Roadrunner Technical Seminar Series, March 18, 2008 T. Chen, R. Raghavan, J. Dale, E. Iwata: Cell Broadband Engine Architecture and its first implementation A performance view, http://www.ibm.com/developerworks/ power/library/pa-cellperf/ , Nov. 29, 2005 ****: Cell Broadband Engine Architecture, v1.02, IBM DeveloperWorks, October 11, 2007 ****: An enhanced Cell Broadband Engine processor with improved double-precision floating-point performance: PowerXCell 8i Processor, IBM DeveloperWorks, May 7, 2008 ****: Cell Broadband Engine solution: Overview, IBM Systems, 2008 M. Gschwind, H.P. Hofstee, B. Flachs et al: Synergistic Processing in Cells Multicore Architecture, Micro IEEE, vol. 26, issue 2, April 2006 M. Gschwind, B. DAmora, A. Eichenberger: Cell BE enabling density computing for data rich environments, IBM Corporation, 2008 Jack J. Dongara: The LINPACK Benchmark: An Explanation, Lecture Notes in Computer Science Supercomputing, Sesion 5: Parallel Computing II, vol. 297, 1988