Architektura počítačů Výkonnost počítačů

Podobné dokumenty
Architektura počítačů Výkonnost počítačů

Architektura počítačů Výkonnost počítačů

Principy počítačů a operačních systémů

Kvantitativní principy návrhu počítačů

Architektura počítačů Agenda

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC

NSWI /2011 ZS. Principy cpypočítačůčů aoperačních systémů ARCHITEKTURA

Kvantitativní principy návrhu počítačů

Kvantitativní principy návrhu počítačů. doc. Ing. Róbert Lórencz, CSc.

2.8 Procesory. Střední průmyslová škola strojnická Vsetín. Ing. Martin Baričák. Název šablony Název DUMu. Předmět Druh učebního materiálu

Přednášky o výpočetní technice. Hardware teoreticky. Adam Dominec 2010

Přehled paralelních architektur. Dělení paralelních architektur Flynnova taxonomie Komunikační modely paralelních architektur

Pohled do nitra mikroprocesoru Josef Horálek

4. Úvod do paralelismu, metody paralelizace

Procesor. Hardware - komponenty počítačů Procesory

Blue Gene Vysoká škola báňská-technická univerzita Ostrava. Blue Gene. Karel Chrastina. Úvod. Blue Gene L. Blue Gene P.

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC

architektura mostů severní / jižní most (angl. north / south bridge) 1. Čipové sady s architekturou severního / jižního mostu

SUPERPOČÍTAČE DANIEL LANGR ČVUT FIT / VZLÚ

Principy počítačů I Perspektivní technologie, měření výkonnosti a spolehlivost

VÝUKOVÝ MATERIÁL. 3. ročník učebního oboru Elektrikář Přílohy. bez příloh. Identifikační údaje školy

Výkonnost počítačů, empirické zákony o výkonnosti. INP 2008 FIT VUT v Brně

Virtualizace. Lukáš Krahulec, KRA556

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ /14

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC

INFORMAČNÍ A KOMUNIKAČNÍ TECHNOLOGIE

Architektura Intel Atom

Obsah. Kapitola 1 Hardware, procesory a vlákna Prohlídka útrob počítače...20 Motivace pro vícejádrové procesory...21

Architektura počítačů Logické obvody

Architektura počítačů Úvod

IB109 Návrh a implementace paralelních systémů. Organizace kurzu a úvod. RNDr. Jiří Barnat, Ph.D.

Semestrální práce z předmětu Speciální číslicové systémy X31SCS

Procesy a vlákna (Processes and Threads)

Identifikátor materiálu: ICT-1-08

Využijte plný výkon procesorů s více jádry v LabVIEW 8.5

Architektura počítačů

Hlavní využití počítačů

Představení a vývoj architektur vektorových procesorů

Matematika v programovacích

Architektura počítače

1 Úvod 1.1 Vlastnosti programového vybavení (SW)

Výkonnost mikroprocesoru ovlivňují nejvíce dvě hlediska - architektura mikroprocesoru a tzv. taktovací frekvence procesoru.

Procesor EU peníze středním školám Didaktický učební materiál

2010/2011 ZS. Operační systém. úvod základní architektury

PROCESOR. Typy procesorů

Architektura počítačů Logické obvody

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 TECHNICKÉ VYBAVENÍ POČÍTAČŮ

Paralelní a distribuované výpočty (B4B36PDV)

Paměti Josef Horálek

Operační systémy. Přednáška 1: Úvod

Roman Výtisk, VYT027

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto

Obecné výpočty na GPU v jazyce CUDA. Jiří Filipovič

C2115 Praktický úvod do superpočítání

CERIT-SC reloaded. už se všichni těšíme. Seminář gridového počítání,

Časová složitost / Time complexity

IB109 Návrh a implementace paralelních systémů. Organizace kurzu a úvod. Jiří Barnat

GPU jako levný výpočetní akcelerátor pro obrazovou JPEG2000 kompresi. ORS 2011 Karviná,

Vlákno (anglicky: thread) v informatice označuje vlákno výpočtu neboli samostatný výpočetní tok, tedy posloupnost po sobě jdoucích operací.

Historie výpočetní techniky. Autor: Ing. Jan Nožička SOŠ a SOU Česká Lípa VY_32_INOVACE_1121_Histrorie výpočetní techniky_pwp

AGP - Accelerated Graphics Port

Témata profilové maturitní zkoušky

Architektura procesoru ARM

