Summary

This document provides an introduction to computer performance evaluation, covering performance indicators like execution time, UCP time, MIPS, and MFLOPS. It discusses different performance evaluation programs and the Amdahl's law. The document also explores SPEC CPU2017, along with various performance evaluation methods.

Full Transcript

1. Introducere Indicatori de performanță Timpul de execuție Timpul UCP MIPS MFLOPS Programe de evaluare a performanțelor Legea lui Amdahl 10.10.2023 Structura sistemelor de calcul (01-2) 1 Programe de evaluare a pe...

1. Introducere Indicatori de performanță Timpul de execuție Timpul UCP MIPS MFLOPS Programe de evaluare a performanțelor Legea lui Amdahl 10.10.2023 Structura sistemelor de calcul (01-2) 1 Programe de evaluare a performanțelor Programe de evaluare a performanțelor Compararea și sintetizarea performanțelor Evoluția programelor de evaluare a performanțelor SPEC CPU2017 10.10.2023 Structura sistemelor de calcul (01-2) 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ție Media aritmetică sau geometrică a timpilor de execuție Set de programe reale care sunt reprezentative pentru un anumit mediu → programe de evaluare (“benchmark”) 10.10.2023 Structura sistemelor de calcul (01-2) 3 Programe de evaluare a performanțelor Programe de evaluare a performanțelor Compararea și sintetizarea performanțelor Evoluția programelor de evaluare a performanțelor SPEC CPU2017 10.10.2023 Structura sistemelor de calcul (01-2) 4 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 tE pe A (s) tE pe B (s) Program 1 1 10 Program 2 1000 100 Timp total 1001 110 10.10.2023 Structura sistemelor de calcul (01-2) 5 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 1 n MA =  t Ei n i =1 tEi – timpul de execuție al programului i din totalul de n programe din set 10.10.2023 Structura sistemelor de calcul (01-2) 6 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 10.10.2023 Structura sistemelor de calcul (01-2) 7 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ți Dacă se utilizează media aritmetică a timpilor de execuție: rezultatul depinde de alegerea calculatorului de referință Exemplu de normalizare și utilizare a mediei aritmetice → 10.10.2023 Structura sistemelor de calcul (01-2) 8 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 tE pe A tE pe B tE pe A tE pe B (s) (s) normalizat normalizat Program 1 1 10 1 10 Program 2 1000 100 1 0,1 Medie aritmetică 500,5 55 1 5,05 Medie geometrică 31,6 31,6 1 1 10.10.2023 Structura sistemelor de calcul (01-2) 9 Compararea și sintetizarea performanțelor (6) Timpii de execuție normalizați față de calculatorul B → B este mai rapid față de A tE pe A tE pe B tE pe A tE pe B (s) (s) normalizat normalizat Program 1 1 10 0,1 1 Program 2 1000 100 10 1 Medie aritmetică 500,5 55 5,05 1 Medie geometrică 31,6 31,6 1 1 10.10.2023 Structura sistemelor de calcul (01-2) 10 Compararea și sintetizarea performanțelor (7) Media geometrică a timpilor de execuție n MG = n t i =1 Ei Este independentă de seria datelor utilizate pentru normalizare Are proprietatea: MG( X i )  Xi  = MG  MG(Yi )  Yi  10.10.2023 Structura sistemelor de calcul (01-2) 11 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 10.10.2023 Structura sistemelor de calcul (01-2) 12 Programe de evaluare a performanțelor Programe de evaluare a performanțelor Compararea și sintetizarea performanțelor Evoluția programelor de evaluare a performanțelor SPEC CPU2017 10.10.2023 Structura sistemelor de calcul (01-2) 13 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 10.10.2023 Structura sistemelor de calcul (01-2) 14 Evoluția programelor de evaluare a performanțelor (2) Programul sintetic Whetstone Publicat de National Physical Laboratory (NPL), Marea Britanie Bazat 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 NPL Rescris ulterior în limbajele Fortran și Pascal Pune accent pe operațiile în VM 10.10.2023 Structura sistemelor de calcul (01-2) 15 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țiunilor Nu pune accent pe operațiile în VM Scris inițial în limbajul Ada Convertit ulterior în limbajul C 10.10.2023 Structura sistemelor de calcul (01-2) 16 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 10.10.2023 Structura sistemelor de calcul (01-2) 17 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 10.10.2023 Structura sistemelor de calcul (01-2) 18 Evoluția programelor de evaluare a performanțelor (6) Formarea SPEC (Standard Performance Evaluation Corporation), 1988 www.spec.org Corporație non-profit Elaborează ș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ță 10.10.2023 Structura sistemelor de calcul (01-2) 19 Evoluția programelor de evaluare a performanțelor (7) SPEC89 Primul 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 SPEC92 Au fost prevăzute metrici separate pentru calculele cu numere întregi (SPECINT) și a celor cu numere în VM (SPECFP) 10.10.2023 Structura sistemelor de calcul (01-2) 20 Evoluția programelor de evaluare a performanțelor (8) SPEC CPU95, SPEC CPU2000, SPEC CPU2006 Versiunea curentă: SPEC CPU2017 SPEC este format din trei grupuri Open Systems Group (OSG): programe la nivel de componente și de sistem High Performance Group (HPG): programe pentru calcule de înaltă performanță Graphics Performance Characterization Group (GPCG): programe pentru subsisteme grafice 10.10.2023 Structura sistemelor de calcul (01-2) 21 Programe de evaluare a performanțelor Programe de evaluare a performanțelor Compararea și sintetizarea performanțelor Evoluția programelor de evaluare a performanțelor SPEC CPU2017 10.10.2023 Structura sistemelor de calcul (01-2) 22 SPEC CPU2017 (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 SO și a operațiilor de I/E este neglijabil Conține porțiuni din 43 de aplicații reale în limbajele C, C++ și FORTRAN Aplicații portabile pe arhitecturi variate: IA32; AMD64 (x86-64); ARMv8 AArch64; SPARC etc. 10.10.2023 Structura sistemelor de calcul (01-2) 23 SPEC CPU2017 (2) Îmbunătățiri față de versiunea precedentă: Complexitate și dimensiune crescută a programelor de evaluare Posibilitatea utilizării interfeței de programare OpenMP (Open Multi-Processing) pentru evaluarea sistemelor paralele Metrică opțională pentru măsurarea consumului de putere Se poate măsura puterea maximă, puterea medie și energia totală consumată (în kJ) 10.10.2023 Structura sistemelor de calcul (01-2) 24 SPEC CPU2017 (3) Două tipuri de măsurători Măsurarea vitezei de execuție Viteza SPEC: timpul în care se execută toate programele din setul de test o singură dată SPECspeed 2017 Integer; SPECspeed 2017 Floating Point Măsurarea ratei Rata SPEC: numărul de programe care pot fi executate într-o unitate de timp (pe oră) SPECrate 2017 Integer; SPECrate 2017 Floating Point 10.10.2023 Structura sistemelor de calcul (01-2) 25 SPEC CPU2017 (4) Se calculează media geometrică a indicatorilor Timpii de execuție sunt raportați la un calculator de referință Sun Microsystems Sun Fire V490, cu procesoare UltraSPARC-IV+ (2,1 GHz) Programele au fost rulate pe acest calculator pentru a stabili un timp de referință Pentru calculatorul de referință, metricile SPECspeed2017 și SPECrate2017 sunt 1 10.10.2023 Structura sistemelor de calcul (01-2) 26 SPEC CPU2017 (5) Exemple de programe pentru numere întregi 502.gcc_r: compilator C bazat pe GCC vers. 4.5.0 520.omnetpp_r: simulare discretă a evenimentelor dintr-o rețea Ethernet de 10 Gbiți/s pe baza simulatorului OMNeT++ 525.x264_r: compresie video în formatul H.264/MPEG-4 AVC 531.deepsjeng_r: bazat pe programul de șah Deep Sjeng 548.exchange2_r: generator pentru jocul sudoku 10.10.2023 Structura sistemelor de calcul (01-2) 27 SPEC CPU2017 (6) Exemple de programe pentru numere în VM 508.namd_r: simularea unor sisteme biomoleculare 511.povray_r: trasarea razelor pe baza programului POV-Ray (vers. 3.7) 521.wrf_r: predicția vremii pe baza modelului WRF, vers. 3.6.1 526.blender_r: redare 3D, animație (fundația Blender) 538.imagick_r: prelucrări de imagini 10.10.2023 Structura sistemelor de calcul (01-2) 28 1. Introducere Indicatori de performanță Timpul de execuție Timpul UCP MIPS MFLOPS Programe de evaluare a performanțelor Legea lui Amdahl 10.10.2023 Structura sistemelor de calcul (01-2) 29 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 10.10.2023 Structura sistemelor de calcul (01-2) 30 Legea lui Amdahl (2) Creșterea vitezei: Pimb v = Pneimb Pîmb – performanța obținută utilizând îmbunătățirea Pneîmb – performanța obținută fără utilizarea îmbunătățirii sau: t E neimb v = t E imb 10.10.2023 Structura sistemelor de calcul (01-2) 31 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  1 Creș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ă 10.10.2023 Structura sistemelor de calcul (01-2) 32 Legea lui Amdahl (4) = t E init (1 − Fimb ) + t E init t E nou  Fimb vimb Rezultă:  Fimb  t E nou = t E init  (1 − Fimb ) +   vimb  Creșterea totală a vitezei este: t E init 1 vtot = = t E nou (1 − F ) + Fimb vimb imb 10.10.2023 Structura sistemelor de calcul (01-2) 33 Legea lui Amdahl (5) Exemplul 1.4 Presupunem că se îmbunătățesc instrucțiunile de calcul în virgulă mobilă Acestea se vor executa de două ori mai rapid Numai 10% din instrucțiuni sunt instrucțiuni de calcul în virgulă mobilă Care este creșterea totală a vitezei? Legea lui Amdahl este o indicație a modului în care trebuie să se distribuie resursele 10.10.2023 Structura sistemelor de calcul (01-2) 34 Legea lui Amdahl (6) Exemplul 1.5 Presupunem că se poate îmbunătăți viteza de execuție a unei unități centrale de 5 ori, costul crescând de 5 ori UCP se utilizează în 50% din timp, iar în rest așteaptă pentru o operație de I/E Costul UCP este 1/3 din costul calculatorului Întrebarea este dacă creșterea vitezei UCP de 5 ori reprezintă o investiție rentabilă din punct de vedere al raportului cost / performanță 10.10.2023 Structura sistemelor de calcul (01-2) 35 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 10.10.2023 Structura sistemelor de calcul (01-2) 36 Rezumat (2) Programele nucleu (kernel) de evaluare se pot utiliza pentru evaluarea performanței supercalculatoarelor Exemple: Livermoore Loops, Linpack SPEC CPU2017: pachet de programe pentru evaluarea performanței UCP, a memoriei și a generării codului de către compilator Colecții: SPECspeed2017 (Integer, FP); SPECrate2017 (Integer, FP) Măsurarea vitezei de execuție: viteza SPEC Măsurarea ratei: rata SPEC 10.10.2023 Structura sistemelor de calcul (01-2) 37 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 permanent Poate indica modul în care trebuie distribuite resursele pentru a îmbunătăți raportul cost/performanță 10.10.2023 Structura sistemelor de calcul (01-2) 38 Noțiuni, cunoștințe (1) Metrici pentru sintetizarea performanței unui grup de programe de evaluare Media aritmetică ponderată a timpilor de execuție Timpi de execuție normalizați față de un calculator de referință Avantaje și dezavantaje ale mediei geometrice a timpilor de execuție Programe artificiale (sintetice) de evaluare a performanțelor 10.10.2023 Structura sistemelor de calcul (01-2) 39 Noțiuni, cunoștințe (2) Programe nucleu de evaluare a performanțelor Setul de programe de evaluare SPEC CPU2017 Măsurători efectuate de setul de programe de evaluare SPEC CPU2017 Viteza SPEC Rata SPEC Legea lui Amdahl Factorii de care depinde creșterea vitezei în legea lui Amdahl 10.10.2023 Structura sistemelor de calcul (01-2) 40

Use Quizgecko on...
Browser
Browser