tipuri de multicalculatoare

100
TIPURI DE MULTICALCULATOARE PROCESOARE MASIV PARALELE SISTEME CU TRANSPUTERE CLUSTERE DE STATII DE LUCRU

Upload: wyman

Post on 08-Feb-2016

58 views

Category:

Documents


0 download

DESCRIPTION

TIPURI DE MULTICALCULATOARE. PROCESOARE MASIV PARALELE SISTEME CU TRANSPUTERE CLUSTERE DE STATII DE LUCRU. PROCESOARE MASIV PARALELE (MPP). Procesoarele masiv paralele MPP (Massively Parallel Processors ) : - cost foarte mare (de ordinul milioanelor de dolari) ; - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: TIPURI DE MULTICALCULATOARE

TIPURI DE MULTICALCULATOARE

• PROCESOARE MASIV PARALELE• SISTEME CU TRANSPUTERE• CLUSTERE DE STATII DE LUCRU

Page 2: TIPURI DE MULTICALCULATOARE

PROCESOARE MASIV PARALELE (MPP)

Procesoarele masiv paralele MPP (Massively Parallel Processors) :

-cost foarte mare (de ordinul milioanelor de dolari);

-utilizari speciale (cercetari ştiinţifice, industrie pentru calcul intensiv, prelucrare a unor baze de date imense);

-procesoare standard (Intel Pentium, Sun UltraSparc, DEC Alpha);

-reţeaua de interconectare: de firma, foarte performanta, foarte scumpa;

-capacitate enorma de I/E;

-tolerante la erori (defecte): hardware şi software speciale pentru monitorizarea sistemului, detectând şi recuperând erorile.

Page 3: TIPURI DE MULTICALCULATOARE

Cray T3E

-continua linia de supercalculatoare începuta la mijlocul anilor ’60;-max. 2048 de procesoare;-DEC Alpha 21164:

-RISC superscalar (4 instrucţiuni / ciclu de ceas);-frecvenţe de 300, 450, 600 MHz;-64 de biţi;-adresele virtuale pe 43 de biţi;-adresele fizice pe 40 de biţi -> 1 TB memorie fizica;-doua niveluri de memorie cache:

-nivelul 1: 8 kB pentru date şi 8 kB pentru cod;-nivelul 2: 96 kB de memorie cache date şi cod;

-memoria locala RAM maxim 2 GB / procesor => 4 TB de memorie;-procesorul + circuit special “shell” (memoria, procesorul de comunicaţie şi

512 registre E speciale);-reg E: se încarca cu adrese de memorie la distanţa -> citire/scriere cuvinte sau

blocuri de memorie la distanţa - nu cu instrucţiuni “load” şi “store”);-coerenţa memoriei: datele citite din memoria la distanţa nu sunt pastrate în

cache.

Page 4: TIPURI DE MULTICALCULATOARE
Page 5: TIPURI DE MULTICALCULATOARE

Conectarea nodurilor:

-tor 3D duplex (exemplu: sistem cu 512 noduri -> cub de 8x8x8 => fiecare nod având sase legaturi cu alte noduri vecine, rata de transfer 480 MB/s );

-subsistem de I/E de banda foarte larga, bazat pe comutarea de pachete, cu unul sau mai multe inele Giga Ring: pentru comunicaţia între noduri şi cu echipamentele periferice.

Tipuri de noduri:

-noduri utilizator (nu executa întregul S.O., ci numai un nucleu simplificat);

-noduri dedicate S.O. (Unix);

-noduri de rezerva: la fiecare 128 de noduri -> un nod de rezerva.

Page 6: TIPURI DE MULTICALCULATOARE

Intel/Sandia Option Red

Departamentele de Apărare şi Energie ale SUA -> program supercalculatoare MPP de 1-100 TFLOPS.Intel: primul contract la Sandia National Laboratories

Option Red (1TFLOPS)!

(următoarele două contracte: IBM - Option Blue şi Option White).

Sistemul Option Red:-4608 noduri - reţea plasă 3D;-două tipuri de plăci:

-plăci Kestrel (noduri de calcul);-plăci Eagle (servicii, disc, reţea şi ca noduri de pornire).

=> 4536 de noduri de calcul, 32 de noduri de servicii, 32 de noduri disc, 6 noduri reţea şi 2 noduri de pornire.

Page 7: TIPURI DE MULTICALCULATOARE

Placa Kestrel:-două noduri, fiecare cu două procesoare Pentium Pro la 200 MHz;-memorie partajată de 64 MB;-magistrală locală de 64 de biţi;-interfaţă de reţea (NIC) -> modulele NIC legate între ele, dar numai unul este

conectat la reţea.

Placa Eagle:-două procesoare Pentium Pro şi I/E.

Page 8: TIPURI DE MULTICALCULATOARE

-plăcile interconectate în reţea de tip grilă cu 32x38x2 noduri;-în fiecare: cip pentru dirijare cu şase legături (est, vest nord, sud, celălalt plan

şi la o placă Kestrel sau Eagle conectată la punct);-fiecare legătură: 400 MB/s în fiecare sens.

Page 9: TIPURI DE MULTICALCULATOARE

Partiţii (din punct de vedere logic):

-nodurile de servicii: maşini universale Unix;

-nodurile de calcul: aplicaţiile numerice complexe;

-nodurile de I/E: 640 de discuri (>1 TB):-set de noduri de I/E pentru aplicaţii secrete;-set pentru aplicaţii civile (la un moment dat ataşat un singur set);

-nodurile sistem: pornirea sistemului.

Page 10: TIPURI DE MULTICALCULATOARE

Sistemele IBM SP

Arhitectura IBM Power 1990: statiile de lucru superscalare si serverele din familia RISC System/6000 (RS/6000):

-RISC = Reduced Instruction Set Computer;