Technické prostředky počítačové techniky

Paměťové prvky. ITP Technika personálních počítačů. Zdeněk Kotásek Marcela Šimková Pavel Bartoš

Historie počítačů. 0.generace. (prototypy)

Management procesu I Mgr. Josef Horálek

Výpočetní zdroje v MetaCentru a jejich využití

Principy operačních systémů. Lekce 5: Multiprogramming a multitasking, vlákna

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto

Disková pole (RAID) 1

OPS Paralelní systémy, seznam pojmů, klasifikace

Pokročilé architektury počítačů

Osobní počítač. Zpracoval: ict Aktualizace:

Činnost CPU. IMTEE Přednáška č. 2. Několik úrovní abstrakce od obvodů CPU: Hodinový cyklus fáze strojový cyklus instrukční cyklus

Server je v informatice obecné označení pro počítač, který poskytuje nějaké služby nebo počítačový program, který tyto služby realizuje.

Jedna z nejdůležitějších součástek počítače = mozek počítače, bez něhož není počítač schopen vykonávat žádné operace.

Úvod do architektur personálních počítačů

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ

VÝUKOVÝ MATERIÁL. 3. ročník učebního oboru Elektrikář Přílohy. bez příloh. Identifikační údaje školy

Nvidia CUDA Paralelní programování na GPU

Dagmar Adamová, Jiří Chudoba Jednalo se o Monte Carlo simulace případů srážek p+p a Pb+Pb. Fungování

Referát (pokročilé architektury počítačů)

Architektura Intel Nehalem

Využití ICT pro rozvoj klíčových kompetencí CZ.1.07/1.5.00/

Disková pole (RAID) 1

PB002 Základy informačních technologií

Charakteristika dalších verzí procesorů v PC

Úvod do B4B36PDV. Organizace předmětu a seznámení se s paralelizací. B4B36PDV Paralelní a distribuované výpočty

Přednáška 1. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

Přechod na virtuální infrastrukturu

Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Real Time programování v LabView. Ing. Martin Bušek, Ph.D.

ARCHITEKTURA PROCESORŮ

Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek

Struktura a architektura počítačů

2.1 Historie a vývoj počítačů

PROCESORY. Typy procesorů

Pokročilé architektury počítačů

Transkript:

Architektura počítačů Výkonnost počítačů http://d3s.mff.cuni.cz http://d3s.mff.cuni.cz/teaching/computer_architecture/ Lubomír Bulej bulej@d3s.mff.cuni.cz CHARLES UNIVERSITY IN PRAGUE faculty faculty of of mathematcs mathematcs and and physics physics

Růst výkonnost stavebních prvků Rok 1951 1965 1975 1995 2005 Technologie Elektronka Tranzistor Integrovaný obvod (nízká integrace) Integrovaný obvod (velmi vysoká integrace) Integrovaný obvod (ultra vysoká integrace) Relatvní výkon / jednotková cena 1 35 900 2 400 000 6 200 000 000 2/44

Kapacita [kbit/čip] Růst kapacity DRAM čipů Uvedení na trh [rok] Source: P&H 3/44

Big ideas v architektuře Design pro Moorův zákon Abstrakce (pro zjednodušení návrhu) Optmalizace pro běžný případ Paralelismus Pipelining Predikce a spekulace Hierarchie pamět Redundance (spolehlivost) 4/44

Moorův zákon Gordon Moore (*1929) Zakladatel společnost Intel Předpověď: Množství tranzistorů integrovaných na jednom čipu se zdvojnásobí každých 18 24 měsíců 60. léta 20. stolet Zmenšování velikost vedoucí k růstu teoretcké rychlost a kapacity Často se vztahuje i na jiné oblast Disková kapacita, přenosové pásmo 5/44

Moorův zákon (2) Exponenciální růst posledních 40 let! Udržování Moorova zákona v platnost vyžaduje neustálý velmi netriviální technologický pokrok Zatm víceméně v rámci jedné technologické domény (polovodičové tranzistory) Nepřekonatelné fyzikální limity (kvantový tunelový efekt, odvod odpadního tepla, kvantový šum) Stále častěji nutné kompromisy Počet tranzistorů není v přímé úměře k hrubému výpočetnímu výkonu pro sekvenční algoritmy 6/44

