Výkonnost počítačů, empirické zákony o výkonnosti
Transkript
Výkonnost počítačů, empirické zákony o výkonnosti INP 2008 FIT VUT v Brně 1 Moorův zákon • Gordon Moore (Fairchild Semicondutor) si v r. 1965 všiml, že počet tranzistorů na čipu procesoru se vždy za 18 až 24 měsíců přibližně zdvojnásobí. Platí to dodnes a zdá se, že ještě několik let bude… No of T’s 1 mld Alpha 221464 100 m Pentium 4 10 m Pentium II Pentium Pro Pentium 1m I 486 I 386 100 k 80286 10 k 1000 1975 8086 1980 1985 1990 1995 2000 2005 2010 Year 2 Intel Penryn, dvoujádrový procesor - 410 mil. tranzistorů na čipu Čtyřjádrová verze - 820 mil. tranzistorů na čipu. Technologie: 45 nm, umožněno vytvořením nového typu tranzistoru Zdroj: IEEE Spectrum 11/2007 3 Historický vývoj parametrů (1) CPU processor clock rate(MHz) cycle time(ns) 1980 8080 1 1000 1985 286 6 166 1990 386 20 50 1995 Pentium 150 6 2000 P-III 750 1.3 2005 P-4 3000 0.3 2005:1980 1980 19200 300 1985 2900 150 1990 320 35 1995 256 15 2000 100 12 2005 75 10 2005:1980 256 30 1980 8000 375 0.064 1985 880 200 0.256 1990 100 100 4 1995 30 70 16 2000 1 60 64 2005 0.20 50 1000 2005:1980 40000 8 15000 1980 500 87 1 1985 100 75 10 1990 8 28 160 1995 0.30 10 1000 2000 0.05 8 9000 2005 0.001 4 400000 2005:1980 10000 22 400000 3000 3333 SRAM metric $/MB access (ns) DRAM metric $/MB access (ns) typical size(MB) Disk metric $/MB access (ms) typical size(MB) 4 Historický vývoj parametrů (2) 5 Dlouhodobé pozorování: nárůst kapacity a rychlosti Logika: DRAM: Disk: Kapacita Rychlost (1/latence) 2x za 3 roky 4x za 3 roky 4x za 3 roky 2x za 3 roky 2x za 10 let 2x za 10 let 6 Rozdíl mezi výkonností CPU a paměti CPU 1000 CPU Moorův zákon 10 Rozdíl ve výkonnosti roste o 50% za rok! DRAM 1 DRAM 9%/rok (2X/10let) 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 výkonnost 100 60% za rok (2X/1.5roku) 7 Lokalita odkazů (1) Analýzou napsaného programu zjistíme tzv. statickou četnost jednotlivých instrukcí. K naprosto odlišným výsledkům dojdeme sledováním četnosti instrukcí během provedení programu, tj. dynamické četnosti. V programu se opakovaně provádějí instrukce uvnitř cyklů, procedur apod., takže docházíme k empirickému poznatku, že v programech je zřejmá tendence používat znovu ty instrukce (a ta data), které již byly jednou, nebo vícekrát použity. Velmi zhruba platí, že procesor stráví 90% svého času prováděním pouze 10% ze všech instrukcí programu (tzv. pravidlo 90/10). 8 Lokalita odkazů (2) Časová lokalita odkazů znamená, že pokud procesor použil v jistém okamžiku určitou instrukci, pak pravděpodobnost, že ji v dalším okamžiku bude provádět znovu je větší, než je pravděpodobnost použití instrukce, kterou dosud nepoužil. Prostorová lokalita odkazů se vyjadřuje pravidlem, že pokud bral program v poslední době instrukce z jistého bloku paměti, pak je velká pravděpodobnost, že v následující době bude brát instrukce zase z tohoto bloku. Princip časové a prostorové lokality odkazů platí i pro data, ovšem v daleko menší míře. Přesné údaje o lokalitě odkazů se mění podle konkrétního programu, na němž měření četnosti probíhá. 9 Rychlá vyrovnávací paměť „cache“ Na základě zjištěné zákonitosti o lokalitě odkazů bylo modifikováno schéma von Neumannovského počítače doplněním rychlé vyrovnávací paměti RVP (cache) mezi procesor a paměť M. Můžeme proto již mluvit o hierarchii pamětí, protože nejblíže procesoru jsou jeho vnitřní registry, což je vlastně paměť na nejnižší úrovni, další úroveň je tvořena blokem RVP, pomocí paměťové sběrnice je umožněn přístup do třetí paměťové úrovně, tedy do paměti M, a čtvrtá, nejvzdálenější je vnější paměť (disk). CPU (registry) RVP (cache) paměťová sběrnice HLAVNÍ PAMĚŤ M V/V sběrnice VNĚJŠÍ PAMĚŤ V této struktuře se již strojové cykly CPU nesynchronizují s cykly hlavní paměti M, nýbrž s RVP. Díky lokalitě odkazů může být kapacita RVP výrazně menší, než kapacita M a tudíž mohou být použity rychlejší a dražší paměťové obvody. 10 Amdahlův zákon o urychlení výpočtu Amdahlův vztah hodnotí urychlení činnosti systému zavedením rychlejšího zpracování části úlohy. Doby provedení výpočtu před a po úpravě si označíme jako te stará a te nová, poměrnou velikost úseku zpracování, jehož se týká urychlení, označíme číslem f, f < 1, a koeficient urychlení označíme r, pak te nová = te stará ((1 - f) + f/r) a celkové urychlení Vr je rovno Vr = te stará / te nová Vr = 1 / ((1 - f) + f/r) te stará = 1 f 1 -f 1-f f/r te nová 11 Zrychlení jako funkce f , r = konst. Př. Jakého urychlení dosáhneme, pokud vložíme do počítače RVP, která je 5x rychlejší než hlavní paměť a je využita v 90% případů? 6 5 vr 4 3 f=0.9, r=5, Vr =3.57 2 1 0 0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1 f 12 Definice výkonnosti počítače • • • • • Výkonnost počítače se posuzuje několika způsoby. Z hlediska uživatele je základním výkonovým ukazatelem doba (provedení) výpočtu, označovaná te (execution time). Z hlediska provozovatele systému, který poskytuje služby uživatelům, je hlavním parametrem výkonnosti propustnost systému Pe, tedy počet transakcí, které je systém schopen uskutečnit za časovou jednotky. Absolutní měření výkonnosti je velmi problematické. Schůdnější je hodnotit výkonnost relativně, tj. vzhledem k referenčnímu počítači, jako např. PC XT 4,7 MHz, nebo VAX-11/780. Je-li výkonnější počítač označen X a méně výkonný Y, lze pro poměr jejich výkonností (propustností) Pe a dob výpočtu te psát PeX/PeY = teY/teX = 100 + n a říkáme "počítač X je o n % výkonnější než počítač Y", nebo "počítač Y má o n % delší dobu výpočtu než X". 13 Měření výkonnosti • • • • • • Převážná část počítačů je zkonstruovaná s využitím konstantního hodinového kmitočtu fC. Docházíme tak ke konstantní době cyklu TC =1/ fC, např. 10 ns. Doba výpočtu: te = Počet hodinových cyklů během programu x TC (1) Můžeme spočítat počet provedených instrukcí programu Počet I a určit důležitý parametr procesoru - počet cyklů na provedení jedné instrukce CPI - Cycles Per Instruction. CPI = Počet hodinových cyklů během programu / Počet I (2) tedy Počet hod. c. během prog. = CPI x Počet I (3) Po dosazení (3) do rovnice (1) dostaneme (4) te = Počet I x CPI x TC Počet instrukcí v programu je dán řešenou úlohou a je ovlivněn architekturou instrukčního souboru (Instruction Set Architecture - ISA) a technologií kompilátoru, parametr CPI je dán architekturou ISA, a TC je dána použitou obvodovou technologií a organizací obvodů počítače. 14 Měření výkonnosti v jednotkách MIPS • Alternativou k době provedení je počet operací provedených za sekundu, udávaný pro současné počítače v jednotkách MIPS. PMIPS = Počet I / (te x 106) = fc / ( CPI x 106) (5) • Pozn.: Poslední výraz byl získán pomocí vztahu te = ( Počet I x CPI ) / fc (6) • Výhodou této definice je její jednoduchost, ale její použití pro srovnávání výkonnosti počítačů se sebou nese některé problémy. • Např. PMIPS je závislý na instrukčním souboru, takže je problematické srovnávat počítače s různými instrukčními soubory. 15 Měření výkonnosti v jednotkách MIPS • Řešením by mohlo být definovat výkonnost relativně vzhledem k referenčnímu počítači, a pracovat s relativním PMIPS. • Relativní PMIPS = ( te ref. počítače x PMIPS ref. počítače ) / te měř. počítače • PMIPS ref. počítače je dohodnuté číslo. Od r. 1980 se značně rozšířilo uznání počítače VAX - 11/780 za referenční počítač, který byl označen za "1 MIPS" stroj. Od r. 1995 byl nahrazen počítačem SUN SPARCstation 10/40. Rovněž v kategorii osobních počítačů je zvykem udávat výkonnost relativně vzhledem k referenčnímu počítači, např. P100, Pentium 1GHz atd. • Je otázka, zda by na starším referenčním počítači měla běžet poslední verze kompilátoru a operačního systému, nebo zda je třeba stav programového vybavení referenčního počítače zakonzervovat a nepřipustit, aby se měnilo a zdokonalovalo. • Je rovněž lákavé použít pro zjištění relativního PMIPS jako měřicího programu jednu zkušební úlohu, přesto, že by docházelo ke značným odchylkám v relativní výkonnosti. • Rovněž relativní PMIPS není příliš objektivní. 16 Měření v jednotkách MFLOPS • Pro počítače s jednotkou pro práci s čísly s pohyblivou řádovou čárkou (FP) se udává výkonnost v počtu operací s pohyblivou řádovou čárkou (FLOPS). PMFLOPS = Počet FP operací / ( te x 106 ) • Zde opět záleží na počítači a na programu. Problém je, že instrukční soubory FP nejsou u všech počítačů stejné. – Např. počítač Cray - 2 nemá FP dělení a jeho porovnání např. s procesorem Motorola 68 882, který má FP dělení, odmocninu, sin, cos atd. je pak nekorektní. – Složitost FP operací je různá. Operace sčítání je značně rychlejší, než operace dělení. Program se 100% operací sčítání pak zjistí vyšší výkonnost než program se 100% operací dělení. • Aby parametr PMFLOPS tyto rozdíly správně zachytil, byly definovány kanonické počty FP operací ve zkušebním programu. Každá operace FP se pak ohodnotí vahou, která representuje její složitost a dostaneme parametr normalizovaný PMFLOPS . • Váhy FP operací podle Livermore Loops – ADD, SUB, CMP, MPY – DIV, SQRT – EXP, SIN 1 4 8 17 Programy pro hodnocení výkonnosti • • • • • • Metodika měření výkonnosti je značně rozsáhlá a složitá a neustále se vyvíjí. 1. Reálné programy – nejobjektivnější metoda. Nakupované programové produkty pro řešení konkrétních úloh uživatele, jako kompilátor C, textový editor, návrhový systém pro automatizovaný návrh logických obvodů. 2. Jádra (kernels) - nejvýznamnější části skutečných programů, jako např. Livermore Loops a Linpack. Samy o sobě v reálném provozu nikdy neběží. Nejlépe se hodí k vyhodnocení jistého rysu počítače a k vysvětlení rozdílů v chování reálných programů. 3. Demonstrační zkušební úlohy (toy benchmarks) - typicky 10 až 100 řádků programu, slouží k populární demonstraci výkonnosti počítače. Např. Quicksort, Erastothenovo síto, různé skládačky (puzzles) ap. 4. Syntetické zkušební úlohy (synthetic benchmarks) - mají obdobnou filosofii jako jádra, snaží se vystihnout průměrné frekvence operací a dat na rozsáhlých množinách programů. Z historie jsou známé instrukční mixy, jako GPO-WU II (General Post Office - Work Unit II), Gibson mix, Norton index pro osobní počítače, Landmark atd. U nás byla pro hodnocení výkonnosti počítačů zavedena norma ČSN 36 9306, která používala pro počítače v oblasti vědeckotechnických výpočtů mix Gibson III a pro plánovací a ekonomické úlohy mix GPO-WU II. V minulosti bylo nejrozšířenější použití benchmarků, jako Whetstone benchmark s převahou operací v pohyblivé řádové čárce a Dhrystone benchmark s převahou operací v pevné řádové čárce. 18 SPEC • Nejdokonalejší jsou série reálných benchmarků SPEC (System Performance Evaluation Cooperative): SPEC89, SPEC92, SPEC95 a SPEC2000 • Skupiny měřicích programů se neustále mění tak, aby se objektivizovalo měření a pokrývaly se moderní aplikace • SPECint pro operace s pevnou řádovou čárkou – nyní 12 programů, jako komprese dat, rozmisťování a propojování obvodů FPGA, compilátor jazyka C, šachy, textový editor, vizualizace, objektová databáze atd. • SPECfp pro operace s pohyblivou řádovou čárkou – nyní 14 programů, jako 3D grafická knihovna, modelování mělké vody, neuronová síť pro rozpoznávání obrazů, simulace šíření seizmické vlny, zpracování a rozpoznávání obrazu lidské tváře, teorie čísel testování prvočíselnosti, šíření znečištění atmosférou atd. • Pro každou úlohu se zjistí relativní doba výpočtu (vzhledem k referenčnímu počítači). Ve skupinách int, fp se pak odděleně vypočte tzv. geometrický průměr, což je n-tá odmocnina ze součinu n relativních dob provedení. Výsledkem jsou dva výkonové parametry SPECint a SPECfp. 19
Podobné dokumenty
Integer Real
function Vyraz:integer;forward;
potom už stačí psát jenom function vyraz; ale je blbost to dělat
když to nadeklaruju dvakrát jinak tak mi to vyhlásí chybu - je to dobře protože
Prezentace aplikace PowerPoint - Dokumenty Google – práce s
Požadavky na studenta
Udělení zápočtu je podmíněno vypracováním a klasifikací dílčích
semestrálních prací na zadané téma a 75 % docházkou. Zkouška
proběhne formou písemného testu a závěrečné rozpra...
CISCO Network Academy
do schématu Ethernetu i technologií na vyšších vrstvách. Ovšem pokud jejich počet příliš
vzroste, tak to má veliký dopad na výkonnost sítě. Kolizní a broadcastové domény jsou určeny
k řešení takový...
Výkonnost počítače
Použití podmnožiny faktorů (taktovací
frekvence, CPI, počet instrukcí) jako
samostatné metriky
Použit jen jednoho faktoru je téměř vždy špatně
Použit dvou faktorů může být ve specifických
případech...
Výběr zdrojů, zadávání a správa úloh
• všechny fyzické stroje s dostatečnou
pamětí jsou virtualizovány
• obvykle dva virtuální stroje -1 a -2
• využito na clusterech orca a skirit č.49-81
• fronty orca a preempt@arien posílají
úlohy d...