Přednáška #12: Úvod do paralelních počítačů. Paralelní počítače a architektury

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

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

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

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

Paralelní systémy. SIMD jeden tok instrukcí + více toků dat jedním programem je zpracováváno více různých souborů dat

Martin Lísal. Úvod do MPI

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

Architektury paralelních počítačů I.

Pokročilé architektury počítačů

4. Úvod do paralelismu, metody paralelizace

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

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

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

Architektura počítače

Paralelní výpočty ve finančnictví

Profilová část maturitní zkoušky 2014/2015

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

Řízení IO přenosů DMA řadičem

Paměť počítače. 0 (neprochází proud) 1 (prochází proud)

Pohled do nitra mikroprocesoru Josef Horálek

Charakteristika dalších verzí procesorů v PC

Roman Výtisk, VYT027

Povídání na téma. SUPERPOČÍTAČE DNES A ZÍTRA (aneb krátký náhled na SC) Filip Staněk

Pokročilé architektury počítačů

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

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

Systémy pro sběr a přenos dat

Základní principy konstrukce systémové sběrnice - shrnutí. Shrnout základní principy konstrukce a fungování systémových sběrnic.

Základy informatiky. 2. Přednáška HW. Lenka Carr Motyčková. February 22, 2011 Základy informatiky 2

CHARAKTERISTIKA MODERNÍCH PENTIÍ. Flynnova klasifikace paralelních systémů

Profilová část maturitní zkoušky 2015/2016

Paralelní architektury - úvod

Princip funkce počítače

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

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

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

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

AGP - Accelerated Graphics Port

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

Operační systémy. Jednoduché stránkování. Virtuální paměť. Příklad: jednoduché stránkování. Virtuální paměť se stránkování. Memory Management Unit

Paralelní programování

Ro R dina procesor pr ů Int In e t l Nehalem Šmída Mojmír, SMI108 PAP PA 2009

Paralelní architektury - úvod

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

Ústav technické matematiky FS ( Ústav technické matematiky FS ) / 35

Paralelní architektury se sdílenou pamětí typu NUMA. NUMA architektury

Cache paměti (2) Cache paměti (1) Cache paměti (3) Cache paměti (4) Cache paměti (6) Cache paměti (5) Cache paměť:

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

Paměti EEPROM (1) Paměti EEPROM (2) Paměti Flash (1) Paměti EEPROM (3) Paměti Flash (2) Paměti Flash (3)

Systémová sběrnice, souvislost architektury počítače a systémové

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

Cache paměti (1) Cache paměť: V dnešních počítačích se běžně používají dva, popř. tři druhy cache pamětí:

Disková pole (RAID) 1

Pokročilé architektury počítačů

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

Využití paralelních výpočtů v geodézii

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií

Architektura Intel Atom

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

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

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.

Metody připojování periferií

Výstavba PC. Vývoj trhu osobních počítačů

Mikrokontroléry. Doplňující text pro POS K. D. 2001

Intel (2) Intel (1) Intel (3) Intel (4) Intel (6) Intel (5) Nezřetězené zpracování instrukcí:

PB002 Základy informačních technologií

Principy činnosti sběrnic

Programovatelné automaty SIMATIC S7 a S5

CHARAKTERISTIKY MODELŮ PC

Operační systémy. Tomáš Vojnar IOS 2009/2010. Vysoké učení technické v Brně Fakulta informačních technologií Božetěchova 2, Brno

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

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

Matematika v programovacích

Systém řízení sběrnice

HW počítače co se nalézá uvnitř počítačové skříně

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

Komunikace mikroprocesoru s okolím Josef Horálek

Pokročilé architektury počítačů

Počítačové sítě internet

Pokročilé architektury počítačů

Paralelní výpočetní jádro matematického modelu elektrostatického zvlákňování

Základní deska (1) Označována také jako mainboard, motherboard. Deska plošného spoje tvořící základ celého počítače Zpravidla obsahuje:

Platforma Juniper QFabric

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

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

Metody připojování periferií BI-MPP Přednáška 1

Architektura a koncepce OS OS a HW (archos_hw) Architektura a koncepce OS Jádro OS (archos_kernel) Architektura a koncepce OS Typy OS (archos_typy)

Úvod SISD. Sekvenční výpočty SIMD MIMD