Výkonnost programu (1) Faktor Algoritmus Způsob ovlivnění Počet základních operací a I/O operací jako funkce velikost vstupu Programovací jazyk, překladač, architektura počítače Počet instrukcí na každou základní operaci Procesor, paměť Rychlost provádění instrukcí I/O subsystém Rychlost provádění I/O (hardware, operační systém) operací 7/44

Proč se zabývat výkonností Porovnávání počítačů Vyhrává levnější a/nebo lepší produkt Oblast osobních počítačů: tvrdá konkurence Oblast vestavěných počítačů: optmalizace ceny výsledného produktu Důležité pro kupující důležité pro návrháře a výrobce Ověření přínosu změn v architektuře Systematcké zkoumání vlivu architektury na výkon Jediná indikace, zda je pokrok skutečně pokrokem 8/44

Co je vlastně výkonností Počítač A je lepší než počítač B Co to vlastně znamená? Lepší v čem? Je nákladní vůz lepší než sportovní vůz? Je Concorde lepší letadlo než Boeing 747? Letadlo Boeing 777 Boeing 747 Concorde Douglas DC-8-50 Kapacita Dolet Cestovní rychlost Propustnost [osoby] [km] [km/h] [osob km/h] 375 9000 905 339375 470 7700 905 425350 132 7400 2158 284856 146 16000 810 118260 9/44

Co je vlastně výkonností (2) Základní kritéria výkonnost Kvalifkace výkonnost Co porovnáváme Co potřebujeme Základní měřítka výkonnost Též metriky výkonnost Kvantfkace výkonnost Vzhledem k pevně daným kritériím výkonnost udávají způsob, jak výkonnost měřit a porovnávat 10/44

Základní metriky výkonnost Doba běhu (executon tme) Čas vykonávání konkrétní úlohy Zajímavé pro konkrétního uživatele Doba odezvy (response tme) Čas potřebný k získání výsledku dané úlohy Důležité především pro interaktvní úlohy Propustnost (thoughput) Množství práce vykonané za jednotku času Zajímavé pro správce zdroje (serveru, datového centra) 11/44

Výkonnost z pohledu uživatele Celkový čas Wall-clock tie, reponse tie, elapsed tie Zahrnuje čekání na I/O operace, režii OS apod. Včetně sdílení zdrojů s jinými uživateli Výkonnost systému jako celku Procesorový čas CPU executon tie, CPU tie Čas, po který procesor skutečně vykonával program Nezahrnuje čekání na I/O operace a čas, kdy program faktcky neběžel Zahrnuje režii OS Uživatelský a systémový čas procesoru Výkonnost procesoru 12/44

Výkonnost z pohledu návrháře Rychlost provádění instrukcí Frekvence hodin (clock rate) Taktovací frekvence, frekvence hodinového signálu apod. Délka hodinového cyklu (clock cycle) Perioda hodinového signálu apod. CPU execution time = CPU clock cycles CPU clock rate CPU execution time =CPU clock cycles CPU clock cycle time 13/44

Výkonnost z pohledu překladače Průměrný počet taktů na vykonání instrukce Clock cycles per instructon (CPI) Vztaženo ke konkrétnímu programu nebo jeho část Umožňuje srovnávat různé implementace stejné architektury Při zachování počtu instrukcí na program CPU clock cycles=cpi Number of instructions 14/44

Základní vztah pro výkonnost procesoru Vztah počtu instrukcí, CPI a délky cyklu 3 různé faktory ovlivňující výkonnost Srovnání různých implementací stejné architektury Zhodnocení alternatvní architektury CPU execution time=cpi Number of instructions CPU clock cycle time CPI Number of instructions CPU execution time= CPU clock rate 15/44

Výkonnost procesoru (1) Výkonnost procesoru při vykonávání daného programu Závisí na počtu instrukcí, průměrném počtu taktů na instrukci (CPI), délce hodinového cyklu (taktovací frekvenci) Žádný z faktorů sám o sobě není vypovídající Snížení počtu instrukcí architektura s nižší taktovací frekvencí nebo vyšším CPI CPI závisí na instrukčním mixu (četnost a typ prováděných instrukcí) daného programu Kód s nejmenším počtem instrukcí nemusí být nejrychlejší 16/44

Výkonnost procesoru (2) Výkonnost procesoru při vykonávání daného programu Jediným úplným a spolehlivým měřítkem je empiricky změřený reálný procesorový čas Není však vypovídající o procesorových časech jiných programů 17/44