-Superscalar = unitati multiple in cip (unitati de v.m, v.f., load/store, etc.) care executa simultan instructiuni in fiecare ciclu de ceas;

-POWER = Performance Optimized With Enhanced RISC.

Initial Power1: 25 MHZ, cate o unitate de v.m. si de v.f., performante de 50 MFLOPS.

Page 11: TIPURI DE MULTICALCULATOARE

SP1 =>primul sistem SP (Scalable POWER parallel). Inovatii:

-suprafata ocupata redusa: masinile POWER1 puse intr-un singur dulap (rack);

-mentenanta redusa: intregul sistem gestionat de administrator de la o singura consola;

-comunicatie performanta interprocesor printr-o retea interna de comutatoare;

-software Parallel Environment pentru dezvoltarea si rularea de aplicatii paralele (cu memorie distribuita);

-SP1 POWER1: 62.5 MHz, 125 MFLOPS.

Page 12: TIPURI DE MULTICALCULATOARE

SP2 => 1993 cu procesoare POWER2. Caracteristici:

- cate doua unitati de v.m. si v.f.;-marirea cache-ului de date;-cresterea ratei de transfer memorie – cache;-66.5 MHz, 254 MFLOPS;-set imbunatatit de instructiuni.

Imbunatatirile SP2 (pentru o mai buna scalabilitate):-software performant de sistem si de gestiune a sistemului;-imbunatatirea Parallel Environment;-rata crescuta in reteaua de comutatoare.

Page 13: TIPURI DE MULTICALCULATOARE

P2SC => 1996, POWER2 SuperChip (~POWER2), dar cu 160 MHz si dublul performantelor POWER2. 

PowerPC => 1993, parteneriat IBM, Apple, Motorola. Include majoritatea instructiunilor POWER, in plus instructiuni pentru SMP. Varianta finala 604e. Avantaje:

-CPU-uri multiple;-frecventa mai mare de ceas;-cache L2;-memorie marita, discuri, I/E.

PowerPC 604e: SMP cu 4 procesoare, 332 MHz => realizarea sistemului ASC Blue-Pacific (cel mai puternic sistem la vremea respectiva).

Page 14: TIPURI DE MULTICALCULATOARE

POWER3 => 1999, fuziune intre POWER2 uniprocesor si PowerPC multiprocesor. Avantaje:

-arhitectura pe 64 biti;-frecventa mai mare de ceas;-memorie, cache, disc, I/E marite;-numar mai mare de procesoare.

=> ASC White (bazat pe POWER3 Nighthawk-2). 

POWER4 => 2001, blocul de baza: cip cu doua procesoare SMP, 4 cipuri = 1 modul cu 8 procesoare. Se pot combina module pentru masini SMP cu 16, 24, 32 procesoare. Imbunatatiri:

-cresterea numarului de procesoare: maxim 32 de procesoare / nod;-frecventa de ceas peste 1 GHz;-cache L2, disc, I/E crescute;-cache L3 partajata intre module.

Page 15: TIPURI DE MULTICALCULATOARE

POWER5

=> introdus in 2004; asemanator POWER4, dar cateva imbunatatiri:-maxim 64 procesoare / nod;-ceas 2.5 GHz;-cache L3 mai mare, mai rapid si pe cip;-largime de banda cip-memorie 16 GB/s (4x POWER4);-multithreading (2 thread-uri simultane per procesor);-gestiune de putere dinamica (cipurile neutilizate consuma mai putin si degaja

mai putina caldura).Exemplu: ASC Purple.

Page 16: TIPURI DE MULTICALCULATOARE

POWER6 => introdus in 2007

Page 17: TIPURI DE MULTICALCULATOARE

Dezvoltari :

-POWERx evolutie in continuare:

-2008 POWER7 (in dezvoltare, din aprilie 2006);

-2010 POWERn...

-BlueGene: arhitectura noua, peste 106 procesoare, fiecare cu 1 GFLOPS => 1 PFLOPS (BlueGene/L de la Lawrence Livermore National Laboratory a atins pentru benchmark Linpack performanta de 280.6 TFLOPS).

Page 18: TIPURI DE MULTICALCULATOARE

 Hardware SP

 Componentele unui sistem SP:

-„frames”: o unitate constand dintr-un rack pentru plasarea calculatoarelor, surse, echipamente de racire, comunicatii;

-„nodes”: statii de lucru AIX RS/6000 impachetate pentru a fi plasate intr-un frame SP. Nu dispun de display, tastatura;

-„switch”: mediul retea interna pentru comunicatie de viteza mare intre noduri. Fiecare frame are o placa de switch-uri pentru interconectarea nodurilor proprii, dar si pentru conectarea la placi de switch-uri ale altor frame-uri;

-„switch adapter”: conecteaza fizic fiecare nod la reteaua de switch-uri;-„control workstation” (CWS): este o statie de lucru AIX independenta cu

display si tastatura care controleaza intregul sistem.

Page 19: TIPURI DE MULTICALCULATOARE
Page 20: TIPURI DE MULTICALCULATOARE

Frame-urile Un sistem SP compus din unul sau mai multe frame-uri, racire cu aer:

-1-16 noduri / frame;

Tipuri de noduri:-„thin”: ocupa un slot in frame;-„wide”: ocupa 2 sloturi adiacente orizontale;-„high”: ocupa 2x2 sloturi;-„mixed”.

Page 21: TIPURI DE MULTICALCULATOARE

 Nodurile SP

 Un nod = masina independenta, plasata intr-o cutie, pusa in frame. Fiecare nod are hardware propriu:

-I/E, inclusiv discuri;

-adaptoare de retea;

-memorii (placi si memorii cache);

-alimentare si echipament de racire.

Exista o copie a S.O. AIX pentru fiecare nod, chiar si pentru nodurile SMP.

Page 22: TIPURI DE MULTICALCULATOARE