INFORMAČNÍ A KOMUNIKAČNÍ TECHNOLOGIE

Paměťový podsystém počítače

Intel Itanium. Referát. Vysoká škola báňská Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Katedra informatiky

Cell broadband engine architecture

Architektura procesoru ARM

09. Memory management. ZOS 2006, L.Pešička

Operační systémy. Správa paměti (SP) Požadavky na SP. Spojování a zavedení programu. Spojování programu (linking) Zavádění programu (loading)

PB002 Základy informačních technologií

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

Měřicí systémy. Obsah. Systémy složené z autonomních měřicích přístrojů a modulů Sériová rozhraní. Sériová rozhraní - pokračování 1

Představení procesorů od firmy Tilera a jejich architektura

Transkript:

(36APS: Architektura počítačových systémů, posluchárna K1, Pon, 16/5/05, 9:15-10:45, přednáší Pavel Tvrdík) Přednáška #12: Úvod do paralelních počítačů Paralelní počítače a architektury Definice 1. (Almasi, Gottlieb 89) Paralelní (//) počítač je skupina výpočetních uzlů (procesních prvků, angl. PE), které spolu komunikují a spolupracují tak, aby vyřešily velké problémy rychle(ji). PE = procesor + paměť. Problémy: (1) Návrh // počítačů (počet a granularita PE, způsob propojení, škálovatelnost.) (2) Návrh efektivních // algoritmů (Je // čas počet PE. = složitost nejlepšího sekvenčního algoritmu?) (3) Metody vyhodnocování kvality // algoritmů (Existence rychlých // řešení? Efektivnost využití procesorů?) (4) // programovací jazyky (Jazykové konstrukce pro distribuci dat mezi PE, pro // provádění operací a příkazů a pro výměny dat.) (5) // programovací nástroje (Trasovací a ladící nástroje, vizualizační nástroje, výkonnostní monitory.) (6) Přenositelnost (// programy by měly být nezávislé na architektuře & efektivní!!!!) (7) Paralelizující kompilátory a techniky (automatická paralelizace sekv. kódů.) (8)...

Význam // počítačů a // počítání? 2 Hypotéza: // počítače hrají a budou hrát stále významnější roli v životě naší civilizace. Důvody: (1) Nejpřirozenější způsob, jak zvýšit výkon či paměťovou kapacitu za hranice 1 procesoru, je spojení více procesorů dohromady (mikroprocesor je součástka). (2) Křemíkové VLSI technologie se zdají přibližovat svým zásadním fyzickým limitům daným rychlostí světla a energetickými poměry mikrosvěta. (3) Navíc nárůst výkonu cestou ILP mikroprocesorů má své meze (extrémně složité procesory pro IPC. = 2). (4) Současně ale pokroky VLSI technologií vedou k explozivnímu nárůstu výkonu a schopností procesorů díky vyšším hodinovým frekvencím & většímu počtu tranzistorů na čipu = více procesorů (PE) lze integrovat na 1 čip. (5) Hlavní překážka rozšíření // počítačů SW (// jazyky, knihovny, algoritmy, serverové a vestavěné aplikace) se pomalu ale jistě vyvíjejí a mohutní. (6) Existují kladné zpětné vazby mezi pokroky v počítačových architekturách a technologiích na jedné straně a složitostí problémů ve vědecké a inženýrské oblasti na druhé straně: Jinými slovy: Velké vědecké pokroky generují potřebu řešit nové velké a složité problémy = je potřeba vyvíjet nové a stále výkonnější počítače pro jejich řešení = po jejich vyřešení se smyčka opakuje.

Velké problémy lidstva (Grand challenges) 3 Základní problémy vědy a inženýrství s širokým ekonomickými a vědeckými dopady na naší civilizaci vyžadují vysoce náročné počítání (High Performance Computing (HPC)): předpovídání počasí, modelování atmosféry, vědy o Zemi (modelováni moří a zemětřesení, ekologické vědy), zpracování obrovského množství dat ze satelitů, modelování v astronomii a kosmologii, biochemie, biotechnologie a genetika (nejvýkonnější počítač na světě IBM BlueGene), návrhy a testy složitých inženýrských systémů (letadla, auta, elektrárny), počítačové zkoušky jaderných zbraní a skladovaní jaderného odpadu, rozpoznání lidské řeči, modelováni lidské inteligence, robotika, dobývání znalostí a hledání na internetu (za Googlem stojí systém cca 100 000 výkonných počítačů),... a mnoho dalších.

