4 - Katedra Informatyki > Home

Transkrypt

4 - Katedra Informatyki > Home
Plan wykładu
Architektura systemów komputerowych
Wydajność systemu komputerowego
Wydajność systemów komputerowych
Cykl zegarowy
Cezary Bolek
Liczba cykli zegarowych na instrukcję
Katedra Informatyki
Wyznaczanie wydajności
Zwiększenie wydajności
Miary wydajności
MIPS
Wady
SPEC
Architektura systemów komputerowych
Wydajność systemu komputerowego
2
Cezary Bolek
Cykle zegarowe
Rzeczywisty czas wykonania zadania
Cykl zegarowy = okres zegara = 1 / szybkość zegara
Liczy się wszystko: czas oczekiwania, operacje we/wy, obsługa
przez system operacyjny
Cykl 1
PoŜyteczne, lecz mało miarodajne do oceny – brak obiektywizacji
Cykl 2
Cykl 3
Szybkość zegara = częstotliwość zegara = cykle na sek.
Na razie: czas wykonania programu przez CPU
2 Ghz = 2×109 cykli/sek.
Zegar o częstotliwości 2 GHz ma okres = 1/(2×109) = 0.5 ns
Czas potrzebny na realizację instrukcji programu
Często uŜywa się cykle zegarowe w celu przedstawienia
czasu wykonywania programu przez CPU.
Nie brane pod uwagę czas realizacji operacji we/wy oraz czas
obsługi przez OS
MoŜe być wyraŜone w sekundach
Bądź odniesione do liczby cykli zegarowych
Architektura systemów komputerowych
Cezary Bolek
Czas wykonania CPU = Cykle CPU × okres zegara =
3
Architektura systemów komputerowych
Cezary Bolek
Cykle CPU
Szybkość zegara
4
Zwiększenie wydajności
Liczba cykli zegarowych na instrukcję
Aby zwiększyć wydajność naleŜy:
Clock Cycles per Instruction (CPI)
Zmniejszyć liczbę cykli niezbędnych do realizacji programu
RóŜne instrukcje potrzebują róŜnej liczby cykli zegarowych
Zmniejszyć długość cyklu zegarowego (zwiększyć szybkość zegara)
MnoŜenie wymaga więcej cykli niŜ dodawanie
Przykład:
Dostęp do pamięci wymaga więcej cykli niŜ dostęp do rejestrów
CPI określa średnią liczbę cykli zegarowych na instrukcję
Program realizujący pewne zadanie w ciągu 10 sekund na
komputerze X z zegarem 2 GHz
I1
Cel: system komputerowy Y realizujący dane zadanie w ciągu 6 sekund
Ale: system Y wymaga o 10% więcej cykli zegarowych
1
Jaka musi być szybkość zegara systemu Y ?
I2
2
3
I3
4
5
6
I4 I5
7
8
9
I6
I7
10 11 12 13 14
CPI = 14/7 = 2
cykl
Rozwiązanie
Liczba cykli systemu X = 10 s. × 2 × 109 cykli/s = 20 × 109 cykli
Zmiana długości cyklu zegarowego często powoduje
zmianę liczby cykli dla określonych instrukcji
Liczba cykli systemu Y = 1.1 × 20 × 109 = 22 × 109 cykli
Szybkość zegara Y = 22 × 109 cykli / 6 s. = 3.67 GHz
Architektura systemów komputerowych
Cezary Bolek
5
Czas wykonania programu
Architektura systemów komputerowych
Cezary Bolek
6
Wyznaczanie wydajności
Aby wykonać pewien program potrzeba:
określonej liczby cykli zegarowych
ZałoŜenie: dwa systemy o takim samym model
programowym jednostki centralnej (ISA), lecz odmiennie
zaimplementowane
wynikającą z tego określonego czasu
Dla pewnego programu:
wykonać określoną liczbę instrukcji
Komputer A - zegar 4GHz (cykl zegarowy 250ps) oraz CPI=2,0
Liczba cykli zegarowych wynika z liczby wykonanych
instrukcji:
Komputer B - zegar 2GHz (cykl zegarowy 500ps) oraz CPI=1,2
Wydajność:
Cykle zegarowe CPU = Liczba instrukcji × CPI
Obydwa komputery wykonują taką samą liczbę instrukcji – N
Czas wykonywania CPU (A) = N × 2,0 × 250 ps = 500 × N ps
Czas wykonywania programu (wydajność):
Czas wykonywania CPU (B) = N × 1,2 × 500 ps = 600 × N ps
Czas = Liczba instrukcji × CPI × długość cyklu
Architektura systemów komputerowych
Cezary Bolek
Komputer A jest szybszy od B:
7
Architektura systemów komputerowych
600 × I
500 × I
Cezary Bolek
= 1,2 razy
8
Określanie CPI
Określanie CPI - przykład
RóŜne klasy instrukcji wykonywane są róŜnej liczbie cykli
Dla określonego zestawu instrukcji procesora MIPS
ZałoŜenie: CPIi = liczba cykli zegarowych dla inst. klasy i
C = liczba instrukcji klasy i
Jaki jest średni, procentowy udział kaŜdej klasy instrukcji w
czasie wykonywania ?
Jaki jest średnie CPI ?
∑ (CPI × C )
n
∑ (CPI × C )
i
n
Cykle CPU =
i
i
CPI =
i=1
i=1
∑C
i
n
i
i=1
Projektanci często wyznaczają CPI na podstawie symulacji
Architektura systemów komputerowych
Cezary Bolek
MIPS jako miara wydajności
Architektura systemów komputerowych
Cezary Bolek
=
50%
20%
10%
20%
1
5
3
2
0,5×1 = 0,5
0,2×5 = 1,0
0,1×3 = 0,3
0,2×2 = 0,4
0,5/2,2 = 23%
1,0/2,2 = 45%
0,3/2,2 = 14%
0,4/2,2 = 18%
Architektura systemów komputerowych
Cezary Bolek
10
Współczynnik MIPS dla róŜnych programów na tym samym
komputerze jest róŜny
=
Nie moŜna uŜywać tego samego współczynnika MIPS dla
wszystkich programów
Clock Rate
MIPS moŜe maleć wraz ze wzrostem rzeczywistej
wydajności
CPI × 106
WyŜszy współczynnik MIPS nie zawsze musi oznaczać wyŜszą
MIPS moŜe określać czas wykonywania
MIPS × 106
ALU
Load
Store
Branch
gdyŜ udział poszczególnych instrukcji jest róŜny
MIPS określa średnią szybkość wykonywania instrukcji
Execution Time =
% czasu
Nie moŜna porównywać komputerów z róŜnymi zestawami instrukcji
Szybszy system ⇒ większe MIPS
Inst Count
CPI × Częst
Nie uwzględnia moŜliwości poszczególnych instrukcji
UŜywana jako miara wydajności systemów komputerowych
Execution Time × 106
CPI
Wady MIPS jako miary wydajności
MIPS: Millions Instructions Per Second,
Milion instrukcji na sekundę
MIPS =
Częst
Średnie CPI = 0,5 + 1,0 + 0,3 + 0,4 = 2,2
9
Instruction Count
Klasa
wydajność
Inst Count × CPI
MIPS nie uwzględnia architektury całego komputera, odnosi
się tylko do CPU
Clock Rate
11
Architektura systemów komputerowych
Cezary Bolek
12
MIPS – przykład 1/2
MIPS – przykład 2/2
Liczba cykli CPU dla obydwu kodów:
Dwa róŜne kompilatory zostały uŜyte do wygenerowania
kodu dla komputera taktowanego częstotliwością 4GHz.
UŜyte zostały instrukcje naleŜące do trzech klas: A, B i C,
które realizowane są w odpowiednio: 1, 2 i 3 cyklach
zegarowych.
Liczba cykli CPU (kompilator 1) = (5×1 + 1×2 + 1×3)×109 = 10×109
Liczba cykli CPU (kompilator 2) = (10×1 + 1×2 + 1×3)×109 = 15×109
Czas wykonywania dla obydwu kodów:
Czas wykonywania (kompilator 1) = 10×109 cykli / 4×109 Hz = 2,5 s.
Czas wykonywania (kompilator 2) = 15×109 cykli / 4×109 Hz = 3,75 s.
Pierwszy kompilator wygenerował kod, który podczas
realizacji wykonuje: 5 miliardów instrukcji klasy A, 1 miliard
instrukcji klasy B i 1 miliard instrukcji klasy C
Kompilator 1 generuje szybszy kod (krótszy czas wykonyw.)
Współczynnik MIPS dla obydwu kompilaotrów:
Drugi: 10 miliardów instrukcji klasy A, 1 miliard instrukcji
klasy B i 1 miliard instrukcji klasy C
MIPS = Liczba instrukcji / (Czas wykonywania × 106)
Który kompilator generuje wyŜszy współczynnik MIPS ?
MIPS (kompilator 1) = (10+1+1) × 109 / (3,75 × 106) = 3200
MIPS (kompilator 1) = (5+1+1) × 109 / (2,5 × 106) = 2800
Kod wygenerowany przez kompilator 2 charakteryzuje się
wyŜszym współczynnikiem MIPS
Który kompilator generuje szybciej wykonywany kod ?
Architektura systemów komputerowych
Cezary Bolek
13
Miary wydajności
Cezary Bolek
14
SPEC CPU2006
Wydajność najlepiej jest ocenić w kontekście szybkości
działania rzeczywistych aplikacji
12 Integer benchmarks (C and C++)
Programy generujące typowe obciąŜenie
Reprezentujące klasy typowych zastosowań
Kompilatory, edytory, CAD/CAM, przetwarzanie grafiki
SPEC (System Performance Evaluation Corporation)
załoŜona w 1988 r. organizacja z siedzibą w Warrenton, Virginia,
zajmująca się ustanawianiem standardowych benchmarków
oceniających wydajność komputerów.
Jej pierwszym testem wydajności był SPECmark badający CPU, w
którym jednostką był ekwiwalent wydajności maszyny VAX 11/780.
ChociaŜ testy SPEC w dalszym ciągu badają CPU, organizacja
opracowała teŜ inne testy, np. do oceny podsystemu graficznego
czy rozmaitych kategorii aplikacji.
Architektura systemów komputerowych
Architektura systemów komputerowych
Cezary Bolek
14 FP benchmarks (Fortran 77, 90, and C)
Name
Description
Name
Description
gzip
vpr
gcc
mcf
crafty
parser
eon
perlbmk
gap
vortex
bzip2
twolf
Compression
FPGA placement and routing
GNU C compiler
Combinatorial optimization
Chess program
Word processing program
Computer visualization
Perl application
Group theory, interpreter
Object-oriented database
Compression
Place and route simulator
wupwise
swim
mgrid
applu
mesa
galgel
art
equake
facerec
ammp
lucas
fma3d
sixtrack
apsi
Quantum chromodynamics
Shallow water model
Multigrid solver in 3D potential field
Partial differential equation
Three-dimensional graphics library
Computational fluid dynamics
Neural networks image recognition
Seismic wave propagation simulation
Image recognition of faces
Computational chemistry
Primality testing
Crash simulation using finite elements
High-energy nuclear physics
Meteorology: pollutant distribution
Miarą jest rzeczywisty czas wykonania odniesiony do systemu
wzorcowego
15
Architektura systemów komputerowych
Cezary Bolek
16
SPECmark – przykładowe zestawy komputerowe
CINT2006
CFP2006
Rdze
nie
Proce
sory
Rdzeni/
proc.
Dell Precision
M90 (Intel
T7600, 2.33
GHz)
23
19.5
2
1
2
Intel
Core 2
Duo
T7600
2333
2 GB (2x1 GB
667 MHz CL5
DDR2 SDRAM)
Dell Precision
T3400 (Intel
E6850, 3.00
GHz)
33.7
28.8
2
1
2
Intel
Core 2
Duo
E6850
3000
4 GB (4x1 GB
800 MHz ECC
CL6 DDR2)
3166
4 GB (4x1 GB
800 MHz ECC
CL6 DDR2)
System
Procesor
Taktowanie
proc. [GHz]
Pamięć
Dell Precision
T3400 (Intel
E8500, 3.16
GHz)
36.8
30.5
2
1
2
Intel
Core 2
Duo
E8500
Dell Precision
690 (Intel Xeon
5160, 3.00
GHz)
53.2
42.3
4
2
2
Intel
Xeon
5160
3000
8 GB (8x1 GB
667 MHz ECC
CL5 DDR2 FBDIMM)
XPS M1710
(Intel Core 2
Duo T7600)
23.9
19.9
2
1
2
Intel
Core 2
Duo
T7600
2333
2 GB (2x1GB
Hynix DDR2-667
CL5)
Architektura systemów komputerowych
Cezary Bolek
Koniec
17
Architektura systemów komputerowych
Cezary Bolek
1
8

Podobne dokumenty