Noduri POWER3 -nod = SMP cu 2-16 procesoare;-64 biti;-4 tipuri de noduri POWER3: Winterhawk-1, Winterhawk-2, Nighthawk-1, Nighthawk-2;-frecventa 200-450 MHz;-cache L1: 64 kB date, 32 kB cod;-cache L2: 4 sau 8 MB, cu magistrala proprie;-maxim 64 GB memorie partajata;-magistrale separate de date si adrese;-structura superscalara: 8 unitati de executie:

-2 unitati v.m. (FPU);-3 unitati v.f. (FXU);-2 unitati load/store (LS);-unitate de ramificatie;-unitate registru de conditie.

 

Page 23: TIPURI DE MULTICALCULATOARE
Page 24: TIPURI DE MULTICALCULATOARE
Page 25: TIPURI DE MULTICALCULATOARE

Noduri POWER4 -nod = SMP cu 8-32 procesoare;-64 biti;-frecventa ceas 1-1.9 GHz;-blocul de baza: modul = 4 cipuri cu cate 2 procesoare (8 procesoare) => 4 module formeaza un SMP cu 32 procesoare;- cache L1: 64 kB date, 32 kB instructiuni/procesor;-L2: 1.5 MB/cip;-L3: 32 MB/cip => L2 si L3 partajate de toate cipurile din modul;-rata cip-cip: 35 GB/s;-memorie partajata de maxim 1024 GB/nod;-interfata rapida I/E (magistrala rapida Gxx) de 1.7 TB/s;-superscalar: 2 FPU, 2 FXU, 2 LS, „Branch Resolution Unit”, „Condition Register Unit”. 

Page 26: TIPURI DE MULTICALCULATOARE
Page 27: TIPURI DE MULTICALCULATOARE
Page 28: TIPURI DE MULTICALCULATOARE

Comparatie POWER3 – POWER4

Page 29: TIPURI DE MULTICALCULATOARE
Page 30: TIPURI DE MULTICALCULATOARE

Noduri POWER5 -dual-core;-maxim 64 procesoare / nod;-arhitectura 64 biti;-superscalar, executie out-of-order, cu unitati functionale multiple (inclusiv doua

unitati v.f. si doua unitati v.m.);-ceas 2.5 GHz;-cache:-controller cache si director L3 pe cip;

-L1 date 32 KB/procesor, bloc (linie) 128 octeti, set asociativ dim. 4;-L1 cod 64 KB/procesor;-L2 1.9 MB/cip (partajata intre procesoarele duale);-L3 36 MB/cip (partajata intre procesoarele duale);

-memorie 1-256 GB;-largime de banda cip-memorie 16 GB/s (4x POWER4);-multithreading (2 thread-uri simultane per procesor) => aceeasi idee la Intel IA32

„hyperthreading”;-gestiune de putere dinamica (cipurile neutilizate consuma mai putin si degaja mai

putina caldura).

Page 31: TIPURI DE MULTICALCULATOARE

Comparatie privind organizarea memoriei la POWER4 si POWER5:

Page 32: TIPURI DE MULTICALCULATOARE

-module:-DCM („Dual-chip Module”): un cip dual core si cache L3;-QCM („Quad-chip Module”): 2 cipuri dual core si 2 cache-uri L3;-MCM („Multi-chip Module”): 4 cipuri dual core si 4 cipuri cache L3;

Page 33: TIPURI DE MULTICALCULATOARE
Page 34: TIPURI DE MULTICALCULATOARE

-modulele se pot combina pentru a forma SMP-uri mai mari:-2xMCM => bloc „book” cu 16 SMP-uri;-4x”book” => 64 SMP-uri;

Page 35: TIPURI DE MULTICALCULATOARE
Page 36: TIPURI DE MULTICALCULATOARE

Reteaua de comutatoare -este bidirectionala: oricare conexiune intermediara contine doua canale full-duplex;

-interconectare multinivel: pentru sistemele mari (>80 noduri) se adauga switch-uri intermediare;

-componentele principale:

-placa de comutatoare (o placa / frame) contine 8 cipuri de switch-uri logice, cu 16 cipuri fizice (pentru toleranta la defecte) => formeaza un crossbar 4x4;

-adaptorul de comunicatii: pentru fiecare nod un adaptor ocupand un slot de extensie de I/E al nodului, adaptorul cablat la placa de comutatoare in portul corespunzator.

Page 37: TIPURI DE MULTICALCULATOARE

Exemplu: configuratie de switch-uri pentru 64 de noduri.

Page 38: TIPURI DE MULTICALCULATOARE

-in functie de utilizare placa de comutatoare:-NSB (“Node Switch Board”): 16 porturi pentru conectarea nodurilor si 16

porturi pentru conectarea la switch-uri din alte frame-uri;-ISB (“Intermediate Switch Board”): toate porturile utilizate pentru conectarea

la alte placi de comutatoare

Sistem cu 96/128 de noduri

Page 39: TIPURI DE MULTICALCULATOARE

Protocoale de comuncatie la switch-uri -US („User Space Protocol”): performante mai bune;-IP („Internet Protocol”): mai lent, utilizat pentru comunicatii de job-uri care implica sisteme IBM SP multiple.

Performantele comunicatiei:

Page 40: TIPURI DE MULTICALCULATOARE

CWS -utilizat de administratorul sistemului pentru monitorizare, intretinere si control;

-nu face parte din sistemul SP;

-este un RISC System / 6000;

-se conecteaza la fiecare frame prin:

-linie seriala RS232C;

-LAN Ethernet extern;

CWS: punct singular de cadere pentru intregul sistem SP => HACWS („High Availibility CWS”), cu doua CWS (primar si backup) !

Page 41: TIPURI DE MULTICALCULATOARE

Software -S.O. AIX (Unix System V);