Výkonnost programu (2) Faktor Ovlivnění Algoritmus Počet instrukcí CPI Programovací Počet instrukcí jazyk CPI Způsob ovlivnění Počet základních operací Datové typy (celočíselné vs. neceločíselné) Typ základních operací Abstraktní datové typy Překladač Počet instrukcí CPI Architektura Počet instrukcí Instrukce potřebné k vyjádření algoritmu CPI Technologie (maximální taktovací frekvence) Taktovací frekvence Doba provádění instrukcí v taktech Způsob překladu základních operací na instrukce 18/44

Výkonnost programu (3) Konec zlatých časů 19/44

Ztrátový výkon [W] Taktovací frekvence [MHz] Taktovací frekvence a ztrátový výkon Source: P&H 20/44

Ztrátový výkon Complementary Metal Oxide Semiconductor (CMOS) Převládající technologie výroby integrovaných obvodů Minimální spotřeba v klidovém stavu Dynamický ztrátový výkon Kapacitní zátěž (vodiče, tranzistory, zátěž na výstupu) Provozní napět (ovlivňuje rychlost přepínání) Frekvence přepínání (odvozená od taktovací frekvence) 1 P C U 2 f 2 21/44

Ztrátový výkon (2) Reálné důsledky Za posledních 20 let Přibližně 1000násobný nárůst frekvence přepínání Přibližně 30násobný nárůst ztrátového výkonu Nutný pokles provozního napět z 5 V na 1 V 15 % pokles s každou generací Fyzikální limity (energetcká zeď) Příklad Snížením kapacitní zátěže, provozního napět a pracovní frekvence o 15% dostaneme procesor s cca 52% spotřebou oprot výchozímu stavu. 22/44

Energetcká zeď Napět není možné neomezeně snižovat Problém spolehlivost (odstup signál/šum) Projev statckých ztrát (tunelování elektronů apod.) Asi 40 % spotřeby dnešních procesorů Chlazení není snadné jednoduše zlepšovat Malá plocha procesorového čipu Vypínání nepoužívaných část čipu v daném taktu Vodní a jiné chlazení není příliš praktcké 23/44

Energetcká zeď (2) Nové cesty ke zvyšování výkonu Odlišné od těch, které se používají posledních 30 let Přechod od jednoprocesorových k víceprocesorovým architekturám 24/44

Nárůst výkonu osobních počítačů Source: P&H 25/44

Víceprocesorové systémy Dříve Více samostatných procesorů (iultprocessor) Superpočítače, high-end servery U osobních a vestavěných počítačů raritou Nyní Moorův zákon stále plat (stále se daří zlepšovat technologii pro zdvojnásobování počtu tranzistorů) Výroba procesorů obsahující více samostatných procesorových jader (iultcore) 26/44

Vícejádrové systémy Vliv na výkon systému Zvyšování propustnost (throughput) Zpracování více paralelních požadavků současně Taktovací frekvence a CPI zůstávají stejné Rychlost sekvenčních algoritmů se nemění Důsledky pro programátory Programy se (samy) nezrychlí díky novým technologiím Místy pomohou lepší API Je nutné začít využívat více procesorů/jader explicitně Každých 18 24 měsíců se jejich počet zdvojnásobí 27/44

Proč tolik povykuí Fundamentální změna rozhraní HW/SW Paralelismus byl vždy důležitý, ale před sofwarem byl skrytý Paralelismus na úrovni instrukcí (instructon-level parallelisi), zřetězené zpracování instrukcí a další techniky Programátor i překladač vytvářeli sekvenční kód Nyní je potřeba psát programy explicitně paralelní Experimenty s paralelními architekturami probíhají již nejméně 40 let Vždy však šlo o slepé větve vývoje (nedošlo k masovému rozšíření, protože programátoři nové paradigma nepřijali) Nyní celý IT průmysl vsadil na tuto kartu 28/44

Proč je paralelní programování těžkéí Programování zaměřené na výkon Vedle správné funkce je důležitá také rychlost Pokud nái nejde o rychlost, iůžeie dál prograiovat sekvenčně. (P&H) Lidé uvažují sekvenčně a jednovláknově Plánování a koordinace práce více procesorů nesmí mít vysokou režii 29/44

Proč je paralelní programování těžkéí (2) Analogie z reálného života 1 redaktor napíše 1 článek za 2 hodiny 8 redaktorů napíše 1 článek za X hodin Ideální paralelní zpracování: X = 15 minut Reálné problémy Plánování (scheduling) Vyvažování zátěže (load balancing) Režie na komunikaci a synchronizaci (coiiunicaton and synchronizaton overhead) 30/44