Příklad náročné aplikace: předpověď počasí 4 Uvažujme předpověď počasí v oblasti o velikosti 3000 3000 11 km 3 na dobu 2 dnů. Tato oblast je rozdělena na segmenty (např. metodou konečných prvků) o velikosti 0.1 0.1 0.1 km 3 = počet segmentů je řádově 10 11. Parametry modelu (teplota, rychlost větru) jsou počítány s časovým krokem 30 minut. Nové hodnoty parametrů jednoho segmentu jsou počítány z předchozích hodnot parametrů tohoto segmentu a segmentů sousedních. Předpokládejme, že výpočet parametrů 1 segmentu spotřebuje 100 instrukcí. Pak 1 iterace = aktualizace hodnot všech parametrů v celé oblasti vyžaduje cca 10 11 100 96. = 10 15 operací. Sekvenční počítač s 1Gflop bude potřebovat 10 6 sekund. = 280 hodin = 11 dní. To je ale pozdě, protože modelujeme počasí pro příští 2 dny. Paměťový problém (data se nevejdou do hlavní paměti sekv. počítače a musí být odkládána na disk) může řešení ještě mnohonásobně zhoršit! Pro výpočet spolehlivého modelu počasí je třeba mnoho iterací!!!!! = rozdělení dat do pamětí mnoha PE a // zpracování s pravidelnou výměnou dat je jediné schůdné řešení.

Problémy ve světě // počítačů 5 Je rozsáhlý a různorodý. je mladý a fluktuující (mnoho nápadů, systémů a firem vzniká a zase mizí). Má mnoho dimenzí a možných pohledů (paralelismus může existovat na mnoha úrovních výpočetních systémů). Jemnozrnný paralelismus Paralelismus je skryt uvnitř procesoru, který navenek provádí sekvenční nebo téměř sekvenční kód. Proudové zpracování instrukcí a aritmetických operací. Superskalární či VLIW ILP: Několik jednotek procesoru pracují nezávisle a paralelně. SIMD systémy: menší jednotky provádějí synchronně // operace nad poli dat pod řízením centrálního řadiče. Vektorové procesory: proudově pracující jednotky s dlouhými registry provádějí operace nad vektory dat.

Hrubozrnný paralelismus 6 Jednotlivé PE provádějí // procesy/vlákna. Systolická pole a celulární systémy: pravidelné sítě malých PE s lokální komunikací. Počítače řízené tokem dat, inferenční, neurální: non-von Neumannovské architektury. Symetrické multiprocesory (s centrální sdílenou pamětí) (SMP): procesory jsou připojeny k centrální společné paměti. Multiprocesory s distribuovanou pamětí (DMP): autonomní PE propojené propojovací sítí. // vektorové počítače (PVP): SMP či DMP s vektorovými uzly. Svazky (clusters) či System Area Networks (SAN): standardní PC, pracovní stanice, či SMP propojené rychlou lokální sítí. Metapočítače: distribuované výpočetní systémy virtuálně sjednocené SW.

Základní Flynnova taxonomie 7 SIMD = Single Instruction Multiple Data Mnoho menších procesorů provádí synchronně tentýž tok instrukcí nad svými daty. Samostatné SIMD počítače vymřely v polovině 90. let. Principy SIMD se znovuobjevují na úrovni vektorových a multimediálních rozšíření moderních VLSI procesorů (MMX, SSE, 3DNow). MIMD = Multiple Instruction Multiple Data Samostatné počítače provádějící asynchronně s občasnou synchronizací a komunikací své programy nad svými daty. Prakticky všechny současné nevektorové paralelní počítače.

SMP 8 PE = výkonné procesory s velkými skrytými pamětmi. Centrální sdílená paměť (1 čí více bank). Nutnost synchronizace přístupu k sdíleným datům. Škálovatelnost limitovaná propustností paměťového rozhraní: (a) centrální sběrnice: kolem desítky procesorů, (b) křížový přepínač (crossbar): několik desítek procesorů (vysoká cena), (c) nepřímá vícestupňová síť: levnější ale chudší náhražka kř. přepínače. (a) (b) (c)