-fiecare nod SP -> copia sa AIX (o singura copie partajata de toate procesoarele SMP ale nodului);

-Parallel Environment (IBM) => mediul de dezvoltare pentru sistemele IBM SP (C/C++ si Fortran);

-biblioteci matematice:-ESSL („Engineering Scientific Subroutine Library”);-PESSL („Parallel ESSL”, subset cu partea paralela a bibliotecii);-MASS („Math Acceleration Subsystem”, continand versiunile de mare

performanta ale celor mai multe functii intrinseci, cu versiune scalara si versiune vectoriala).

Page 42: TIPURI DE MULTICALCULATOARE

Blue Gene/L

Blue Gene = supercalculator masiv paralel bazat pe tehnologia IBM sistem-pe-un-cip (SoC: system-on–a-chip).

-configuratie maxima : 65536 noduri biprocesor, performanta de 360 TFLOPS.

-tehnologie de integrare de nivel foarte inalt;

-experienta altor sisteme de scop special (exemplu: QCDSP – „quantum chromodynamics on digital signal processors”): foarte bun raport performanta/cost pentru un domeniu restrans de probleme.

Page 43: TIPURI DE MULTICALCULATOARE

=> Consum scazut de putere!Eficienta pe unitatea de putere consumata:

(albastru=IBM, negru=alte masini SUA, rosu=masini Japonia) Un supercalculator cu procesoare conventionale de 360 Tflops => consuma aproximativ 10-20 MW.

Page 44: TIPURI DE MULTICALCULATOARE

Alt criteriu la proiectare: reteaua de interconectare => scalare eficienta (din p.d.v. al performantei si impachetarii). Reteaua:

-mesaje foarte mici (pana la 32 de octeti);-suport hardware pentru operatii colective (broadcast, reducere, etc.)

Alt element: sistemul software si monitorizarea => modelul de programare transfer de mesaje, cu memorie distribuita (biblioteca MPI., disponibila in limbajele C, C++ si Fortran).

Sistemul destinat in mod special unor aplicatii:-simularea fenomenelor fizice;-prelucrarea datelor in timp real;-analiza offline de date.

Page 45: TIPURI DE MULTICALCULATOARE

Componentele sistemului 

-maxim 65536 de noduri, fiecare nod = ASIC cu doua procesoare si 9 DDR-SDRAM-uri (maxim 18);

-nodurile interconectate prin cinci retele (c. m. importanta: retea tor tridimensionala 64x32x32);

-interconectarea este virtual simetrica (un nod poate comunica cu nodurile vecine de pe aceeasi placa sau intr-un alt dulap cu aceeasi rata si aproape aceeasi latenta).

-impachetarea sistemului: 512 noduri de prelucrare cu o rata de varf de 5.6 Gflops pe o placa de 20x25 in („midplane”).

Cele doua procesoare dintr-un nod pot opera intr-unul din doua moduri:-„virtual node mode”: fiecare procesor isi gestioneaza comunicatiile proprii;-„communication coprocessor mode”: un procesor este dedicat pentru

comunicatii si celalalt pentru calcule.

Page 46: TIPURI DE MULTICALCULATOARE

-noduri de I/E pentru comunicatia cu sistemul de fisiere;-calculator host extern (sau chiar doua): pentru sistemul de fisiere, compilare,

diagnostic, analiza si service.

-gestionarea de utilizatori multipli simultan: partitionarea spatiului masinii astfel incat fiecare utilizator sa dispuna de un set dedicat de noduri pentru aplicatia sa, inclusiv resurse dedicate de retea. Partitionarea: prin cipuri de legatura („link chips”).

Cip de legatura = ASIC cu doua functii:-comanda semnalele prin cabluri intre placi, refacand forma semnalelor

distorsionate de cablurile lungi;-redirectioneaza semnalele intre diferite porturi => partitionarea sistemului BG/L

in mai multe sisteme logice separate.

Page 47: TIPURI DE MULTICALCULATOARE

Link chip: 6 porturi;-porturile A si B conectate direct la nodurile dintr-un midplane;-porturile C, D, E si F conectate la cabluri => se pot conecta oricare doua

porturi intre ele.

Page 48: TIPURI DE MULTICALCULATOARE

(liniile = cabluri conectand midplane-urile prin intermediul cipurilor de legatura, partitiile utilizatorilor prin culori diferite)

O posibila partitionare a sistemului:

Page 49: TIPURI DE MULTICALCULATOARE

Retelele Blue Gene/L 

Tor 3D : pentru majoritatea aplicatiilor de transfer de mesaje (comunicarea oricarui nod cu oricare nod). Fiecare nod conectat la sase vecini imediati.

Latenta hardware: 100 ns/nod => in configuratie max. 64K noduri (64x32x32) in cazul c.m.defavorabil se tranziteaza 32+16+16 = 64 noduri => latenta = 6.4 μs.

Page 50: TIPURI DE MULTICALCULATOARE

Retea colectiva ("collective network") se extinde peste intreaga masina BG/L:-un nod -> toate (broadcast) sau un nod -> subset de noduri (latenta<5 μs);-fiecare legatura are o rata de 2.8 Gb/s (atat pentru transmisie cat si pentru

receptie).-operatii intregi de reducere (min, max, suma, sau-biti, si-biti, sau-ex-biti)

implementate cu hardware aritmetic si logic inclus in reteaua colectiva => cresterea vitezei de executie (intarzieri < de zeci-100 de ori decat in alte supercalculatoare tipice) a aplicatiilor cu operatii colective (exemplu: insumare globala).

Page 51: TIPURI DE MULTICALCULATOARE

Reteaua colectiva:

-pentru broadcast (mai performant decat daca s-ar utiliza reteaua tor);