Měření výkonnost Porovnávání výkonnost různých počítačů Pro konkrétní program už umíme (reálný procesorový čas) Víme, že porovnávání jednotlivých faktorů (taktovací frekvence, CPI, počet instrukcí) není vypovídající pro jiné programy Jak defnovat obecnější metriku, která by dovedla aproximovat výkonnost zpracování nějaké větší množiny programů? 31/44

Měření výkonnost (2) Zátěž (workload) Typická pracovní zátěž počítače (sada typicky spouštěných programů) Složité na defnování, složité na automatzaci (opakované a opakovatelné spouštění) Výkonnostní test (benchmark) Program specifcky určený k měření výkonnost Sada benchmarků Statstcky relevantní reprezentace typické pracovní zátěže Doufáme, že měření benchmarků předpoví chování počítače při skutečné zátěži stejného nebo podobného charakteru 32/44

Měření výkonnost (3) SPEC (Standard Performance Evaluaton Corporaton) Sdružení komerčních a nekomerčních subjektů Výrobci procesorů, počítačů, překladačů, operačních systémů apod. Vědecké insttuce Cíl: Defnice vhodných sad benchmarků pro jednoduché porovnávání výkonnost Různé sady benchmarků pro různé workloady Původně hlavně výkonnost CPU, dnes i GPU, překladačů, databází, emailových systémů atd. 33/44

SPEC CPU 2006 Měření výkonnost procesoru CINT2006 (celočíselné výpočty) 12 benchmarků (překladač C, šachový algoritmus, simulace kvantového počítače atd.) CFP2006 (výpočty v plovoucí řádové čárce) 17 benchmarků (metoda konečných prvků, molekulární dynamika atd.) SPECrato Podíl referenční a změřené doby běhu benchmarku Souhrnné hodnocení: Geometrický průměr v dané sadě n n i=1 SPECratio i 34/44

SPEC CINT2006 pro AMD Opteron X4 Source: P&H 35/44

SPEC CINT2006 pro Intel Core i7 920 Source: P&H 36/44

Výkonnost počítačů Bludy a past 37/44

Marná očekávání Při zlepšení výkonnost část systému dojde k úměrnému zlepšení výkonnost celého systému Celková délka běhu: 100 s Z toho instrukce pro násobení: 80 s Kolikrát je potřeba zrychlit násobení, aby se celkově program zrychlil 5? 38/44

Marná očekávání (2) Execution slow Execution fast = 5 Execution slow =80 +20 Execution fast = 80 + 20 n 80 80 +20 + 20= n 5 80 + 20=20 n 80 =0 n 80 0 39/44

Amdahlův zákon Gene Amdahl (* 1922) Různá znění Amdahlova zákona Nejobecnější pro teoretcké zrychlení sekvenčního algoritmu s využitm více vláken (formulováno v roce 1967) Častá varianta jako reformulace zákona klesajících výnosů [1] Zvýšení výkonnost dosažitelné nějakým zlepšením je omezené mírou používání tohoto zlepšení Speedup(n)= 1 1 B + (1 B) n n ℕ B 0, 1 40/44

Amdahlův zákon (2) Praktcké důsledky Make the coiion case fast Optiize for the coiion case Optmalizace má největší užitek pro nejčastější případy Nejčastější případy jsou často mnohem jednodušší než speciální případy, takže se lépe optmalizují I výrazné optmalizace speciálních případů mohou přinést menší užitek než drobné optmalizace nejčastějších případů 41/44

Špatná měřítka výkonnost 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 specifckých případech v pořádku, ale často tomu tak není Jednotlivé faktory existuje závislost Jiné metriky, které jsou jen převlečené známé faktory 42/44

Špatná měřítka výkonnost (2) MIPS (Million Instructons Per Second) Rychlost vykonávání instrukcí Intuitvní (čím vyšší, tm rychlejší) Problémy Nebere v úvahu možnost instrukcí, dobu vykonávání jednotlivých instrukcí atd. Nelze porovnávat počítače s různou instrukční sadou Liší se podle konkrétního instrukčního mixu daného programu (jedna hodnota nereprezentuje výkon počítače) Instruction count MIPS = 6 10 Executiontime 43/44

Reference [1] http://upload.wikimedia.org/wikipedia/commons/7/79/amdahl_march_13_2008.jpg 44/44