3 paskaita: procesoriaus našumas, jo įvertinimo būdai ir priemonės

Download Report

Transcript 3 paskaita: procesoriaus našumas, jo įvertinimo būdai ir priemonės

KOMPIUTERIŲ
ARCHITEKTŪRA ir
OPERACINĖS SISTEMOS
Doc. Stasys Maciulevičius
Kompiuterių katedra
[email protected]
Ankstesnės paskaitos santrauka
 duomenų kodavimas
perėjimas iš vienos skaičiavimo sistemos į
kitą
sveikieji skaičiai
sveikųjų skaičių algebrinė sudėtis
slankaus kablelio skaičiai; standartas IEEE 754
dešimtainiai skaičiai
simbolių kodavimas
2013
S.Maciulevičius
2
Šios paskaitos turinys
 kompiuterių našumas




įvertinimo principai
MIPS, MFLOPS, ...
procesorių numeriai
pagreitėjimas
 kompiuterių našumo įvertinimo testai
 SPEC
 TPC
 procesorių testai
2013
S.Maciulevičius
3
Kompiuterių našumas
2013
S.Maciulevičius
4
Kompiuterių našumas
Našumas. Kas tai yra, kaip jį galima apibūdinti ir
išmatuoti?
 astronominiu skaičiavimo laiku; jis įvertina
viską: CPU laiką, kreipimosi į atmintį ir diskus
laiką, įvedimo-išvedimo ir operacinės
sistemos sugaištą laiką;
 CPU laiku:
- vartotojo CPU laikas;
- sistemos CPU laikas.
2013
S.Maciulevičius
5
Kompiuterių našumas
Pažymėkime:
 CPI - vidutinį komandos taktų skaičių - (Clocks Per
Instruction),
 N - programai vykdyti reikalingų komandų skaičių,
  - takto trukmę ( = 1/ F).
Tuomet programai įvykdyti procesorius sugaiš
TCPU = N × CPI × 
arba
TCPU = N × CPI / F .
CPI = (CPIi × Ni )/ N = (CPIi × Ni / N )
2013
S.Maciulevičius
6
Gibsono mišinys (Gibson mix)
V = (Ni × Ti) / N = (Pi × Ti) / 100
Operacijų dažniai (%):
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Įkrovimas ir įrašymas
Indeksavimas
Perėjimai
Slank. kabl. sk. sudėtis ir atimtis
Sveikųjų sk. sudėtis ir atimtis
Registrų nenaudojančios komandos
Postūmiai
Palyginimai
Slank. kabl. sk. daugyba
Loginės IR, ARBA
Slankaus kablelio skaičių dalyba
Sveikųjų skaičių daugyba
Sveikųjų skaičių dalyba
Pi
31,2
18,0
16,6
6,9
6,1
5,3
4,4
3,8
3,8
1,6
1,5
0,6
0,2
------------------------------------------------------------------------
100
2013
S.Maciulevičius
7
MIPS metrika
MIPS metrika:
MIPS = N / (T × 106) = F / (CPI × 106).
Tai lengvai suprantamas rodiklis. Tačiau reikia atminti, kad:
• MIPS priklauso nuo komandų sistemos, todėl sunku
palyginti kompiuterius, turinčių skirtingas komandų
sistemas;
• net ir tam pačiam kompiuteriui MIPS priklauso nuo
programos, naudojamos rodikliui nustatyti;
• atskirais atvejais MIPS netgi veikia atvirkščiai nei
našumas.
2013
S.Maciulevičius
8
Kai kurių CPU MIPS rodikliai
Procesorius
MIPS
rodiklis
Dažnis, Sant.rodiklis, Metai
GHz
MIPS/MHz/br.
AMD Athlon
Pentium 4 Extreme
Edition
3 561
1,2
3,0
2000
9 726
3,2
3,0
2003
Intel Core 2 Extreme
X6800
27 079
2,93
4,6
2006
Intel Core i7 Extreme
965EE (6 brand.)
76 383
3,2
4,0
2008
Intel Core i7 Extreme
3960X (6 brand.)
177 730
3,3
9,0
2011
2013
S.Maciulevičius
9
MFLOPs metrika
MFLOPs metrika:
MFLOPs = N / (T × 106).
Reikia atminti, kad:
• skirtingi kompiuteriai dažnai turi skirtingus slankaus kablelio
operacijų rinkinius; (Cray-2 neturi dalybos operacijos, tuo
tarpu Motorola 68882 turi ir dalybą, ir kvadratinės šaknies
traukimo, sinuso paskaičiavimo komandas);
• pačių slankaus kablelio operacijų trukmė kinta plačiose
ribose.
Normalizuotas MFLOPs, kai įvertinamas santykinis operacijų sudėtingumas.
Pavyzdžiui, Livermoro ciklų testo autoriai įvedė tokius koeficientus:
- ADD, SUB, COMPARE, MULT - 1,
- DIVIDE, SQRT
- EXP, SIN
2013
- 4,
- 8.
S.Maciulevičius
10
BIPS, GFLOPS, TFLPOS, …
Nuolat didėjant našumui, keičiasi ir matavimo
vienetai:




1 BIPS = 1024 MIPS = 109 op/s
1 GFLOPS = 1024 MFLOPS = 109 sl.kabl.op/s
1 TFLOPS = 1024 GFLOPS = 1012 sl.kabl.op/s
1 PFLOPS = 1024 TFLOPS = 1015 sl.kabl.op/s
giga = 109, tera = 1012, peta = 1015, exa = 1018, …
2013
S.Maciulevičius
11
Kompiuterių našumas
Ilgokai vartotojai apie procesoriaus galimybes
spręsdavo pagal jo darbo dažnį.
Dabar gi Intel ir AMD, pripažindamos, jog dažnis
nėra absoliutus našumo rodiklis, vėl sugrįžo prie
savo procesorių reitingavimo.
Naujasis rodiklis nustatomas atsižvelgiant į:
•
•
•
•
•
2013
architektūrą,
dažnį,
kešo talpą,
magistralės spartą,
energijos sąnaudas.
S.Maciulevičius
12
Intel procesorių numeriai
 Procesorių Intel Core i7 numeriuose yra
nuoroda i7, po kurios seka 3-4 skaitmenys:
1
karta:
2
karta:
3
karta:
2013
13
©S.Maciulevičius
2010-2012
13
Intel procesorių numeriai
Lentelėje paaiškintos Intel Core 2 procesorių šeimos
alfa prefiksų reikšmės
Alpha Prefix
QX
X
Q
E
T
2013
Description
Stalo ar mobilių komp. 4 branduolių ekstremalūs
procesoriai
Stalo ar mobilių komp. 2 branduolių ekstremalūs
procesoriai
Stalo komp. 4 branduolių labai našūs procesoriai
Stalo komp. 2 branduolių energiją taupiai naud.
procesoriai
(TDP ne mažesnis už 55W)
Mobilių komp. energiją labai taupiai naud. procesoriai
(TDP 30-39 W)
S.Maciulevičius
14
Intel procesorių numeriai
Žemiau paaiškintos Intel Core 2 procesorių šeimos alfa
prefiksų reikšmės:
Alpha Prefix
P
L
U
S
K
2013
Description
Mobiliųjų komp. energiją labai taupiai naud. procesoriai
(TDP 20-29 W)
Mobiliųjų komp. energiją labai taupiai naud. procesoriai
(TDP 12-19 W)
Mobiliųjų komp. energiją ypač labai taupiai naud.
procesoriai (TDP neviršija 11,9 W)
Mobiliųjų mažo formato komp. procesoriai 22x22 BGA
korpuse
Neblokuoto dažnio daugiklio
S.Maciulevičius
15
Intel Atom procesorių numeriai
 Intel Atom procesoriams suteikiami triženkliai numeriai
 Netbook klasės Intel Atom procesoriai turi alfa prefiksą