-operatie de adunare in virgula mobila, dar in doua treceri (necesita 10 μs): la primul pas se obtine maximul dintre exponenti, iar la al doilea pas se insumeaza toate mantisele deplasate;

-transferarea fisierelor catre nodurile de I/E (identice cu nodurile procesor, cu diferenta ca reteaua Gigabit Ethernet este conectata in exterior la plasa de switch-uri externe utilizate pentru conectivitatea sistemului de fisiere);

-routarea este statica (fiecare nod contine o tabela statica de routare);

-hardware-ul suporta doua canale virtuale permitand operatii de evitare a blocarii intre doua comunicatii independente.

Page 52: TIPURI DE MULTICALCULATOARE

Reteaua bariera („barrier network”):

-micsoreaza considerabil intarzierea in cadrul operatiilor globale;

-contine patru canale independente fiind -> functie logica globala peste toate nodurile;

=> semnalele individuale de la noduri sunt preluate in hardware si propagate in cadrul unei structuri de tip arbore catre radacina, iar rezultatul este propagat inapoi la noduri:

-operatie SI globala = bariera globala;-operatie SAU globala = intrerupere globala cand intreaga masina sau

numai un subset trebuie oprit (exemplu: pentru diagnostic);

-pentru 64 k noduri intarzierea 1.5 μs.

Page 53: TIPURI DE MULTICALCULATOARE

Reteaua sistem de control („control system network”):-in configuratia de 64 k noduri contine peste 250.000 de dispozitive terminale

(ASIC-uri, senzori de temperatura, surse de curent, diode luminiscente, ventilatoare, etc) => trebuie monitorizate.

-monitorizarea cu un calculator extern (nod de serviciu), parte a calculatorului gazda;

-accesul nodului de serviciu la dispozitivele terminale: prin retea intranet bazata pe Ethernet. Cu un FPGA pachetele Ethernet sunt convertite in format serial JTAG pentru accesul la fiecare nod => control simplu si eficient. JTAG permite accesul chiar si la registrele fiecarui procesor prin rularea pe host a software-ului IBM Risc Watch.

Page 54: TIPURI DE MULTICALCULATOARE

JTAG (Joint Test Action Group) este standardul IEEE 1149.1 (standard numit si „Standard Test Access Port and Boundary-Scan Architecture”).

Interfata JTAG : 4/5 pini adaugati unui cip => cipuri multiple de pe o placa avand inlantuite liniile lor JTAG pot fi testate pe baza unui protocol serial prin conectarea numai la un singur port JTAG a dispozitivului de test. Pinii portului sunt:

-TDI (Test Data In) -TDO (Test Data Out) -TCK (Test Clock) -TMS (Test Mode Select) -TRST (Test Reset) optional.

Page 55: TIPURI DE MULTICALCULATOARE

Reteaua Ethernet Gigabit

-nodurile de I/E au interfata Ethernet Gigabit -> accesul la switch-urile Ethernet externe;

-switch-urile: conectivitate noduri de I/E - sistem de fisiere extern;

-numarul de noduri de I/E este configurabil, cu un raport maxim:(noduri de I/E) / (noduri de calcul) = 1:8

-daca se configureaza sistemul la un raport de 1:64 => 1024 noduri de I/E => rata de transfer > 1 Tb/s.

Page 56: TIPURI DE MULTICALCULATOARE

Nodul Blue Gene/L 

-se bazeaza pe BLC ASIC (SoC cu proces 130 nm CMOS), continand: doua core-uri IBM PowerPC 440 (PPC440), un core virgula mobila pentru fiecare procesor, controler integrat de memorie DDR externa, adaptor Gigabit Ethernet si toate controalele si bufferele retelelor colectiva si tor;

-cele doua procesoare sunt simetrice (ca design, performanta si acces la resurse);

-in aplicatii cu transfer simplu de mesaje se pot utiliza ambele procesoare (aplicatii cu raport crescut calcule/I-E sau cele avand comunicatii cu vecinii imediati);

-in alte aplicatii un procesor dedicat transferului de mesaje, iar celalalt pentru calcule.

Page 57: TIPURI DE MULTICALCULATOARE
Page 58: TIPURI DE MULTICALCULATOARE

-„Double hummer FPU” = doua unitati FPU => performnata de varf de patru operatii v.m./ciclu;

-PPC440 = implementare performanta superscalara a arhitecturii de 32 biti Book-E Enhanced PowerPC Architecture, la 700 MHz (1.4 G operatii/sec) si 2.8 Gflops. Caracteristici:

-microarhitectura in banda de asamblare 7 segmente;-fetch instructiuni dual;-planificare out-of-order;-predictie dinamica a ramificatiilor pe baza unei tabele BHT („branch

history table”);-trei benzi de asamblare independente: banda load/store, banda

simpla intregi si banda combinata intregi, sistem si ramificatie;-fisier 32x32 de registre de scop general (GPR), cu 6 porturi de citire

si 3 porturi de scriere;-unitati de inmultire si inmultire-adunare cu rata de un singur ciclu;-cache-uri L1 independente de 32 KB de date si cod, avand linie

(bloc) de 32 octeti si asociativitate de dimensiune 64, suportand functionare in mod „write-back” si „write-through”;

-trei interfete independente de 128 de biti pentru citire instructiuni, citire date si scriere date („processor local bus” PLB).

Page 59: TIPURI DE MULTICALCULATOARE

PPC440

Page 60: TIPURI DE MULTICALCULATOARE

Sistemul de memorie  -ierarhia de cache pe-cip, memorie principala externa cipului si suport pe-cip pentru comunicatia intre cele doua procesoare. Pentru BG/L de 64 k noduri fiecare nod are 512 MB de memorie fizica (partajata intre cele doua procesoare), in total 32 TB.