Příklad SMP 9 CPU Interrupt controller 256KB L2 cache P Pro module P Pro module P Pro module Bus Interface P Pro bus (64 bit data, 36 bit addr, 66 MHz) PCI bridge PCI bridge Memory Controller PCI I/O cards MIU 1,2, or 4 way interleaved DRAM Typická fyzická a logická organizace 4-procesorové SMP desky. 1 PE obsahuje na 1 čipu CPU s L1 a L2 skrytou pamětí, řadič přerušení a řadič multiprocesorové proudově pracující sběrnice (528 MB/s), která je připojena přes řadič paměti a Memory Interleave Unit (MIU) na DRAM rozdělenou do 4 bank, přes mosty na 2 nezávislé PCI sběrnice (displej, síť, SCSI, V-V kanály).

Implementace přepínačů 10 (a) (b) (c) (a) Přepínací prvek křížového přepínače. (b) 2 2 přepínací prvek nepřímé sítě (elementární křížový přepínač). (c) Implementace křížového přepínače (jedna možná).

DMP 11 PE = výkonné samostatné počítače s lokálními (soukromými) pamětmi. Ale mohou to být taktéž SMP!!!!! Všechny procesory mohou současně přistupovat do svých lokálních pamětí. V/V jsou distribuované a škálovatelné podobně jako paměť. Škálovatelnost je mnohem vyšší, neb je limitovaná celkovou propustností propojovací sítě, a ta je závislá na rychlosti kanálů a vlastnostech topologie (stupeň souvislosti, bisekční šířka, atd.): (a) 2-D mřížka sběrnic. (b) křížový přepínač (c) nepřímá vícestupňová síť (d) přímá síť (a) (b) (c) (d)

Paměťové modely DMP 12 Sdílený (společný) adresní prostor (SAP) Fyzicky oddělené paměti jsou adresované jako globální společný AP (jako v SMP). Jakýkoli PE se může odkázat přímo na jakoukoli adresu AP. 2 stejné adresy na 2 různých PE odkazují na totéž paměťové místo. Meziprocesorová komunikace je implicitně skryta v operacích Read-Write (Load-store). Jazyková podpora: OpenMP standard (www.openmp.org). sprava propojovaci sit pameti

Distribuovaný (oddělený) adresní prostor (DAP) 13 Každý PE má privátní adresní prostor, do kterého nemají ostatní PE přímý přístup. Jakýkoli PE se může odkázat přímo na jakoukoli adresu AP. 2 stejné adresy na 2 různých PE odkazují na různá paměťová místa. Meziprocesorová komunikace je založena na explicitním zasílání zpráv. Zasílání zpráv má sémantiku volání vzdálených funkcí (Remote Procedure Call (RPC)). propojovaci sit PE PE

Vlastnosti a výhody a nevýhody modelu SAP Diskuze modelů SAP a DAP 14 SAP je jednodušší a snazší pro programování, zvláště pokud jsou komunikační vzory složité a dynamicky proměnné. Pro SAP je jednodušší i kompilace // programů. Nutná HW podpora (čistě SW implementace jsou pomalé a neefektivní): každý Load/Store se musí analyzovat a případně přeložit do operací meziprocesorové komunikace. Pro uživatele je obtížné optimalizovat komunikační náklady. SAP na SMP = architektura Uniform Memory Access (UMA): všechny procesory to mají do dané paměťové buňky stejně daleko. SAP na DMP = architektura NonUniform Memory Access (NUMA): přístup do lokální buňky je rychlejší než do vzdálené. Alternativní název pro SAP na DMP je Distributed Shared Memory (DSM). Pokud je zajištěna koherence skrytých pamětí, pak se jedná o architekturu Cache-coherent (CC) NUMA (viz příští přednáška). Efektivní zajištění koherence skrytých pamětí není snadné a limituje škálovatelnost.

15 Vlastnosti a výhody a nevýhody modelu DAP Jednodušší HW. Lepší škálovatelnost. Komunikační operace musí být implementovány v paralelním programovém prostředí, typicky jako komunikační knihovna. Nejvýznamnější příklad je MPI. Programátor je nucen se soustředit na komunikační strukturu programu a optimalizovat ji, neboť komunikace je explicitní a snadněji pochopitelná. Synchronizace se přirozeně spojena s komunikací. Lze snadno implementovat (simulovat) i na SMP.