N, o Z prefiksą turintys Intel Atom procesoriai skirti MID
(Mobile Internet Devices)
2013
S.Maciulevičius
16
Intel Xeon ir Itanium numeriai

Intel Xeon ir Intel Itanium procesoriams suteikiamas
keturženklis numeris, prieš kurį gali būti alfa prefiksas,
rodantis galią ir našumą
Alpha
Prefix
Description
X
Našus
E
Masinis (optimizuotas spintų
serveriams)
L
Optimizuotas sunaudojamai
galiai
Procesorių šeima
Numeris
Sistemos tipas
Intel® Itanium® procesorius
9000
Multi-procesorinė ir 2 procesorių
Intel® Xeon® procesorius
7000
Multi-procesorinė
Intel® Xeon® procesorius
5000
2 procesorių
Intel® Xeon® procesorius
3000
1 procesoriaus
2013
S.Maciulevičius
17
AMD Opteron procesorių numeriai
Pradžioje AMD Opteron procesoriai buvo identifikuojami
trijų skaitmenų modelio numeriais, XYY, kur:
X — parodo maksimalų procesorių skaičių sistemoje:
100 serija = 1 procesoriaus serveriai ir darbo stotys
200 serija = iki 2 procesorių serveriai ir darbo stotys
800 serija = iki 8 procesorių serveriai ir darbo stotys
YY — parodo santykinį procesorių našumą serijoje.
Dviejų branduolių AMD Opteron procesorių numeriai
prasideda skaičiais 165, 265 ir 865, o našesni modeliai
gauna numerius, didėjančius 5, tuo tarpu vieno branduolio
procesorių numeriai didėja kas 2.
2013
S.Maciulevičius
18
AMD Opteron procesorių numeriai
Vėliau AMD Opteron procesoriai gavo jau keturių
skaitmenų modelio numerius ZYXX, kur pirmasis
skaitmuo rodo seriją, pavyzdžiui:
• 1000 – Opteronai 1 procesoriaus serveriams
• 2000 – Opteronai 2 procesorių serveriams
• 8000 – Opteronai 8 procesorių serveriams
Antrasis skaitmuo rodo branduolių skaičių serijoje,
pavyzdžiui:
•
•
•
•
Z2XX
Z3XX
Z4XX
Z1XX
2013
yra
yra
yra
yra
dviejų branduolių procesoriai
keturių branduolių procesoriai
šešių branduolių procesoriai
6, 8, 12 branduolių procesoriai
S.Maciulevičius
19
AMD Opteron procesorių numeriai
Raidės rodo papildomą informaciją,
pavyzdžiui:
 EE žymi mažo galingumo – iki 30 W procesorius
 HE žymi 55 W AMD Opteron procesorius
(korpusas 939 ir 940), 65 W (korpusas AM2), 68
W (dviejų branduolių korpusas F), 79 (keturių
branduolių korpusas F) procesorius.
 SE žymi didelio galingumo – iki 140 W
procesorius
 (raidės nėra) – normalūs procesoriai
