Download - 1. Introducere
1Structura sistemelor de calcul (01-2)
1. Introducere
Indicatori de performanțăTimpul de execuțieTimpul UCPMIPSMFLOPS
Programe de evaluare a performanțelorLegea lui Amdahl
06.03.2017
2Structura sistemelor de calcul (01-2)
Programe de evaluare a performanțelor
Programe de evaluare a performanțelorCompararea și sintetizarea performanțelorEvoluția programelor de evaluare a performanțelor SPEC CPU2006
06.03.2017
3Structura sistemelor de calcul (01-2)
Programe de evaluare a performanțelor
O măsură a performanței: timpul executării unui set reprezentativ de programe Acest timp poate fi:
Timpul total de execuțieMedia aritmetică sau geometrică a timpilor de execuție
Set de programe reale care sunt reprezentative pentru un anumit mediu programe de evaluare (“benchmark”)
06.03.2017
4Structura sistemelor de calcul (01-2)
Programe de evaluare a performanțelor
Programe de evaluare a performanțelorCompararea și sintetizarea performanțelorEvoluția programelor de evaluare a performanțelor SPEC CPU2006
06.03.2017
5Structura sistemelor de calcul (01-2)
Compararea și sintetizarea performanțelor (1)
Modul în care se poate sintetiza performanța unui grup de programe de evaluare Exemplu de situație în care nu se poate defini performanța relativă a două calculatoare A, B
06.03.2017
tE pe A (s) tE pe B (s)Program 1 1 10Program 2 1000 100Timp total 1001 110
6Structura sistemelor de calcul (01-2)
Compararea și sintetizarea performanțelor (2)
Timpul total de execuție Metoda cea mai simplăCalculatorul B este de 1001/110 = 9,1 ori mai rapid decât A pentru programele 1 și 2
Media aritmetică a timpilor de execuție
tEi – timpul de execuție al programului i din totalul de n programe din set
06.03.2017
n
iEitn
MA1
1
7Structura sistemelor de calcul (01-2)
Compararea și sintetizarea performanțelor (3)
Media aritmetică ponderată a timpilor de execuție
Utilizare: dacă numărul de execuții ale programelor dintr un set este diferit ‑Se asignează fiecărui program o pondere pi indică frecvența sa de execuție Alegerea ponderilor: pe un calculator de referință timpii de execuție ponderați ai fiecărui program să fie egali
06.03.2017
8Structura sistemelor de calcul (01-2)
Compararea și sintetizarea performanțelor (4)
Normalizarea timpilor de execuție față de un calculator de referință
Se consideră media timpilor de execuție normalizațiDacă se utilizează media aritmetică a timpilor de execuție: rezultatul depinde de alegerea calculatorului de referință Exemplu de normalizare și utilizare a mediei aritmetice
06.03.2017
9Structura sistemelor de calcul (01-2)
Compararea și sintetizarea performanțelor (5)
Timpii de execuție a două programe pe calculatoarele A și B, normalizați față de calculatorul A A este mai rapid față de B
06.03.2017
tE pe A (s)
tE pe B (s)
tE pe A normalizat
tE pe B normalizat
Program 1 1 10 1 10Program 2 1000 100 1 0,1Medie aritmetică 500,5 55 1 5,05Medie geometrică 31,6 31,6 1 1
10Structura sistemelor de calcul (01-2)
Compararea și sintetizarea performanțelor (6)
Timpii de execuție normalizați față de calculatorul B B este mai rapid față de A
06.03.2017
tE pe A (s)
tE pe B (s)
tE pe A normalizat
tE pe B normalizat
Program 1 1 10 0,1 1Program 2 1000 100 10 1Medie aritmetică 500,5 55 5,05 1Medie geometrică 31,6 31,6 1 1
11Structura sistemelor de calcul (01-2)
Compararea și sintetizarea performanțelor (7)
Media geometrică a timpilor de execuție
Este independentă de seria datelor utilizate pentru normalizareAre proprietatea:
06.03.2017
nn
iEitMG
1
i
i
i
i
YXMG
YMGXMG
)()(
12Structura sistemelor de calcul (01-2)
Compararea și sintetizarea performanțelor (8)
Rezultatul este același indiferent de calculatorul de referință Avantajele mediei geometrice:
Este independentă de timpii de execuție ai programelor individuale Nu are importanță care calculator este utilizat pentru normalizare
Dezavantajul mediei geometrice:Nu anticipează performanțele
06.03.2017
13Structura sistemelor de calcul (01-2)
Programe de evaluare a performanțelor
Programe de evaluare a performanțelorCompararea și sintetizarea performanțelorEvoluția programelor de evaluare a performanțelor SPEC CPU2006
06.03.2017
14Structura sistemelor de calcul (01-2)
Evoluția programelor de evaluare a performanțelor (1)
Soluția preferabilă: utilizarea unui set de aplicații reale ca programe de evaluare Metricile MIPS și MFLOPS Programe artificiale sau sintetice de evaluare
Scopul: crearea unor programe în care frecvențele de execuție ale instrucțiunilor sunt aceleași cu cele dintr un set de ‑programe de evaluare
06.03.2017
15Structura sistemelor de calcul (01-2)
Evoluția programelor de evaluare a performanțelor (2)
Programul sintetic Whetstone Publicat de National Physical Laboratory (NPL), Marea BritanieBazat pe măsurătorile efectuate asupra aplicațiilor științifice și inginerești scrise în limbajul Algol 60 Numit după compilatorul Whetstone Algol de la NPLRescris ulterior în limbajele Fortran și PascalPune accent pe operațiile în VM
06.03.2017
16Structura sistemelor de calcul (01-2)
Evoluția programelor de evaluare a performanțelor (3)
Programul sintetic Dhrystone Creat pentru evaluarea programelor de sistem Bazat pe un set de măsurători ale frecvențelor de execuție ale instrucțiunilorNu pune accent pe operațiile în VMScris inițial în limbajul Ada Convertit ulterior în limbajul C
06.03.2017
17Structura sistemelor de calcul (01-2)
Evoluția programelor de evaluare a performanțelor (4)
Dezavantajele programelor sintetice Nu reflectă comportamentul programelor reale Optimizările executate de compilator sau prin hardware pot amplifica performanțele acestor programe
Exemplu: compilatoare care pot elimina 25% din codul programului Dhrystone
06.03.2017
18Structura sistemelor de calcul (01-2)
Evoluția programelor de evaluare a performanțelor (5)
Programe nucleu (kernel) de evaluare Fragmente de dimensiuni mici, dar solicitante, extrase din programe reale Elaborate pentru evaluarea calculatoarelor performante (supercalculatoare) Exemple: Livermore Loops și Linpack Utilizate în special pentru evaluarea performanțelor aplicațiilor științifice
06.03.2017
19Structura sistemelor de calcul (01-2)
Evoluția programelor de evaluare a performanțelor (6)
Formarea SPEC (Standard Performance Evaluation Corporation), 1988
www.spec.orgCorporație non-profitElaborează și actualizează seturi standardizate de programe de evaluare bazate pe programe reale Seturile de programe conțin codul sursă și utilitare pentru generarea rapoartelor de performanță
06.03.2017
20Structura sistemelor de calcul (01-2)
Evoluția programelor de evaluare a performanțelor (7)
SPEC89Primul set de programe de evaluare (1989)Se calcula o singură metrică utilizând media geometrică a timpilor de execuție normalizați față de calculatorul VAX 11/780‑
SPEC92Au fost prevăzute metrici separate pentru calculele cu numere întregi (SPECINT) și a celor cu numere în VM (SPECFP)
06.03.2017
21Structura sistemelor de calcul (01-2)
Evoluția programelor de evaluare a performanțelor (8)
CPU95, CPU2000Versiunea curentă: CPU2006Următoarea versiune: CPUv6SPEC este format din trei grupuri
Open Systems Group (OSG): programe la nivel de componente și de sistemHigh Performance Group (HPG): programe pentru calcule de înaltă performanțăGraphics Performance Characterization Group (GPCG): programe pentru subsisteme grafice
06.03.2017
22Structura sistemelor de calcul (01-2)
Programe de evaluare a performanțelor
Programe de evaluare a performanțelorCompararea și sintetizarea performanțelorEvoluția programelor de evaluare a performanțelor SPEC CPU2006
06.03.2017
23Structura sistemelor de calcul (01-2)
SPEC CPU2006 (1)
A fost dezvoltat de grupul OSG Se măsoară performanța UCP, a sistemului de memorie și a generării codului de către compilator Timpul necesar executării funcțiilor sistemului de operare și a operațiilor de I/E este neglijabilEste compus din două colecții:
CINT2006: calcule cu numere întregiCFP2006: calcule cu numere în VM
06.03.2017
24Structura sistemelor de calcul (01-2)
SPEC CPU2006 (2)
Două tipuri de măsurători Măsurarea vitezei de execuție
Raport SPEC: timpul în care se execută toate programele din set o singură dată SPECint2006 și SPECfp2006
Măsurarea rateiRata SPEC: exprimă numărul de aplicații care pot fi executate într un timp dat (24h)‑SPECint_rate2006 și SPECfp_rate2006
06.03.2017
25Structura sistemelor de calcul (01-2)
SPEC CPU2006 (3)
Se calculează media geometrică a indicatorilorTimpii de execuție sunt raportați la un calculator de referință
Sun Microsystems Ultra 5/10, cu procesor SPARC Programele au fost rulate pe acest calculator pentru a stabili un timp de referință Pentru calculatorul de referință, valorile SPECint2006 și SPECfp2006 sunt 1
06.03.2017
26Structura sistemelor de calcul (01-2)
SPEC CPU2006 (4)
Exemple de programe pentru numere întregi401.bzip2: bazat pe programul de compresie bzip2403.gcc: compilator C bazat pe gcc vers. 3.2445.gobmk: program pentru jocul Go458.sjeng: bazat pe programul de șah Sjeng462.libquantum: bibliotecă pentru simularea unui calculator cuantic471.omnetpp: simularea unei rețele Ethernet pe baza sistemului de simulare OMNeT++
06.03.2017
27Structura sistemelor de calcul (01-2)
SPEC CPU2006 (5)
Exemple de programe pentru numere în VM435.gromacs: simulează ecuațiile Newtoniene ale deplasării particulelor444.namd: simulează sisteme biomoleculare453.povray: program de trasare a razelor459.GemsFDTD: rezolvă ecuațiile Maxwell 3D în domeniul timpului prin metoda FDTD481.wrf: bazat pe modelul WRF de predicție a vremii482.sphinx3: sistem de recunoaștere a vorbirii
06.03.2017
Structura sistemelor de calcul (01-2) 28
SPEC CPU2006 (6)
Producător Sistem Nuclee CINT2006
CFP2006
Dell Inc. PowerEdge T630 (Intel Xeon E5-2667 v4; 3,2 GHz) 16 68,5 121
Fujitsu PRIMERGY BX2580 M2 (Intel Xeon E5-2699 v4; 2,2 GHz) 44 71,5 118
ASUS Placă de bază A88X-PRO (AMD A8-8650 cu grafică Radeon R7) 4 30,0 35,2
ASUS Placă de bază Q170M-C (Intel Core i7-6700K) 4 70,7 94,8
NEC Corp. Express5800/T110h (Intel Core i3-6300) 2 65,9 90,2
06.03.2017
29Structura sistemelor de calcul (01-2)
1. Introducere
Indicatori de performanțăTimpul de execuțieTimpul UCPMIPSMFLOPS
Programe de evaluare a performanțelorLegea lui Amdahl
06.03.2017
30Structura sistemelor de calcul (01-2)
Legea lui Amdahl (1)
Indică creșterea performanței care se poate obține prin îmbunătățirea unei anumite părți a unui calculator Îmbunătățirea obținută prin utilizarea unui mod mai rapid de execuție este limitată de fracțiunea de timp în care este utilizat modul mai rapid Presupunem că se poate efectua o îmbunătățire a unui calculator
06.03.2017
31Structura sistemelor de calcul (01-2)
Legea lui Amdahl (2)
Creșterea vitezei:
Pimb – performanța obținută utilizând îmbunătățirea Pneimb – performanța obținută fără utilizarea îmbunătățirii
sau:
06.03.2017
neimb
imb
PPv
imbE
neimbE
tt
v
32Structura sistemelor de calcul (01-2)
Legea lui Amdahl (3)
Creșterea vitezei depinde de:Fracțiunea timpului de execuție al calculatorului original în care se poate utiliza îmbunătățirea: Fîmb 1Creșterea vitezei care s ar obține dacă s ar utiliza ‑ ‑numai noul mod de execuție: vîmb >1
Timpul de execuție utilizând calculatorul original în modul îmbunătățit: timpul în care se utilizează partea nemodificată + timpul în care se utilizează partea îmbunătățită
06.03.2017
33Structura sistemelor de calcul (01-2)
Legea lui Amdahl (4)
Rezultă:
Creșterea totală a vitezei este:
06.03.2017
imbimb
initEimbinitEnouE F
vtFtt
1
imb
imbimbinitEnouE v
FFtt 1
imb
imbimb
nouE
initEtot
vFFt
tv
1
1
34Structura sistemelor de calcul (01-2)
Legea lui Amdahl (5)Exemplul 1.4O eroare frecventă în aplicarea legii Amdahl este de a se confunda:
“Fracțiunea de timp în care se poate utiliza îmbunătățirea” cu “Fracțiunea de timp după utilizarea îmbunătățirii”
Legea este o indicație a modului în care trebuie să se distribuie resurseleExemplul 1.5
06.03.2017
35Structura sistemelor de calcul (01-2)
Rezumat (1)
Pentru a sintetiza performanța unui grup de programe de evaluare se pot utiliza diferite metrici
De obicei, se utilizează media geometrică a timpilor de execuție normalizați față de un calculator de referință
Programele artificiale (sintetice) de evaluare încearcă să emuleze comportamentul programelor reale
Exemple: Whetstone, Dhrystone
06.03.2017
36Structura sistemelor de calcul (01-2)
Rezumat (2)
Programele nucleu (kernel) de evaluare se pot utiliza pentru evaluarea performanței supercalculatoarelor
Exemple: Livermoore Loops, LinpackSPEC CPU2006: pachet de programe pentru evaluarea performanței UCP, a memoriei și a generării codului de către compilator
Două colecții: CINT2006, CFP2006Măsurarea vitezei de execuție: raport SPECMăsurarea ratei: rata SPEC
06.03.2017
37Structura sistemelor de calcul (01-2)
Rezumat (3)
Legea lui Amdahl indică creșterea vitezei care se poate obține dacă se îmbunătățește o parte a unui calculator
Factori de care depinde creșterea vitezei: fracțiunea de timp în care se poate utiliza îmbunătățirea; creșterea vitezei obținute dacă îmbunătățirea s-ar utiliza permanentPoate indica modul în care trebuie distribuite resursele pentru a îmbunătăți raportul cost/performanță
06.03.2017
38Structura sistemelor de calcul (01-2)
Noțiuni, cunoștințe (1)
Metrici pentru sintetizarea performanței unui grup de programe de evaluareMedia aritmetică ponderată a timpilor de execuțieTimpi de execuție normalizați față de un calculator de referințăAvantaje și dezavantaje ale mediei geometrice a timpilor de execuțiePrograme artificiale (sintetice) de evaluare a performanțelor
06.03.2017
39Structura sistemelor de calcul (01-2)
Noțiuni, cunoștințe (2)
Programe nucleu de evaluare a performanțelorSetul de programe de evaluare SPEC CPU2006Măsurători efectuate de setul de programe de evaluare SPEC CPU2006Raportul SPECRata SPECLegea lui AmdahlFactorii de care depinde creșterea vitezei în legea lui Amdahl
06.03.2017
40Structura sistemelor de calcul (01-2)
Întrebări
1. Care sunt metricile pentru sintetizarea performanței unui grup de programe?
2. Ce sunt programele sintetice de evaluare?3. Ce sunt programele nucleu de evaluare?4. Pentru ce tipuri de măsurători se poate
utiliza setul de programe SPEC CPU2006?5. Enunțați legea lui Amdahl. Care sunt
factorii de care depinde creșterea vitezei?06.03.2017