Documente Academic
Documente Profesional
Documente Cultură
Curs Anul IV
Specializarea Ingineria Informaiei (INF)
Facultatea de Electronic,
Telecomunicaii i Tehnologia Informaiei
1.1 Introducere
Exist numeroase aplicaii cu cerine de calcul foarte mari (intens
computationale) provocari ale stiintei n diferite domenii:
Domeniul stiintific: fizica nucleara, studierea fenomenelor naturale (meteorologice,
fizica pamantului), biologie(genom), biochimie (proiectarea de noi medicamente) etc.
Domeniul ingineresc: proiectare n mecanic, electronic, arhitectur etc.
Domeniul economic: previziuni financiar-bancare, modelri macro-economice etc.
Processor
Memorie
Memorie
Processor
Memorie
Memorie
Memorii ntreesute
Prof. Felicia Ionescu
Memorie
Cache
Processor
Memorie
Memorie
Memorii cache
4
I3
I4
I5
I6
Instruciuni
Procesoare VLIW
ntr-un procesor VLIW (Very Long Instruction Word) o instruciune codeaz mai
multe operaii care se pot executa concurent, pe unitti de prelucrare multiple,
dac nu exist dependene ntre operaii
n acest fel se reduce numrul operaiilor de fetch (F) i decode (D)
Exemplu: arhitectura procesorului Intel IA64 este VLIW
10
Procesoare superscalare
Un procesor superscalar are mai multe uniti de prelucrare (n general
pipeline) i poate executa mai multe instruciuni n acelasi ciclu (exemplu
procesorul superscalar Sun UltraSPARC)
Ex.: execuie superscalar pe dou ci pentru adunarea a 4 numere:
1. load R1, @1000
3. add R1, @1004
5. add R1, R2
6. store R1, @2000
Dou sau mai multe instruciuni se pot executa simultan (dac nu exist
dependene ntre ele (ex: nu sunt dependene ntre instr. 1 i 2 sau 3 i 4)
Dependenele se rezolv static (la compilare), dar nu pot fi detectate toate
dependenele, sau dinamic (n cursul execuiei), de hardware specializat, dar
aceasta crete volumul circuitelor
Cicli instruciune
0
IF
ID
OF
IF
ID
OF
IF
ID
OF
IF
ID
OF
IF
ID
NA
IF
ID
NA
add R1, R2
WB
11
Procesoare multi-core
Un procesor multicore conine mai multe procesoare interne (cores) n acelai
chip, care execut secvena de instruciuni (programul)
Schema generic a unui procesor dual-core (dat n figura) conine cte o memorie
cache local pentru fiecare procesor (nivel L1) i o memorie cache partajat de
ambele procesoare (nivel L2)
Exemple: Intel Core Duo E6750, An AMD Athlon X2 6400+ dual-core processor.
Procesoarele multi-core:
omogene (conin uniti de acelai fel)
heterogene (conin uniti diferite)
CPU &
Cache L1
CPU &
Cache L1
cache partajat
memorie partajat
prin transfer de mesaje, folosind o reea de
interconectare intern; acestea se mai numesc
SCMP (Single Chip Message Passing)
Memorie
12
13
14
Performane
2000
1990
1980
1970
Cost
15
16
17
18
Calculatoare SISD
Un calculator SISD const dintr-un procesor (P), (compus din unitatea de
procesare - UP i unitatea de control - UC) i o unitate de memorie (M);
n fiecare pas de calcul, UC lanseaz o instruciune, UP executa acea
instruciune aupra unei date din fluxul de date (FD), obinut din unitatea de
memorie (M) i trimite rezultatul napoi n memorie
Un astfel de calculator este un calculator secvenial, care respect modelul
de execuie introdus de John von Neumann n perioada anilor 1945
Procesor
Unitate de
Control (UC)
FI
Unitate de
Procesare (UP)
FD
Unitate de
Memorie (M)
19
Calculatoare MISD
n calculatoarele MISD, exist N uniti de procesare (UP), fiecare primete un
flux de instruciuni (FI) de la propria lui unitate de control (UC), i execut
operaii asupra datelor dintr-un flux unic de date (FD), primit de la o unitate de
memorie (M)
La fiecare ciclu de execuie, fiecare unitate de procesare UPi execut operaii
diferite (n funcie de instruciunea din fluxul FIi pe care o primete de la propria
unitate de control - UCi) asupra aceleiai date (din fluxul de date FD) extrase din
memorie
Arhitecturile MISD (denumite i tablourile sistolice) sunt utilizate pentru aplicaii
specializate
Unitate
de Control (UC0)
FI0
Unitate
de Procesare (UP0)
Unitate
de Control (UC1)
FI1
Unitate
de Procesare (UP1)
Unitate
de Control (UCN-1)
FIN-1
Unitate
de Procesare (UPN-1)
FD
Unitate
de Memorie (M)
20
Calculatoare SIMD
Un calculator SIMD const dintr-un numr N de uniti de procesare (UPi,
0 i < N ), care opereaz sub controlul unui flux unic de instruciuni (FI)
lansat de o unitate de control global (UC)
Unitatile de procesare lucreaz sincron: la fiecare pas de calcul, fiecare
unitate UPi execut aceeai instruciune (extras din fluxul FI) asupra unei
date diferite, extrase din propriul fluxul de date (FDi)
Calculatoarele SIMD mai sunt cunoscute sub numele de tablouri de
procesoare (processor arrays)
Comunicaiile ntre procesoare se fac prin memorie partajat i/sau reea de
interconectare
Unitate
de Control (UC)
FI
Unitate
de Procesare (UP0)
FD0
Unitate
de Procesare (UP1)
FD1
Unitate
de Procesare (UPN-1)
Memorie
i/sau
FDN-1
Reea de
Interconectare
21
Calculatoare MIMD
Un calculator MIMD const dintr-un numr N de uniti de procesare (UPi
0 i < N), fiecare cu propria lui unitate de control (UCi) i memorie local
Fiecare unitate de procesare UPi execut instruciuni din fluxul de instruciuni FIi
lansat de unitatea de control proprie UCi, asupra datelor din fluxul de date
propriu FDi
In calculatoarele MIMD fiecare un procesor (compus din UC i UP) poate
executa un program diferit de programul executat de celelalte procesoare
Clasa de calculatoare MIMD este cea mai general i cea mai flexibil dintre
toate clasele de calculatoare paralele
Unitate de Control
(UC0)
FI0
Unitate de Procesare
(UP0)
FD0
Memorie
Unitate de Control
(UC 1)
FI1
Unitate de Procesare
(UP1)
FD1
i/sau
Reea de
Interconectare
Unitate de Control
(UC N-1)
FIN-1
Unitate de Procesare
(UP N-1)
FDN-1
22
Calculatoarele SIMD:
sincronizare automat ntre procesoare la fiecare ciclu de instruciune
execut eficient programe care implic operaii identice asupra unor masive de date,
programe care sunt cunoscute sub numele de programe data paralele
Calculatoarele MIMD:
pot fi folosite pentru rezolvarea oricrui tip de problem, inclusiv cele care prezint
masive de date regulate i operaii identice executate de toate procesoarele n
aceleai momente de timp (programe data-paralele)
dat fiind c procesoarele lucreaz asincron, algoritmii implementai sunt algoritmi
asincroni, care sunt dificil de proiectat, de implementat, de testat i de evaluat.
23
Din punct de vedere al modului cum comunic procesoarele ntre ele, exista
dou tipuri de arhitecturi paralele:
P0
P1
PN-1
Reea de interconectare
(a)
MP0
MP1
MPM-1
24
ML0
P1
ML1
PN-1
MLN-1
Reea de Interconectare
MGP0
MGP1
MGPM-1
MPD0
P1
MPD1
PN-1
MPDN-1
Reea de Interconectare
25
Reea de Interconectare
P0
P1
M0
PN-1
M1
MN-1
26
Slab cuplate
Multiprocesoare
Spaiu unic de adrese al
memoriei partajate
Multiprocesoare
cu memorie partajat
centralizat (UMA)
(SMP Symmetric
Multi-Processor)
Multicalculatoare
Spaii multiple de adrese ale
memoriei i transfer de mesaje
Multiprocesoare
cu memorie partajat
distribuit (NUMA)
Multicalculatoare
cu memorie
centralizat (?)
Multicalculatoare
cu memorie
distribuit
Arhitecturile actuale ale calculatoarelor paralele sunt hibride: MPP (Massively Parallel
Processsing): multicalculatoare n care nodurile sunt compuse din
multiprocesoare (CPU) multicore, n combinaie cu procesoare GPU
Prof. Felicia Ionescu
27
28
29
Algoritmi concureni:
Algoritmi paraleli algoritmi care definesc aplicaii paralele
Algoritmi distribuiti - algoritmi care definesc aplicaii distribuite
Programare concurent:
Programare paralel dezvoltarea algoritmilor paraleli
Programare distribuit dezvoltarea algoritmilor distribuii
30
Clustere de calculatoare
Un cluster de calculatoare este compus dintr-un grup de calculatoare
independente, conectate printr-o reea local (LAN Local Area Network) care
poate oferi (n funcie de numrul i capacitatea calculatoarelor conectate)
performante foarte ridicate, pn la nivel de supercalculatoare.
~82 % din supercalculatoarele actuale (2013) sunt clustere
De ex., clusterul Fujitsu cu 705024 procesoare SPARC64 la 2.0 GHz instalat n
Japonia atinge 10510 TFLOPS (10.510 PFLOPS); a fost #1 n lista top500/nov
2011 i #3 n lista top500/nov.2012
Un cluster este un sistem local, n care controlul (proprietatea, administrarea)
aparine unui singur domeniu administrativ (intreprindere, laborator).
Clusterele se pot clasifica n:
Clustere nededicate, compuse din calculatoarele conectate n reea ale unei
ntreprinderi, pe care se pot executa aplicatii individuale (ale celor ce detin aceste
calculatoare) concomitent cu aplicaiile paralele care necesit puterea de calcul a
tuturor, sau a unui mare numr din calculatoarele conectate n reea; sunt primele
care s-au dezvoltat
Clustere dedicate, care sunt clustere special construite, folosite pentru execuia
aplicaiilor paralele, fr utilizatori individuali ai fiecarui calculator din cluster;
Prof. Felicia Ionescu
31
32
PC/Workstation
PC/Workstation
PC/Workstation
Interfata reea
Interfata reea
Interfata reea
Reea de interconectare
Hardware: un cluster este compus din noduri (host-uri) conectate printr-o reea
de comunicaie, fiecare nod este un calculator independent, secvenial sau
paralel:
COP (Cluster of PCs)
COW (Cluster of Workstations)
CLUMP (Cluster of Multiprocessors).
Prof. Felicia Ionescu
33
Fiecare nod se conecteaz la reea prin module de interfa, compuse din plci
de reea (Net. Interface HW) i driverele software de comunicaie aferente
(Comm SW)
34
35
36
37
Sisteme Grid
Definitie concisa a Grid-urilor data n lucrarea "The Anatomy of the Grid" (Ian
Foster, Carl Kesselman, Steven Tuecke, 1999):
Grid-ul este o infrastructur distribuit i reconfigurabil, care ofer o
modalitate flexibil i securizat de a coordona partajarea resurselor de calcul a
diverselor colective dinamice formate din persoane i institutii, numite
Organizatii Virtuale (VO).
Analogia cu reelele electrice (power grids), care furnizeaz energie electric
consumatorilor, independent de locul de producere a acesteia (centralele
electrice) prin transportul ei prin reelele de distribuitie
Spre deosebire de Internet, care este unul singur, exista numeroase Grid-uri, ca
organizatii virtuale construite pentru rezolvarea anumitor probleme, n principal
stiintifice, dar i financiare, comerciale etc.
Sistemele Grid permit calculul de nalt performan (HPC) n medii distribuite,
i includ resurse cum sunt:
Calculatoare performante (supercalculatoare), reele de comunicaie
Baze de date
Instrumente stiintifice
Licene software etc.
Prof. Felicia Ionescu
38
39
Caracteristici
Cteva exemple
Prototipuri de
cercetare timpurii
Primele generaii
de calculatoare
paralele
Generatia actual
de sisteme
paralele i
distribuite
40
41
42
43
Cel mai mare productor de GPU: Nvidia, cu modelele GeForce, Quadro, Tesla
GPU - model SIMT Single Instruction Multiple Thread), asem. sistem SIMD
Fiecare core din GPU poate executa thread-uri multiple prin time-sharing, cu
control hardware, echivalent SO hardware
Supercomputerul Titan Cray XK7
conine perechi de procesoare CPU
(Opteron) i GPU (Nvidia Tesla)
Programarea GPU - biblioteci speciale
CUDA (Compute Unified Device
Architecture) - pentru procesoare
Nvidia
OpenCL (Open Computing Language)
platform pentru programare paralel
pe arhitecturi heterogene (CPU, GPU,
DSP)
Prof. Felicia Ionescu
44
45
M1
Mn-1
P0
P1
Element de
comutare
Pp-1
Prof. Felicia Ionescu
46
Bloc de
Memorie
Subsistem
Intrare/Ieire
Magistrala
Procesor
Procesor
Procesor
47
Retele multietaj
Reelele multietaj au o comportare intermediar intre:
reeaua crossbar care este neblocanta i scalabil ca performante, dar nescalabil ca i
cost (performant, dar scump);
reeaua magistral, care este scalabil ca i cost, dar este blocant i nescalabil ca
performane (ieftin, dar performane se limiteaz atunci cnd crete nr de procesoare).
Cost
Crossbar Multietaj
Magistral
Performae
Crossbar
Multietaj
Magistral
Numr de procesoare
Numr de procesoare
Reelele multietaj sunt realizate ca reele custom (de ex. reeaua Omega) sau
standardizate (Ethernet, Infiniband, Myrinet)
Prof. Felicia Ionescu
48
Din totalul de n! permutri, nn/2 se pot realiza ntr-o singur trecere; toate celelalte
necesit maximum log n treceri; deci reeaua Omega este partial blocant
Exemplu: reea Omega de dimensiune 8 x 8 (n = 8, k = 3)
Intrri
(000) 0
(001) 1
(010) 2
(011) 3
(100) 4
(101) 5
(110) 6
(111) 7
Etaj 2
Etaj 1
0
0
1
c20
2
3
c21
4
5
c22
6
7
c23
c10
c11
c12
c13
Etaj 0
0
Ieiri
0
c00
1
2
c01
3
4
c02
c03
0 (000)
1 (001)
2 (010)
3 (011)
4 (100)
5 (101)
6 (110)
7 (111)
49
Rutarea datelor ntre nodurile reelelor statice se face prin naintarea mesajelor
de la nodul surs, prin noduri vecine (conectate) pn la nodul destinaie
Caracteristicile specifice ale reelelor statice de interconectare sunt: topologia
reelei, gradul nodurilor, distana dintre dou noduri, diametrul:
Topologia (pattern-ul) de conectare ntre noduri determin toate celelalte caracteristici
Gradul nodurilor (g) - numrul de muchii incidente ntr-un nod s; gradul nodului reflect
numrul porturilor de intrare/ieire, deci complexitatea circuitelor de rutare
Distana ntre dou noduri este calea cea mai scurt (ca nr. de link-uri) ntre acestea
Diametrul reelei (D) este distana maxim ntre dou noduri ale reelei; diametrul
reelei determin timpul de comunicaie n reea; reelele cu diametrul mai mic sunt mai
performante (timpul de transfer al datelor este mai redus)
Prof. Felicia Ionescu
50
(b)
51
(a)
(b)
52
Dac cele dou dimensiuni ale grilei sunt egale, atunci grila se numete gril
ptrat, altfel se numete gril rectangular; la fel pentru tor
(b)
(a)
53
Reelele gril i tor au fost folosite n construcia multor calculatoare paralele (de
exemplu: Intel Paragon, Cray T3D).
Prof. Felicia Ionescu
54
Nivel 0
Nivel 1
3
Nivel 2
Nivel 3
7
10
11
12
13
14
55
56
10
100
11
Dim 1
Dim 0
00
Hipercub
0-D
Hipercub
1-D
101
011
010
01
Hipercub
2-D
Dim 0
000
001
Hipercub
3-D
Dim 0
57
0111
0110
0101
0100
0000
1101
1100
0011
0010
0001
1111
1110
0111
1011
1010
1000
1001
58
Fast Ethernet - 100 Mbit/sec: perechi de fire torsadate, cu mai multe variante:
100Base-TX: 100Mbit/sec pe dou perechi de fire dintr-un cablu Cat.5.
100Base-FX: 100 Mbit/sec pe fibr optica.
59
Reeaua Infiniband
Standardul Infiniband (2002) pentru comunicaia pe cablu de cupru i fibr, cu
viteze pn la 96 Gigabit/sec
Reeua Infiniband n listele top500/nov.2012:
2003 cu un procent de utilizare de 0.2% (1 sistem din primele 500)
2012 #1 ca numar de sisteme (44.8%)
Nod
Nod
Nod
Switch
Nod
Nod
Switch
Switch
Switch
Nod
Nod
Nod
Nod
Nod
Nod
60
Reeaua Myrinet
Reteaua Myrinet (firma Myricom): standard ANSI n anul 1998
Dezvltare remarcabila intre anii 2002-2004, dup care a fost depait de reelele
Gigabit-Ethernet i Infiniband (datorit costurilor ridicate ale dispozitivelor sale)
n anul 2004 reeaua Myrinet era pe primul loc n top500 (37.6% ca nr. de sisteme);
n anul 2012 ea a ajuns la un procent de numai 0.6% ca numar de sisteme din top500
Reteaua Myrinet este o reea dinamic multi-etaj de tip Clos, cu mai multe
niveluri de comutatoare (switch-uri), porturi de conexiune pentru noduri (host-uri)
i conexiuni intre niveluri
Variante: Myrinet Myri-10G (10Gigabit/sec) i Myrinet-2000 (2Gigabit/sec)
61