2013
S.Maciulevičius
20
Dar kartą apie našumą
Straipsnelyje “The Fundamentals of Performance”
(http://www.devx.com/Intel/Article/30831?trk=DXRSS_LATEST)
taip apibūdinamas šiuolaikinių mikroprocesorių
našumas:
našumas = taktų dažnis x IPC x (branduolių
skaičius x efektyvumo daugiklis)
IPC – komandų skaičius per 1 taktą
Dviejų branduolių procesoriui efektyvumo daugiklis
siekia 1,5-1,7
2013
S.Maciulevičius
21
Pagreitėjimas
Pagreitėjimas (Speedup) nusakomas Amdahl
dėsniu:
1
S = ------------------(1 – p) + p / k
Čia:
 S – bendrasis pagreitėjimas,
 p – kurią skaičiavimų dalį pagreitiname,
 k – kiek sparčiau vyksta pagreitinti skaičiavimai.
2013
S.Maciulevičius
22
Pagreitėjimas - pavyzdys
Pradžioje x86 procesoriuose nebuvo slankaus kablelio
operacijų. Jos buvo emuliuojamos (naudojant
paprogrames).
Tegul programoje jos sudaro 20 %.
Tegul koprocesorius jas vykdo 40 kartų sparčiau.
S = 1 / ((1 – p) + p / k) =
= 1 / ((1 – 0,2) + 0,2 / 40) = 1 / (0,8 + 0,005)
= 1,24
Taigi, kompiuterio su koprocesoriumi našumas gali būti
24 % didesnis.
2013
S.Maciulevičius
23
Didelio skaičiaus procesorių sistemos
2013
©S.Maciulevičius
24
Kompiuterių našumo
įvertinimo testai
2013
S.Maciulevičius
25
Našumo įvertinimo testai
Našumo įvertinimo testų kilmė:
1. Gamintojų testai.
2. Standartiniai testai.
3. Vartotojų testai.
Skiriami 4 testų tipai:
1) Realios programos.
2) Branduoliai.
3) Žaidimų tipo testai.
4) Dirbtiniai (sintetiniai) testai.
SPEC testai (SPEC - Standard Performance Evaluation Corporation)
Ziff-Davis Benchmark Operation testai: Winstone, WinBench,
PCBench, NetBench, ServerBench , ...
2013
S.Maciulevičius
26
SiSoft Sandra 2011
Sandra reiškia "System ANalyser, Diagnostic and
Reporting Assistant“. Tai – informacinė ir
diagnostinė programa
Į Sandra sudėtį įeina daugiau nei 60 informacinių,
našumo įvertinimo, informacijos pateikimo ir
testavimo bei diagnostikos modulių, kurie pateikia
detalią informaciją apie Windows PC.
Pavyzdžiui, apie sistemą galite gauti tokią informaciją:
gamintojas, procesorius, jo dažnis, L2 kešas, sistemos
magistralė(s), BIOS, valdymo schemų rinkinys (chipset),
atmintis, monitorius, videoadapteris, prijungti įtaisai ir t.t.
2013
©S.Maciulevičius
27
CPU-Z
2010-2012
©S.Maciulevičius
28
SPEC testai
SPEC testai (SPEC - Standard Performance
Evaluation Corporation) – 1988 m. įkurta
korporacija, jungianti pagrindinius
kompiuterių ir jų PĮ gamintojus.
Jos tikslas – kurti ir standartizuoti šiuolaikinių
kompiuterių našumo įvertinimo testus.
SPEC (http://www.spec.org)
• kuria testų paketus;
• renka ir publikuoja oficialius testų rezultatus.
2013
S.Maciulevičius
29
SPEC testai
SPEC tinklalapyje galime rasti kelias testų grupes:
•
•
•
•
•
•
•
•
•
CPU
grafikos ir darbo stočių
našiųjų sistemų
Java kliento/serverio sistemų
pašto serverių
tinklo failų sistemų
Web serverių
sunaudojamos energijos
virtualizacijos ...
2013
S.Maciulevičius
30
SPEC testai CPU našumui nustatyti
CPU našumui nustatyti skirti SPEC testai:
 CPU2006, skirtas intensyvius skaičiavimus atliekančių
sistemų našumui palyginti; jame yra du rinkiniai:
 CINT2006 - intensyvius skaičiavimus su sveikaisiais
skaičiais atliekančioms sistemoms palyginti ir
 CFP2006 - intensyvius skaičiavimus su slankaus
kablelio skaičiais atliekančioms sistemoms palyginti.
 CPU2000 - ankstesnė versija
2013
S.Maciulevičius
31
SPECint2006 testų rinkinys
Testas
Kalba
Kategorija
400.perlbench
401.bzip2
403.gcc
429.mcf
445.gobmk
456.hmmer
458.sjeng
462.libquantum
464.h264ref
471.omnetpp
473.astar
483.xalancbmk
C
C
C
C
C
C
C
C
C
C++
C++
C++
Programmavimo kalbos
Glaudinimas
C kompiliatorius
Kombinatorinė optimizacija
Dirbtinis intelektas
Genų sekų paieška
Dirbtinis intelektas
Fizika / Kvantiniai skaičiavimai
Video glaudinimas
Diskretusis modeliavimas
Kelio radimo algoritmas
XML apdorojimas
2013
S.Maciulevičius
32
SPECfp2006 testų rinkinys
Testas
Kalba
Kategorija
410.bwaves
Fortran
Skysčių dinamika
416.gamess
433.milc
434.zeusmp
Fortran
C
Fortran
Kvantinė chemija
Fizika: kvantinė chromodinamika
Fizika / CFD
435.gromacs
436.cactusADM
437.leslie3d
447.dealII
C/ Fortran
C/ Fortran
Fortran
C++
Biochemija / molekulinė dinamika
Fizika / bendrasis reliatyvumas
Skysčių dinamika
Baigtinių elementų analizė
444.namd
C++
Biologija / molekulinė dinamika
2013
S.Maciulevičius
33
SPECfp2006 testų rinkinys
Testas
Kalba
Kategorija
Tiesinis programavimas,
optimizacija
453.povray
C++
Paveikslų “ray-tracing”
454.Calculix
C/ Fortran Struktūrinė mechanika
Skaičiuojamasis
459.GemsFDTD Fortran
elektromagnetizmas
465.tonto
Fortran
Kvantinė chemija
470.lbm
C
Skysčių dinamika
481.wrf
C/ Fortran Oro prognozė
482.sphinx3
C
Kalbos atpažinimas
450.soplex
2013
C++
S.Maciulevičius
34
SPEC testai
SPECint ir SPECfp testų skirtumai:
Slankaus kablelio operacijų
dalis
2013
Magistralės apkrautumas
S.Maciulevičius
35
SPEC CPU testai
 http://www.spec.org/cpu2006/results/res2013q1/
pateikti 2013 metų 1 ketvirčio testų rezultatai
 Mano pastebėtas našiausias serveris –
IBM
System dx360 M4 (Intel Xeon E5-2690)
(2 procesoriai, 16 branduolių):
 Maksimalus našumas – 94,8
 “Normalus” našumas – 89,5
 Mano pastebėtas kukliausias serveris – Huawei
E9000 CH121 (Intel Xeon E5-2603)
(2 procesoriai, 8 branduoliai):
 Maksimalus našumas – 27,9
 “Normalus” našumas – 26,5
2013
S.Maciulevičius
36
SPEC CPU testai
 Maksimalus našumas pasiekiamas naudojant
maksimalią optimizaciją kompiliuojant testus,
netgi parenkant geriausisu parametrus
kiekvienam testui
 “Normalus” našumas išmatuotas naudojant
ribotą optimizaciją kompiliuojant testus. Tai
artimiausias standartinio kompiliavimo atvejui
2013
S.Maciulevičius
37
SPEC testai
Kai kurie kiti SPEC testai:
 SPECapc for 3ds Max™ 9 – grafikos sistemų našumui
palyginti (ankstesnė versija);
 SPECviewperf® 11 – grafikos sistemų našumui palyginti
(naujas testas)
 SPEC MPI2007 – testų rinkinys lygiagrečiųjų sistemų
(SMP, klasterių) našumui palyginti;
 SPECjEnterprise2010 – testų rinkinys Java Enterprise
Edition (Java EE ir vėlesnių) 5 serverių našumui palyginti
 SPECpower_ssj2008 – testų rinkinys serverių energijos
sąnaudoms ir našumui palyginti
2013
S.Maciulevičius
38
TPC testai
Transaction Processing Performance Council
(TPC) yra ne pelno siekianti organizacija,
įkurta 1988 metais, siekiant rengti tranzakcijų
apdorojimo ir duomenų bazių našumo testus,
skleisti patikrinamus ir objektyvius rezultatus
TPC rezultatai skelbiami TPC svetainėje
www.tpc.org
2013
S.Maciulevičius
39
Standartiniai TPC testai
 TPC-C – tranzakcijų apdorojimo realiu laiku testas
(An on-line transaction processing benchmark)
 TPC-E – tranzakcijų apdorojimo realiu laiku
testas, imituojantis brokerių firmos darbą (An online transaction processing benchmark that simulates
the OLTP workload of a brokerage firm)
 TPC-H – sprendimų priėmimo palaikymo testas
(An ad-hoc, decision support benchmark)
2013
S.Maciulevičius
40
TPC-C testų rekordai (2013 pradžia)
Firma
Sistema
SPARC SuperCluster
with T3-4 Servers
Rezultatas
(tpmc)
SPARC T3,
108/1728
30 249 688
IBM Power 7,
IBM Power 780 Server
24/192
Model 9179-MHB
10 366 254
Sun SPARC
Enterprise T5440
Server Cluster
7 646 486
UltraSPARC T2,
48/384
IBM Power 595 Server
Model 9119-FHA
2013
CPU / branduolių
IBM Power 6,
128/256
S.Maciulevičius
6 085 166
41
TPC-E testų rekordai (2012)
Firma
2013
Sistema
Rezultatas
NEC Express
5800/A1080a-E
Pasaulio rekordas: 4,614 tpsE Intel Xeon 10 procesorių (80
branduolių ) serveris
IBM System x3850
X5
4,593 tpsE - Xeon 8 procesorių
(80 branduolių ) serveris
PRIMERGY RX900 S2
4,556 tpsE - Xeon 8 procesorių
(80 branduolių ) serveris
HP ProLiant DL580
G7 Server
2,455 tpsE - Xeon 4 procesorių
(40 branduolių ) serveris
S.Maciulevičius
42
TPC-H testų rekordai (2013 pradžia)
Firma
2013
Sistema
Rezultatas
Dell PowerEdge R710
1 112 401 QphH - Intel Xeon
X5690 16 procesorių (96
branduolių ) serveris
Dell PowerEdge R720
403 230 QphH - Intel Xeon
E5-2690 2 procesorių (16
branduolių ) serveris
S.Maciulevičius
43
Kaip lyginami procesoriai šiandien?
Dabar dažniausiai randame procesorių testus,
kuriuose testavimo rezultatai sugrupuoti šitaip:
 3D interaktyvus darbas
 3D atvaizdavimas (rendering)
 Duomenų pakavimas
 Audio kodavimas
 Video kodavimas
 Kompiliavimas
 Matematiniai ir inžineriniai skaičiavimai
 Rastrinė ir vektorinė grafika
 Raštinės programinė įranga
 Žaidimai
Nešiojamų kompiuterių testuose – ir baterijos laikas
2013
S.Maciulevičius
44
Kaip lyginami procesoriai šiandien?
The Intel Ivy Bridge (Core i7 3770K) Review
(http://www.anandtech.com/):
 General Performance - SYSMark 2007 & 2012
 Content Creation Performance - Adobe Photoshop CS4,
3dsmax 9, Cinebench 11.5
 Video Transcoding Performance - x264 HD 3.03
Benchmark
 Software Development Performance - Compile
Chromium Test
 Compression & Encryption Performance - 7-Zip
Benchmark, TrueCrypt Benchmark
 Discrete GPU Gaming Performance - Dragon Age
Origins, World of Warcraft, Starcraft 2, Metro 2033,
Crysis: Warhead, Civilization V, ...
2013
S.Maciulevičius
45