Důležité otázky // výpočtů 16 Škálovatelnost a omezený stupeň paralelismu v daném algoritmu Příklad 1: Uvažujme algoritmus, který se skládá ze sekvenční části (musí provádět pouze 1 procesor) a paralelizovatelné části (lze provést p procesory paralelně) (viz obr., typický program v OpenMP). Uvažujme normalizovaný sekvenční čas 1 = f s + f p, kde f s a f p jsou podíly sekvenční a paralelizovatelné části. Jak může být velká sekvenční část, pokud chceme na p = 100 procesorech dosáhnout zrychlení z = 80? Řešení: Dle definice, zrychlení je poměr sekvenčního a paralelního času. z = 1 f s + f p p = p (p 1)f s + 1. Odsud dostaneme f s = Čili v našem případě, f s. = 0.25%. p s s(p 1).

Drahá komunikace 17 Příklad 2: Uvažujme SAP DMP s p = 32 procesory pracujícími na f = 1GHz. Předpokládejme pro jednoduchost, že všechny paměťové operace se trefí do lokální vnitřní paměti a nedochází k výpadkům a že každý procesor dosahuje v případě lokálního výpočtu základního IPC IP C base = 2. Přístup do vzdálené paměti (Load nebo Store 1 buňky paměti) jiného procesoru trvá čas t m = 400ns. Kolikrát se zpomalí výpočet, ve kterém bude RA rate = 0.2% odkazů do vzdálené paměti v porovnání s výpočtem bez jakékoli komunikace (pouze lokální Load/Store)? Řešení: Procesor při vzdáleném přístupu musí čekat RA cost = 400ns 1ns zvýší průměrný počet cyklů na instrukci = 400 cyklů a o to se mu CP I new = CP I base + RA rate RA cost = 1 IP C base + RA rate RA cost = 0.5 + 0.002 400 = 1.3. Čili výpočet se zpomalí CP I new CP I = 1.3 base 0.5 = 2.6 krát. Zdroje informací na Internetu http://www.top500.org/ http://www.hpcwire.com/

Počítačové svazky (clusters) 18 Výrazný nástup od roku 1994 (NASA zprovoznila tzv. Beowulf cluster). Od té doby se svazky vyvinuly do stavu plně srovnatelného se speciálními // architekturami. Výhody: nízká cena HW i SW (seriově vyráběné komponenty (PC) a většinou Open Source Software). Téměř výhradně Linux. Dnes dominují v seznamu Top500. Komerční podpora, většina velkých výrobců a mnoho nových firem se na svazky zaměřuje, dodávky na klíč (konfigurátoři), např. www.linuxnetworx.com. IEEE Task Force on Cluster Computing, mnoho konferencí. Klíčový význam má pro svazky propojovací síť. Všechny mají 100 Mb/s Ethernet nebo Gigabit Ethernet: nízká cena, ale velká latence (100 µs). Dnes nejlepší řešení jsou System Area Networks (SAN): Myrinet (200 MB/s), InfiniBand (850 MB/s), SCI (500 MB/s). Latence řádově jednotky µs. Všechny založeny na menších přepínačích (8, 16, 32), které se zapojují do nepravidelných či pravidelných topologií (např. vícestupňové Closovy sítě).

Srovnávací tabulka SAN z r. 2003 19 Síť InfiniBand Myrinet Gigabit Ethernet Latence přepínače 160 ns 200 ns 10,000 ns End-to-End latence (8B paket) 7.6 µs 8 µs 60 µs End-to-End latence (1KB paket) 13 µs 22 µs 80 µs Průtočnost 822 MB/sec 250 MB/sec 100 MB/sec Režie CPU 3% 6% 80% Architektura síťové Myrinet karty Myrinet switch Link IF Myricom Lanai NIC r DMA s DMA Main CPU host DMA Bus IF SRAM Bus adapter Local bus Sbus Host CPU Memory

Příklad realizace sítě Myrinet/InfiniBand 20 Síť Myrinet pro 256 PE tvořená 80 křížovými přepínači 8 8. PE budou připojeny k listovým přepínačům. 256 Hosts, 80 SW16 Switches 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31