Architektura počítačových systémů Kvantitativní principy návrhu počítačů České vysoké učení technické v Praze Fakulta informačních technologií Katedra počítačových systémů Aktualizace výukových materiálů spolufinancována z Fondu rozvoje vysokých škol v rámci projektu č. 1939/2012 (ČVUT FIT) Kvantitativní principy návrhu počítačů BI-APS, 2012, cvičení 1 1 / 31
Trocha historie Velmi stručný historický přehled. Odhadněte, jak by vývoj mohl pokračovat. Implementační technologie: relé elektronky tranzistory MOS VLSI...? Kde je soustředěn výpočetní výkon: procesorová jednotka počítač na stole webový/aplikační server cloud grafická karta...? Způsob programování: strojový kód assembler C, Pascal, BASIC... C++, Java komponenty, CASE nástroje...? Propojení počítačů: žádné lokální sítě Internet mobilní data...? (ČVUT FIT) Kvantitativní principy návrhu počítačů BI-APS, 2012, cvičení 1 2 / 31
Nedávná historie Procesor Intel Pentium 4 Prescott 3.4E GHz Uvedení na trh: Minimální velikost motivu (λ): Velikost čipu: Počet tranzistorů: Počet jader: Velikost cache: Frekvence hodin: Projektovaný ztrátový výkon (TDP): (ČVUT FIT) Kvantitativní principy návrhu počítačů BI-APS, 2012, cvičení 1 3 / 31
Nedávná historie Procesor Intel Pentium 4 Prescott 3.4E GHz Uvedení na trh: Q2/2004 Minimální velikost motivu (λ): 90 nm Velikost čipu: 112 mm 2 Počet tranzistorů: 125 10 6 Počet jader: 1 (2 vlákna) Velikost cache: 1 MB Frekvence hodin: 3,4 GHz Projektovaný ztrátový výkon (TDP): 105 W (ČVUT FIT) Kvantitativní principy návrhu počítačů BI-APS, 2012, cvičení 1 3 / 31
Současnost Procesor Intel Xeon E7-8870 Uvedení na trh: Minimální velikost motivu (λ): Velikost čipu: Počet tranzistorů: Počet jader: Velikost cache: Frekvence hodin: Projektovaný ztrátový výkon (TDP): (ČVUT FIT) Kvantitativní principy návrhu počítačů BI-APS, 2012, cvičení 1 4 / 31
Současnost Procesor Intel Xeon E7-8870 Uvedení na trh: Q2/2011 Minimální velikost motivu (λ): 32 nm Velikost čipu: 512 mm 2 Počet tranzistorů: 2, 6 10 9 Počet jader: 10 (20 vláken) Velikost cache: 30 MB Frekvence hodin: 2,4 GHz (turbo max. 2,8 GHz) Projektovaný ztrátový výkon (TDP): 130 W (ČVUT FIT) Kvantitativní principy návrhu počítačů BI-APS, 2012, cvičení 1 4 / 31
Současnost Grafický čip NVIDIA GK110 ( největší komerčně dostupný čip ) Uvedení na trh: Minimální velikost motivu (λ): Velikost čipu: Počet tranzistorů: Max. ztrátový výkon (TDP): (ČVUT FIT) Kvantitativní principy návrhu počítačů BI-APS, 2012, cvičení 1 5 / 31
Současnost Grafický čip NVIDIA GK110 ( největší komerčně dostupný čip ) Uvedení na trh: Q4/2012 Minimální velikost motivu (λ): 28 nm Velikost čipu: 550 mm 2 Počet tranzistorů: 7, 1 10 9 Max. ztrátový výkon (TDP): 300 W (ČVUT FIT) Kvantitativní principy návrhu počítačů BI-APS, 2012, cvičení 1 5 / 31
Některé empirické zákony Moore s law (1965): The number of transistors on a chip doubles annually. Rock s law (Moore s 2nd law): The cost of semiconductor tools doubles every four years. Machrone s law (1984): The PC you want to buy will always be $5000. Metcalfe s law: A network s value grows proportionally to the number of its users squared. Wirth s law: Software is slowing faster than hardware is accelerating (ČVUT FIT) Kvantitativní principy návrhu počítačů BI-APS, 2012, cvičení 1 6 / 31
Moorův zákon (ČVUT FIT) Kvantitativní principy návrhu počítačů BI-APS, 2012, cvičení 1 7 / 31
Výkonnost počítačů Nástup mikroprocesorů nejen vylepšení stávající technologie, ale změna paradigmatu (ČVUT FIT) Kvantitativní principy návrhu počítačů BI-APS, 2012, cvičení 1 8 / 31
Výkonnost počítačů Zpomalování výkonnosti pro jednovláknové programy? (ČVUT FIT) Kvantitativní principy návrhu počítačů BI-APS, 2012, cvičení 1 9 / 31
Časová složitost a výkonnost Vlak (Pendolino) vs. letadlo (ATR42): úkon stejný, ale různá doba Úkon = cesta Praha Ostrava, nezáleží na počtu osob Doba cesty: t Pendolino = 3 h, t ATR42 = 1 h. Letadlo je t Pendolino t ATR42 = 3 1 = 3 krát rychlejší. Výkonnost P(T ): inverzní hodnota doby T provedení 1 úkonu P T (T ) = Počítačová analogie: 1 časová složitost 1 úkonu = 1 cesta PHA OVA = 1 T úkon: provedení 1 programu doba: doba T provedení programu X je k krát rychlejší než Y X má k krát větší výkonnost než Y k = P T (T x ) P T (T y ) = T y T x (ČVUT FIT) Kvantitativní principy návrhu počítačů BI-APS, 2012, cvičení 1 10 / 31
Časová složitost a propustnost Pendolino vs. ATR42: různá doba cesty a také různě veliký úkon Úkon = # přepravených osob na trase Praha Ostrava 333 osob 46 osob Pendolino: r P = 3 h, ATR42: r A = 1 h Pendolino je r P ra = 111 46 = 2, 4 krát propustnější. Výkonnost P(n, T ): n úkonů za čas T úkon P r (n, T )= čas. složitost = # osob cesta PHA OVA = n T = c t =r Počítačová analogie: úkon: různý, provedení n krát jednoho programu doba: doba T pro provedení úkonu X je k krát propustnější než Y X má k krát větší výkonnost než Y k = P r (n X, T X ) P r (n Y, T Y ) = T Y n X T X n Y (ČVUT FIT) Kvantitativní principy návrhu počítačů BI-APS, 2012, cvičení 1 11 / 31
Časová složitost a výkonnost Otázka k zamyšlení: Když na stejnou linku přidáme další dopravní prostředek stejného typu, jak se změní: latence propustnost výkonnost (ČVUT FIT) Kvantitativní principy návrhu počítačů BI-APS, 2012, cvičení 1 12 / 31
Časová složitost a výkonnost Otázka k zamyšlení: Když na stejnou linku přidáme další dopravní prostředek stejného typu, jak se změní: latence nezmění, doba jedné cesty je stejná propustnost zdvojnásobí, za stejnou dobu přepravíme 2x více osob výkonnost záleží, jak ji počítáme, jestli z latence nebo propustnosti (ČVUT FIT) Kvantitativní principy návrhu počítačů BI-APS, 2012, cvičení 1 12 / 31
Amdahlův zákon 1 Amdahlův zákon (AZ) = výpočet výkonového zisku, čili zrychlení S, dosaženého vylepšením nějaké části počítače nebo S = výkonnost při využití vylepšení výkonnost bez využití vylepšení = P NEW P OLD S = doba výpočtu bez využití vylepšení doba výpočtu při využití vylepšení = T OLD T NEW Zrychlení S = číslo udávající, kolikrát je běh úlohy na počítači s vylepšením rychlejší oproti běhu stejné úlohy na původním počítači (ČVUT FIT) Kvantitativní principy návrhu počítačů BI-APS, 2012, cvičení 1 13 / 31
Amdahlův zákon 2 Definujeme: F E = původní doba výpočtu zlepšené části úlohy původní celková doba výpočtu 1 a S E = původní doba výpočtu zlepšené části úlohy doba výpočtu zlepšené části úlohy > 1 Doba výpočtu T NEW na vylepšeném počítači se bude skládat z: (1 F E )T OLD = doba výpočtu té části úlohy, kterou nelze vylepšit F E S E T OLD = doba výpočtu vylepšené části úlohy (ČVUT FIT) Kvantitativní principy návrhu počítačů BI-APS, 2012, cvičení 1 14 / 31
Amdahlův zákon 3 Doba výpočtu T NEW na vylepšeném počítači: ( T NEW = T OLD (1 F E ) + F ) E S E Celkové zrychlení S OVERALL odpovídající danému vylepšení: S OVERALL = T OLD T NEW = 1 (1 F E ) + F E S E (ČVUT FIT) Kvantitativní principy návrhu počítačů BI-APS, 2012, cvičení 1 15 / 31
Amdahlův zákon příklad 1 Procesory Intel Core (Westmere) a novější obsahují sadu nových instrukcí AES-NI, pomocí které lze operace šifrování a dešifrování v určitých operačních módech šifry AES urychlit až 10x. 1 Jaké bude celkové urychlení šifrovací aplikace, v níž šifrování a dešifrování algoritmem AES představuje 70 % doby výpočtu (bez využití nových instrukcí)? (ČVUT FIT) Kvantitativní principy návrhu počítačů BI-APS, 2012, cvičení 1 16 / 31
Amdahlův zákon příklad 1 Procesory Intel Core (Westmere) a novější obsahují sadu nových instrukcí AES-NI, pomocí které lze operace šifrování a dešifrování v určitých operačních módech šifry AES urychlit až 10x. 1 Jaké bude celkové urychlení šifrovací aplikace, v níž šifrování a dešifrování algoritmem AES představuje 70 % doby výpočtu (bez využití nových instrukcí)? F E = 0.7 S E = 10 S = 1 0.3 + 0.7 10 = 1 0.37 = 2.702 (ČVUT FIT) Kvantitativní principy návrhu počítačů BI-APS, 2012, cvičení 1 16 / 31
Amdahlův zákon příklad 1 2 Jakou část původní doby výpočtu musí představovat šifrování, aby celkové zrychlení bylo dvojnásobné? (ČVUT FIT) Kvantitativní principy návrhu počítačů BI-APS, 2012, cvičení 1 17 / 31
Amdahlův zákon příklad 1 2 Jakou část původní doby výpočtu musí představovat šifrování, aby celkové zrychlení bylo dvojnásobné? S = 2 = 1 (1 F E ) + F E S E 1 (1 F E ) + F E 10 F E = 0.55 (ČVUT FIT) Kvantitativní principy návrhu počítačů BI-APS, 2012, cvičení 1 17 / 31
Amdahlův zákon příklad 2 Pro FP výpočty v počítačové grafice se často používá operace odmocniny FPSQRT a výkonnost procesorů pro grafiku je na jejím efektivním provádění silně závislá. Předpokládejme, že FPSQRT zabírá 20% a všechny FP operace zabírají 50% doby výpočtu kritické zkušební úlohy pro grafiku. Úkolem je rozhodnout, zda je výhodnější: 1 10x zrychlit provádění instrukce FPSQRT 2 1.6x zrychlit provádění všech FP instrukcí (ČVUT FIT) Kvantitativní principy návrhu počítačů BI-APS, 2012, cvičení 1 18 / 31
Amdahlův zákon příklad 2 Řešení: 1 S FPSQRT = 2 S FP = 1 (1 0.2) + 0.2 10 1 (1 0.5) + 0.5 1.6 = = 1 0.82 = 1.22 1 0.8125 = 1.23 Závěr: 2. možnost je o něco málo rychlejší než 1. (ČVUT FIT) Kvantitativní principy návrhu počítačů BI-APS, 2012, cvičení 1 19 / 31
Amdahlův zákon příklad 3 Předpokládejme, že jsme vylepšili určitý režim činnosti počítače s faktorem zrychlení 10. Vylepšený režim se používá v 50% času výpočtu, měřeno jako procentuální podíl na celkové době výpočtu na počítači s vylepšeným režimem. Jaké je celkové zrychlení a jaký je podíl urychlované části výpočtu na celkové původní době výpočtu? Pozn.: Připomínáme, že do Amdahlova zákona vstupuje podíl původní části doby výpočtu, který lze vylepšit. (ČVUT FIT) Kvantitativní principy návrhu počítačů BI-APS, 2012, cvičení 1 20 / 31
Amdahlův zákon příklad 3 Předpokládejme, že jsme vylepšili určitý režim činnosti počítače s faktorem zrychlení 10. Vylepšený režim se používá v 50% času výpočtu, měřeno jako procentuální podíl na celkové době výpočtu na počítači s vylepšeným režimem. Jaké je celkové zrychlení a jaký je podíl urychlované části výpočtu na celkové původní době výpočtu? Pozn.: Připomínáme, že do Amdahlova zákona vstupuje podíl původní části doby výpočtu, který lze vylepšit. (1 F E ) = F E S E F E = 1 1 + 1 S E = 1 1 + 1 10 1 S = (1 F E ) + F = 11 E 2 = 5.5 S E = 10 11 = 0.91 (ČVUT FIT) Kvantitativní principy návrhu počítačů BI-APS, 2012, cvičení 1 20 / 31
CPU výkonnostní rovnice Výkonnost CPU, vyjádřená pomocí doby T CPU (prg), po kterou jednotka CPU vykonává program prg, je P(T CPU (prg)) = 1 T CPU (prg) Všechny počítače používají hodiny s konstantní frekvencí cykly (ticks, clock ticks, clock periods, cycles, clock cycles). Rychlost hodin se udává jako: doba trvání hodinového cyklu (clock period) - T CLK, nebo frekvence taktů (clock rate) - f CLK f CLK = 1 T CLK (ČVUT FIT) Kvantitativní principy návrhu počítačů BI-APS, 2012, cvičení 1 21 / 31
CPU výkonnostní rovnice 2 Doba CPU pro vykonání daného programu prg je CPU výkonnostní rovnice T CPU (prg) = T CLK Cyc CPU (prg) = (1/f CLK ) Cyc CPU (prg) Cyc CPU (prg) = # hodinových cyklů CPU pro provedení programu prg. Pokud známe počet instrukcí IC (instruction count) pro provedení programu prg, můžeme vypočítat CPI = průměrný počet hodinových cyklů na instrukci (clock cycles per instruction), nebo převrácenou hodnotu IPC (instructions per clock cycle). CPI(prg) = 1 IPC(prg) = Cyc CPU(prg) IC(prg) (ČVUT FIT) Kvantitativní principy návrhu počítačů BI-APS, 2012, cvičení 1 22 / 31
CPU výkonnostní rovnice 3 Doba CPU pro vykonání daného programu prg s proměnnými IC a CPI je CPU výkonnostní rovnice T CPU (prg)=ic(prg) CPI(prg) T CLK =IC(prg) CPI(prg) (1/f CLK ) Po převedení komponentů této rovnice do měřicích jednotek dostáváme [ instrukce program hod. cyklus instrukce sekunda ] [ ] sekunda = =T CPU (prg) hod. cyklus program Rozklad T CPU (prg) demonstruje závislost T CPU (prg) na 3 parametrech: 1 hodinový cyklus T CLK hodinová frekvence f CLK 2 CPI = # hodinových cyklů na jednu instrukci daného programu prg 3 IC = # instrukcí daného programu prg (ČVUT FIT) Kvantitativní principy návrhu počítačů BI-APS, 2012, cvičení 1 23 / 31
Závislost parametrů T CPU Pokud se některý z parametrů zlepší o k %, pak se zlepší o k % i T CPU. Parametry T CLK, CPI, IC jsou provázány: IC CPI T CLK Program Překladač Architektura instrukčního souboru (ISA) Organizace CPU Technologie CPU přímý vliv není součástí systému nepřímý, zprostředkovaný vliv (ČVUT FIT) Kvantitativní principy návrhu počítačů BI-APS, 2012, cvičení 1 24 / 31
Přesnější CPU výkonnostní rovnice 1 Přesnější metrika: Cyc CPU (prg) = n (ic i cpi i ) i=1 ( n ) T CPU (prg) = ic i cpi i T CLK kde i=1 ic i = # provedení instrukcí i programu prg, cpi i = průměrný # hodinových cyklů na instrukci i, n = # instrukcí v architektuře instrukčního souboru (ISA - Instruction Set Architecture). (ČVUT FIT) Kvantitativní principy návrhu počítačů BI-APS, 2012, cvičení 1 25 / 31
Přesnější CPU výkonnostní rovnice 2 Průměrné CPI CPI(prg) = n (ic i cpi i ) i=1 IC(prg) = n i=1 ( ) ici IC(prg) cpi i cpi i zahrnuje vliv čekacích stavů, výpadků vnitřní skryté paměti atd. cpi i lze měřit a počítat (v některých případech) Dále je uveden příklad, kde průměrná hodnota CPI je vypočítána na základě znalosti IC a hodnot: ic i = # instrukcí typu ALU, Load, Store a Branch cpi i průměrná hodnota pro instrukce typu ALU, Load, Store a Branch (ČVUT FIT) Kvantitativní principy návrhu počítačů BI-APS, 2012, cvičení 1 26 / 31
Přesnější CPU výkonnostní rovnice příklad Příklad typického mixu instrukcí RISC procesoru: Instrukce ic i /IC cpi i (ic i /IC) cpi i % čas ALU 0.5 1?? Load 0.2 5?? Store 0.1 3?? Branch 0.2 2?? CPI? (ČVUT FIT) Kvantitativní principy návrhu počítačů BI-APS, 2012, cvičení 1 27 / 31
Přesnější CPU výkonnostní rovnice příklad Příklad typického mixu instrukcí RISC procesoru: Instrukce ic i /IC cpi i (ic i /IC) cpi i % čas ALU 0.5 1 0.5 23 % Load 0.2 5 1 45 % Store 0.1 3 0.3 14 % Branch 0.2 2 0.4 18 % CPI 2.2 (ČVUT FIT) Kvantitativní principy návrhu počítačů BI-APS, 2012, cvičení 1 27 / 31
Přesnější CPU výkonnostní rovnice příklad Příklad typického mixu instrukcí RISC procesoru: Otázky: Instrukce ic i /IC cpi i (ic i /IC) cpi i % čas ALU 0.5 1 0.5 23 % Load 0.2 5 1 45 % Store 0.1 3 0.3 14 % Branch 0.2 2 0.4 18 % CPI 2.2 1 Jakým způsobem se urychlí celkový výpočet, pokud vylepšením datové vnitřní skryté paměti klesne cpi Load na 2? 2 Předchozí zlepšení porovnejte s použitím vylepšení predikce skoku, které zmenší cpi Branch na 1. 3 Co se stane, když budou 2 ALU instrukce vykonávány najednou? (ČVUT FIT) Kvantitativní principy návrhu počítačů BI-APS, 2012, cvičení 1 27 / 31
Přesnější CPU výkonnostní rovnice příklad Řešení: Využijeme, že S = T OLD T NEW = IC CPI OLD T CLK IC CPI NEW T CLK = CPI OLD CPI NEW Alternativně lze využít spočítané podíly na době výpočtu a dosadit přímo do Amdahlova zákona Tedy: 1 S 1 = 2.2 1.6 = 1.38 2 S 2 = 2.2 2.1 = 1.05 3 S 3 = 2.2 1.95 = 1.13 (ČVUT FIT) Kvantitativní principy návrhu počítačů BI-APS, 2012, cvičení 1 28 / 31
Měření výkonnosti MIPS Definice měření výkonnosti jednotkami MIPS: MIPS = IC IC = = f T CPU 10 6 IC CPI T CLK 10 6 CLK CPI 10 6 = [10 6 instr./s] MIPS závisí na: ISA a programu, nebot CPI závisí na programu, mixu instrukcí Důsledek: výkonnost vyjádřena v jednotkách MIPS je závislá na programu, i když se tato závislost často neuvádí Uvažujte úlohu, která má 1 955 789 FP operací a) řešena na procesoru bez FP instrukcí trvá 136 ms, CPI a = 6 b) řešena na procesoru s FP instrukcemi trvá 11 ms, CPI b = 10 Kolik je počet provedených instrukcí IC a a IC b? Kolik instrukcí v případě a) je třeba na jednu FP operaci? Kolik je MIPS a a MIPS b? (ČVUT FIT) Kvantitativní principy návrhu počítačů BI-APS, 2012, cvičení 1 29 / 31
Měření výkonnosti MIPS Řešení: Předpokladáme, že T CLK stejné pro a) i b). Potom z rovnice pro T CPU v případě b) dostáváme: T CLK = 0.56 ns Dále předpokládáme, že 1 FP instrukce = 1 FP operace. Potom z rovnice pro T CPU v případě a) získáme IC a = 40 301 106, pro vykonání 1 FP operace tudíž potřebujeme cca 20 instrukcí procesoru a. MIPS a = 296 MIPS b = 177 (ČVUT FIT) Kvantitativní principy návrhu počítačů BI-APS, 2012, cvičení 1 30 / 31
Úkoly na doma 1 Latence vs. propustnost Jsou dvě horské chaty, jedna na kopci, druhá pod kopcem. Jejich vzdálenost je 10 km. Je třeba mezi nimi přenášet data. Spočtěte a porovnejte latenci a propustnost těchto dvou variant: Mikrovlnný spoj s rychlostí 10 Mbit/s. Bernardýn, který ve váčku na krku nese 10 disků DVD, každý s kapacitou 4,7 GB. Bernardýn běhá rychlostí 20 km/h. 2 Ztrátové teplo Spočtěte a porovnejte vyzařované teplo na jednotku plochy (W/cm 2 ) pro: Grafický čip GK110, TDP 300W, plocha čipu 550 mm 2. Elektrický vařič, průměr plotýnky 19 cm, příkon 2 kw. (ČVUT FIT) Kvantitativní principy návrhu počítačů BI-APS, 2012, cvičení 1 31 / 31