TIPURI DE MULTICALCULATOARE

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Κ.ΑΛΑΦΟΔΗΜΟΣ καθηγητής Δ.Παπαχρήστος μέλος ΕΔΙΠ ΑΕΙ ΠΕΙΡΑΙΑ ΤΤ ΠΑΝΕΠΙΣΤΗΜΙΟ Α ΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ.
Advertisements

Producerea curentului electric alternativ
Εφαρμογές Πληροφορικής
GRAFURI GRAFURI NEORIENTATE GRAFURI ORIENTATE.
Sisteme de operare Real-Time; Planificarile in Real-Time
COMPUNEREA VECTORILOR
Proiect Titlu: Aplicatii ale determinanatilor in geometrie
Fenesan Raluca Cls. : A VII-a A
Ce este un vector ? Un vector este un segment de dreapta orientat
Functia de transfer Fourier Sisteme si semnale
4.1 Ce sunt reţelele complexe? 4.2 Tipuri de reţele complexe
Proiectarea Microsistemelor Digitale
Retele induatriale de comunicatii
FLUXUL INFORMATIONAL IN CADRUL SISTEMELOR DE COMANDA NUMERICA
MASURAREA TEMPERATURII
Student: Marius Butuc Proiect I.A.C. pentru elevi, clasa a XI-a
PROGRAMAREA MULTICALCULATOARELOR
Sistemul informaţional economic – sistem cibernetic
ANALIZA RETELELOR SOCIALE
Informatica Industriala
Amplificatoare de semnal mic cu tranzistoare
REALIZAREA MAGISTRALELOR CU CIRCUITE LOGICE
Retele induatriale de comunicatii (continuare)
Îndrumător de proiect: Conf. dr. ing. Ştefan Stăncescu Student:
Amplificatoare de semnal mic cu tranzistoare
Anul I - Biologie Titular curs: Conf. dr. Zoiţa BERINDE
3 MULTICALCULATOARE ORGANIZARE GENERALĂ
SISTEMEME NUMERICE PENTRU PRELUCRARI DE IMAGINI
4. TRANSFORMARI DE IMAGINI 4.1. Introducere
Intrarile de zone Tipuri de conexiuni Exemplu: PIR Z - Conexiunea EOL
Informatica industriala
Calculatoare si sisteme de operare Curs 6
MATERIALE SEMICONDUCTOARE
Institutul National de Cercetare Dezvoltare pentru Microtehnologie (IMT- Bucuresti) MICROSISTEME INTEGRATE DE TIP RF MEMS REALIZATE PE SILICIU,
OpenMP OpenMP : API (Application Program Interface) utilizat pentru a controla explicit paralelismul cu memorie partajata si fire multiple de executie.
MECANICA este o ramură a fizicii care studiază
G. Gazul ideal G.1. Mărimi ce caracterizează structura materiei
,dar totusi suntem diferite?
COMPUNEREA VECTORILOR
TEOREMA LUI PITAGORA, teorema catetei si teorema inaltimii
Sistemul OM – MASINA – MEDIU si sistemul sociotehnic
Industrial Tomography
H. Hidrostatica H.1. Densitatea. Unități de măsură
SISTEM DE DEZVOLTARE CU MICROCONTROLER PIC
UNDE ELECTROMAGNETICE
EFECTE ELECTRONICE IN MOLECULELE COMPUSILOR ORGANICI
Exemple de probleme rezolvate pentru cursul 09 DEEA
Sisteme de achizitii, interfete si instrumentatie virtuala
Parametrii de repartiţie “s” (scattering parameters)
Sisteme de ordinul 1 Sisteme si semnale Functia de transfer Fourier
In sistemele clasice, fara convertoare de putere se datoreaza:
Lentile.
Lucrarea 3 – Indici ecometrici
Circuite logice combinaţionale
Conf. Univ. Dr. Habil. Marc FRÎNCU
Curs 6 Sef Luc Dr. Petru A. COTFAS
Υλικό - Λογισμικό Υλικό (Hardware) Λογισμικό (Software)
Miscarea ondulatorie (Unde)
Serban Dana-Maria Grupa: 113B
Familia CMOS Avantaje asupra tehnologiei bipolare:
Aplicatie SL.Dr.ing. Iacob Liviu Scurtu
Aplicatii ale interferentei si difractiei luminii
Curs 08 Amplificatoare de semnal mic cu tranzistoare
Aplicaţiile Efectului Joule
FIZICA, CLASA a VII-a Prof. GRAMA ADRIANA
CURS 5 COMANDA IN SISTEME FLEXIBILE DE FABRICATIE
CUPLOARE.
Transfigurarea schemelor bloc functionale
Teoria ciocnirilor si a imprastierii particulelor
Μεταγράφημα παρουσίασης:

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); -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.

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.

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.

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.

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.

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

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.

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.

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.

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.

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

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.

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.

POWER6   => introdus in 2007

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

  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.

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

  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.

-nod = SMP cu 2-16 procesoare; -64 biti; 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.  

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

Comparatie POWER3 – POWER4

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

Comparatie privind organizarea memoriei la POWER4 si POWER5:

-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;

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

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.

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

-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

Performantele comunicatiei: 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:

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) !

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

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.

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

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.

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.

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

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.

O posibila partitionare a sistemului: (liniile = cabluri conectand midplane-urile prin intermediul cipurilor de legatura, partitiile utilizatorilor prin culori diferite)

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.

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

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.

-micsoreaza considerabil intarzierea in cadrul operatiilor globale; 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.

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.

JTAG (Joint Test Action Group) este standardul IEEE 1149 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.

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.

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.

-„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).

PPC440

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 .

Software Schema arhitecturala de nivel inalt:

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

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

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.

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.

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.

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

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.

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

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

Arhitectura simplificată a unui transputer

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

Schema de principiu pentru conectarea unei memorii la transputerul T414:

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

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

Exemplu: placa multitransputer IMS B003.

Reţele de interconectare => comutatoare grilă;   => comutatoare grilă; Exemplu: circuitul IMS C004 (“crossbar switch” 32x32). -programare: legătură serială separată (legătură de configurare).  

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.

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

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

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 (nM).

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)) :

Reţea de transputere complet conectată

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.

Interfata de memorie (exemplu: 8 MB DRAM):

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);

-propus de Barnaby, May si Nicole; 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.

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.

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 de octeţ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.

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.

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.

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.

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.

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.

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