-cache-ul L1 in core-ul PPC440;-L2 (L2R si L2W) este foarte mic (2KB): serveste ca buffere prefetch si write-back pentru datele L1;-L3 este mare (4MB) => rata mare si latenta de acces mica;-memoria principala:DDR-SDRAM .

Page 61: TIPURI DE MULTICALCULATOARE

Software

Schema arhitecturala de nivel inalt:

Page 62: TIPURI DE MULTICALCULATOARE

-65536 noduri de calcul si 1024 noduri de I/E;

-reteaua Gigabit Ethernet (functionala) conecteaza blocul de calcul la:-un nod de serviciu (pentru controlul masinii);-nodurile front-end (unde utilizatorii compileaza, lanseaza si interactioneaza

cu aplicatiile lor);- servere paralele de fisiere;

-reteaua Gigabit Ethernet (control): nod de serviciu - bloc de calcul (control direct al hardware-ului);

-nodurile de calcul: impartite in 1024 seturi logice de prelucrare ( psets - „processing sets”);

-pset = un nod de I/E (Linux) si 64 noduri calcul (ruland un nucleu CNK „custom compute node kernel”);

-asignarea nodurilor de calcul la un nod de I/E este flexibila si chiar raportul noduri I/E / noduri calcul poate varia intre 1:8 si 1:128.

Page 63: TIPURI DE MULTICALCULATOARE

Din p.d.v. software masina se poate imparti in : volum de calcul, arie functionala si arie de control, fiecare cu hardware dedicat (asemanator cu ASCI Red).

Page 64: TIPURI DE MULTICALCULATOARE

Volumul de calcul:-implementat prin nuclee si biblioteci runtime pentru nodurile de calcul

(executia aplicatiilor utilizator);-nodurile de calcul “vazute” ca atasate la nodul de I/E (coordonator pset).

Aria functionala:-compilarea aplicatiilor, lansarea si controlul joburilor, depanarea aplicatiilor

si operatiile de I/E la rularea aplicatiilor;-implementarea ariei functionale: software de sistem ruland pe nodurile de I/E,

nodurile front-end si nodul de serviciu.

Aria de control:-implementata exclusiv in nodul de serviciu;-executa operatii de tipul: lansarea masinii („booting”), monitorizarea datelor

de mediu (temperatura, tensiune), raportarea erorilor critice.

Page 65: TIPURI DE MULTICALCULATOARE

Software-ul sistem pentru nodurile de I/E -nodurile de I/E ruleaza Linux -> roluri importante in sistem:

-lansarea joburilor si controlul in pset-urile lor;-reprezinta dispozitivele de incarcare primare pentru majoritatea serviciilor

sistem cerute de rularea aplicatiilor;

-Linux pentru procesoarele PPC440 (modificari in secventa de boot, gestionarea intreruperilor, planul de memorie, suportul de FPU si drivere de dispozitive);

-pe fiecare nod de I/E ruleaza un daemon CIOD („control and I/O daemon”): lansarea programelor, semnalizarea, terminarea si transferul de fisiere prin intermediul mesajelor punct la punct prin reteaua colectiva.

Page 66: TIPURI DE MULTICALCULATOARE

Software-ul sistem pentru nodurile de calcul 

-nodurile de calcul: ruleaza un nucleu minim single-user, dual-threaded (cate un fir de executie per procesor) CNK („compute node kernel”);

-CNK prezinta o interfata POSIX (Portable Operating System Interface Standard);

-suport pentru apelurile sistem privind transferurile I/E de fisiere;-operatiile de I/E nu sunt executate direct de CNK: acestea sunt transferate

catre CIOD din nodul de I/E a pset-ului, iar rezultatele sunt primite inapoi.

Software-ul de transfer de mesaje pentru comunicarea intre procesele de aplicatie ruland pe noduri de calcul -> trei niveluri:

-nivelul pachet: o biblioteca mica furnizand functii pentru accesul direct la hardware-ul de retele BG/L;

-nivelul mesaj: sistem de livrare de mesaje punct la punct cu intarziere mica si banda larga de transfer;

-nivelul aplicatie: MPI.

Page 67: TIPURI DE MULTICALCULATOARE

Software sistem pentru nodurile front-end 

-nodurile front-end: singurele la care se pot loga utilizatorii;-contin compilatoare si depanatoare;-furnizarea joburilor (lansarea - de catre nodul de serviciu);-disponibil setul de tool-uri GNU;-suport de optmizari avansate pentru Fortran 90, C si C++;-compilatoarele suporta generarea automata de cod pentru exploatarea FPU

SIMD cu doua cai (atasata fiecarui procesor din nodul de calcul).

Page 68: TIPURI DE MULTICALCULATOARE

Software-ul sistem din nodul de serviciu -nodul de serviciu: sistem de operare global CMCS („core management and

control system”). Functii:-ia toate deciziile globale si colective;-interfateaza cu module de politica externa (ex: planificatorul de

joburi);-executa o varietate de servicii de gestiune a sistemului (bootarea

masinii, monitorizarea sistemului si lansarea joburilor).

CMCS contine doua procese majore:-MMCS („midplane monitoring and control system”): utilzeaza reteaua de control

pentru manipularea directa a hardware-ului pentru configurare, initializare si operare;-CIOMAN („control and I/O manager”): utilizeaza Ethernetul functional pentru

interfatarea cu sistemele de operare locale in vederea executiei joburilor.

Page 69: TIPURI DE MULTICALCULATOARE

Operatiile MMCS peste reteaua de control:

-operatii hardware de nivel scazut: pornirea surselor, monitorizarea senzorilor de temperatura si reactia corespunzatoare (inchiderea unei masini daca temperatura trece de un anumit prag);

-configurarea si initializarea FPGA-ului de control, a cipurilor de legatura si a cipurilor BG/L (cu procesoare).

-citirea si scrierea registrelor de configurare, SRAM si resetarea core-urilor unui cip BG/L

