Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Úvod. Základní úrovně: hardwarová (procesory, jádra) programová (procesy, vlákna) algoritmická (uf... ) Motivace: zvýšení výkonu redundance jiné cíle,

Podobné prezentace


Prezentace na téma: "Úvod. Základní úrovně: hardwarová (procesory, jádra) programová (procesy, vlákna) algoritmická (uf... ) Motivace: zvýšení výkonu redundance jiné cíle,"— Transkript prezentace:

1 Úvod

2 Základní úrovně: hardwarová (procesory, jádra) programová (procesy, vlákna) algoritmická (uf... ) Motivace: zvýšení výkonu redundance jiné cíle, ale podobné nástroje a problémy

3 Moorův zákon: „... Počet tranzistorů/komponent, které lze levně integrovat se zdvojnásobí každý rok...“ 12 měsíců (1965) 18 měsíců (≈ 1985) 24 měsíců (≈2005) ? Jedná se spíš o strategii Intelu než o zákon Dodržuje se zvyšováním počtu jader nejsou integrované na jednom polovodiči

4 Zdvojnásobení každých: 12 měsíců 24 měsíců

5

6

7 Posledních 10 let se drží okolo 3Ghz Růst se neočekává Rychlost elektronů je konečná Tranzistory mají konečnou velikost

8 multi-core mikroprocesory zrychlování sekvenčních programů rozsáhlé univerzální instrukční soubory více jader: hypertherading s dvěma a více vlákny pipeline many-core mikroprocesory zvyšování propustnosti (throughput) stovky jader, stovky vláken zaměřeno na floating-point operace

9 průměr 1m délka 1200km kapacita litrů/den zpoždění (latency) 12 dní propustnost? odezva?

10 Paralelní systém – systém, ve kterém může probíhat několik procesů/činností současně Rozlišovací úroveň instrukce, iterace, procedura, vlákno, proces, úloha Proces × Vlákno vlákno – instance kódu + dat a stav zásobníku + registrů proces – kolekce vláken, společný kód + data

11 Procesor × Jádro jádro (core) – čip + paměť + řadič vykonávající jedno vlákno procesor – kolekce jader multithreaded-core multiprocesor = multicore Abstrakce MProcesory se sdílenou pamětí symetrické × nesymetrické MProcesory s distribuovanou pamětí

12 Flynnova klasifikace systému staré (1966), hrubé, ale používané Single Instruction, Single Data stream (SISD) Single Instruction, Multiple Data streams (SIMD) Multiple Instruction, Single Data stream (MISD) Multiple Single Instruction stream, Multiple Data stream (MSIMD) – několik propojených SIMD Same Program, Multiple Data stream (SPMD) – každý procesor provádí stejný program, využívají se běžné CPU Multiple Instruction, Multiple Data streams (MIMD)

13 data jsou zpracovávána výhradně sériově instrukce jsou prováděny sériově stačí jeden CPU řídicí jednotky klasický von Neumannův počítač

14 jedna data jsou předávána více instrukcím více CPU, každý zpracovává data v jiné fázi „výrobní linka“ umělá kategorie není to pipelining

15 Jedná instrukce se provádí na více datech Více CPU provádí stejnou instrukci s jinými daty Typické GPU maticové procesory array/matrix procesor for (int i = 0; i <= n; i++) { X[i] = Y[i] + Z[i]; }

16 Různá CPU mohou provádět různé operace Různá CPU pracují s jinými daty Moderní počítače Distribuované systémy HW virtualizace Grid

17 Asociativní procesory maticový procesor s HW propojovací sítí adresace dat podle obsahu (ekvivalence, klíč, interval) Počítače řízené daty instrukce nemají vedlejší efekty výstupem je vždy hodnota průmyslový HW...

18 Komunikace – výměna dat mezi paralelně probíhajícími procesy Synchronizace – zaručení definované posloupnosti operací, logika procesů Režie (overhead) paralelismu čas spotřebovaný na komunikaci čas spotřebovaný na synchronizaci a výměnu dat ostatní režie (knihovny, spuštění, zastavení) Škálovatelnost (scalability) míra růstu výkonosti s růstem paralelismu

19

20 Zrychlení

21

22

23 synchronizace přístup ke sdílené paměti různé modely distribuce dat distribuce instrukcí (práce) komunikace minimalizovat režii použít vhodný HW měření

24 Zápočet nebo zkouška? Projekt dvojice paralelizace nějaké úlohy téma je volné vyhodnocení tzn. zpracování stejné úlohy paralelně a sériově distribuovaný výpočet nebo GPU jednoduchý test

25


Stáhnout ppt "Úvod. Základní úrovně: hardwarová (procesory, jádra) programová (procesy, vlákna) algoritmická (uf... ) Motivace: zvýšení výkonu redundance jiné cíle,"

Podobné prezentace


Reklamy Google