Page 70: TIPURI DE MULTICALCULATOARE

SISTEME CU TRANSPUTERE

-procesoare de tip transputer de la firma INMOS;

-familia de transputere: dispozitive VLSI -> sisteme de prelucrare concurente;

-limbaj occam;

-exemple:-IMS T222 procesor pe 16 biţi;-IMS T414 şi IMS T425 procesoare pe 32 de biţi;-IMS T800 procesor rapid pe 32 de biţi (v.m.);-IMS M212 controlor de periferice inteligent (procesor pe 16 biţi, memorie pe

cip şi legături de comunicaţie, cu logică pentru interfaţarea de discuri sau periferice generale);

-IMS C011 şi IMS C012 adaptoare de legături permiţând conectarea legăturilor seriale INMOS la porturi paralele sau magistrale

-IMS C004 comutator de legături programabil ( reţea grilă de comutatoare cu 32 de intrări şi 32 de ieşiri).

Page 71: TIPURI DE MULTICALCULATOARE

Arhitectura simplificată a unui transputer

Page 72: TIPURI DE MULTICALCULATOARE
Page 73: TIPURI DE MULTICALCULATOARE

Interfaţarea unei memorii => conectarea unei memorii la transputerul T414 (magistrală pe 32 de biţi, multiplexată pentru date şi adrese şi un spaţiu de adrese de 32 GB);

Semnalele asociate cu interfaţa de memorie:-notMemWrB0-3 (ieşiri): comanda operaţia de scriere;-notMemRd (ieşire): comandă operaţia de citire;-notmemRf (ieşire): comandă operaţia de reîmprospătare la DRAM;-notMemS0-4 (ieşiri): linii de strob configurabile (temporizare programabilă); -MemNotWrD0 (bidirecţională): indicator de scriere / bitul 0 de date;-MemNotRfD1 (bidirecţională): indicator de reâmprospătare / bitul 1 de date;-MemAD2-31 (bidirecţionale): liniile de adrese şi date;-MemReq (intrare): linie de cerere externă;-MemGranted (ieşire): linie de acceptare a cererii externe;-MemWait (intrare): permite introducerea de stări suplimentare de aşteptare;-MemConfig (intrare): permite introducerea informaţiilor de configurare a

semnalelor cu temporizare programabilă.

Page 74: TIPURI DE MULTICALCULATOARE

Schema de principiu pentru conectarea unei memorii la transputerul T414:

Page 75: TIPURI DE MULTICALCULATOARE

Conectarea legăturilor INMOS 

O legătură INMOS (“link”) = implementarea hardware a unui canal occam (fiecare legătură bidirecţională -> o pereche de canale occam, câte unul în fiecare sens).

Page 76: TIPURI DE MULTICALCULATOARE

-mesaj -> secvenţă de octeţi;-după un octet de date, transmiţătorul aşteaptă o confirmare;

Protocolul legăturii:

Page 77: TIPURI DE MULTICALCULATOARE

Exemplu: placa multitransputer IMS B003.

Page 78: TIPURI DE MULTICALCULATOARE

 

Reţele de interconectare 

=> comutatoare grilă;

Exemplu: circuitul IMS C004 (“crossbar switch” 32x32).-programare: legătură serială separată (legătură de configurare).

Page 79: TIPURI DE MULTICALCULATOARE

Tipuri de mesaje:[0] [input] [output] : conectează input la output;

[1] [link1] [link2] : conectează LinkIn1 la LinkOut2 şi LinkIn2 la LinkOut1;

[2] [output] : cere numărul intrării care este conectată la output (IMS C004 răspunde cu numărul intrării, iar bitul cel mai semnificativ indică conectat/deconectat);

[3] : încheie o secvenţă de configurare, iar circuitul este gata să accepte date pe intrările sale;

[4] : resetează circuitul, care astfel poate fi reprogramat;

[5] [output] : ieşirea output este deconectată şi ţinută la nivel logic coborât;

[6] [link1] [link2] : deconecteză ieşirea lui link1 şi ieşirea lui link2.

Page 80: TIPURI DE MULTICALCULATOARE

Soluţia generală de conectare a trei comutatoare (dimensiuni N-M/2, N-M/2 şi M) => un comutator de dimensiune N (N>M) :

Page 81: TIPURI DE MULTICALCULATOARE

Comutator de capacitate foarte mare <= mai multe comutatoare de capacitate M:

Page 82: TIPURI DE MULTICALCULATOARE

Condiţie: existenţa a cel puţin M căi între oricare comutator de intrare şi oricare comutator de ieşire.

Soluţia: bloc logic de interconectare = n comutatoare de dimensiune M.=> comutator de dimensiune nM (nM).

Page 83: TIPURI DE MULTICALCULATOARE

Comutatoare de dimensiune M => comutatoare de dimensiune max. M2.In general => comutator de dimensiune n(M-M mod n).

Utilizarea comutatoarelor IMS C004 pentru realizarea de comutatoare de capacitate mare (3n comutatoare IMS C004 => comutator de dimensiune n(32-32 mod n)) :

Page 84: TIPURI DE MULTICALCULATOARE

Reţea de transputere complet conectată

Page 85: TIPURI DE MULTICALCULATOARE

Transputerul T9000 

Caracteristici:

-a fost ultimul procesor din familie;

-superscalar pe 32 biti si unitate de v.m. pe 64 biti;

-procesor dedicat de comunicatie cu 4 legaturi (link-uri);

-interfata de memorie externa;

-16 KB de memorie pe cip;

-performanta de 200 MIPS si 25 MFLOPS.

Page 86: TIPURI DE MULTICALCULATOARE
Page 87: TIPURI DE MULTICALCULATOARE

Interfata de memorie (exemplu: 8 MB DRAM):

Page 88: TIPURI DE MULTICALCULATOARE

Interconectarea : circuitul crossbar C104 (32x32) -> ruterul procesorului T9000:

-conexiunile lucreaza la 100 Mb/s;-permite rutarea "wormhole" (cand header-ul pachetului a ajuns la un link,

ruterul C104 determina link-ul de destinatie inainte sa receptionezez corpul principal al mesajului);

Page 89: TIPURI DE MULTICALCULATOARE

Sistem MIMD cu transputere T9000 -propus de Barnaby, May si Nicole;

-complet interconectat, bazat pe o arhitectura Clos;

-doua niveluri de crossbar-uri => nu numai interconectare completa, dar chiar si cai multiple intre procesoare.

Page 90: TIPURI DE MULTICALCULATOARE
Page 91: TIPURI DE MULTICALCULATOARE

MULTICALCULATOARE COW Multicalculatoarele COW (Cluster Of Workstation) - clustere de staţii de

lucru.

Cluster = multe PC-uri / staţii de lucru (sute) conectate într-o reţea comercială.

Multicalculatoarele COW:

Sisteme COW centralizate: -PC-urile montate într-un dulap, într-o singură cameră;-maşinile sunt omogene;-echipamente periferice: discuri şi interfeţe de reţea;-calculatoare fără proprietar.

Sisteme COW descentralizate:-PC-urile răspândite într-o clădire sau campus;-calculatoarele sunt heterogene;-set complet de periferice;-cu proprietar.

Page 92: TIPURI DE MULTICALCULATOARE

Reţele de interconectare comerciale pentru sistemele COW:

Ethernet, cu tipurile:- clasic de 10 Mbps / 1.25 MB/s;- fast de 100 Mbps/ 12.5 MB/s;-gigabit de 1 Gbps/ 125 MB/s;

ATM (Asynchronous Transfer Mode):-proiectat pentru sistemul telefonic;-viteze de 155 Mbps şi 622 Mbps;-pachete de 53 de octeţi (5 octeţi informaţii de identificare şi 48 deocteţi de date);

Myrinet:-fiecare placă se conectează la un comutator;-comutatoarele -> topologie oarecare;-legături duplex de 1.28 Gbps pe fiecare sens;

PCI Memory Channel:-dezvoltat de Digital Equipment.

Page 93: TIPURI DE MULTICALCULATOARE

Reţea Myrinet Multicalculator COW cu staţii de lucru UltraSparc interconectate într-o reţea Myrinet.

-placa de interfaţă de reţea NIC (Network Interface Card) cu procesor Lanai (controleaza fluxul de mesaje între procesorul principal şi reţea);

-SRAM : stocarea temporară a mesajelor, cod şi date procesor Lanai;

-placa NIC : trei module DMA (intrare din reţea, ieşire în reţea şi transferuri între procesorul principal şi memoria NIC);

-comenzile pentru procesorul Lanai : scrise de procesorul principal în memoria NIC;

-magistrală internă a cipului Lanai.

Page 94: TIPURI DE MULTICALCULATOARE
Page 95: TIPURI DE MULTICALCULATOARE

PCI Memory Channel 

-dezvoltat de Digital Equipment Corporation -interfaţa de comunicaţie : placă de interfaţă de reţea inserată într-un nod pe o

extensie de magistrală de I/E;-ideea memoriei reflective: stabilirea unei conexiuni între o regiune a spaţiului

de adresă a unui proces (“regiune de transmisie”) şi o “regiune de recepţie” din spaţiul altui proces => datele scrise în regiunea de transmisie să se reflecte (să se scrie şi) în regiunea de recepţie a destinaţiei !

-Memory Channel = NIC bazat pe magistala PCI, -> sistem multiprocesor simetric cu procesoare Alpha. Module:

-cozi FIFO de transmisie şi recepţie;-tabelă de control a paginilor PCT (Page Control Table);-mecanism DMA pentru recepţie;-controloare de transmisie şi recepţie.

Page 96: TIPURI DE MULTICALCULATOARE
Page 97: TIPURI DE MULTICALCULATOARE

Clustere Beowulf

-clusterele Beowulf = sisteme din categoria „high performance parallel computing”;

-dezvoltat de Thomas Sterling si Donald Becker la NASA.

Cluster Beowulf = grup de PC-uri identice ruland un sistem de operare „free open source” tip Unix (Linux, Solaris). Caracteristici:

-calculatoarele echipate cu placa de retea Ethernet cu protocol TCP/IP, legate intr-o retea locala separata;

-dispun de programe si biblioteci (cele mai utilizate MPI, PVM) -> permit partajarea lucrului;

-pe calculatoare ruleaza copii ale aceluiasi program (model SPMD);-comunicatia: prin transfer de mesaje.

Page 98: TIPURI DE MULTICALCULATOARE

Beowulf: arhitectura multicalculator -> un nod server si unul sau mai multe noduri client conectate prin retea Ethernet. Nu contine niciun hardware special!

Nodul server:-controleaza intregul cluster;-furnizeaza fisiere nodurilor client;-este consola sistem si conexiune catre exterior.

Nodurile client:-configurate si controlate de nodul server;-executa numai actiunile comandate de server;-in cazul unei configuratii fara disc, nodurile client nu cunosc adresele IP

decat dupa ce le-au fost furnizate de server.

Page 99: TIPURI DE MULTICALCULATOARE

Diferenta principala intre Beowulf si un sistem COW:-Beowulf opereaza ca o singura masina, nu ca un set de statii de lucru;-Beowulf dispune de propria sa retea locala dedicata pentru comunicatia intre

noduri;-nodurile client nu au tastatura si nici monitor si pot fi accesate numai prin

retea din nodul server.

Page 100: TIPURI DE MULTICALCULATOARE

In cazul sistemelor mari: mai multe noduri server si eventual noduri cu functii dedicate (monitorizare sistem, consola, etc):