13. Architektury aralelních očítačů Princi činnosti Systém, v němž robíhá několik rocesů současně. Snaha zvyšovat výkonnost, zvýšení bezečnosti a solehlivosti. Zcela řirozená vlastnost numerických i ostatních algoritmů. (ro analogové očítače narostá samozřejmost) Úrovně granularity: 1)Příkazy instrukce 2)Cykly, iterace 3)Podrogramy 4)části úloh a rogramů 5)nezávislé úlohy a rogramy Taxonomie aralelních systémů, Flynnova klasifikace. Velký očet vedl o okus zavedení taxonomie (klasifikace). Flynnova klasifikace lze ar. sys. třídit z hlediska očtu toků instrukcí a dat. Systémy s 1 tokem instrukcí SI (Single instruction stream), systém s několika toky instrukcí MI (Multile Instruction stream) Analogicky SD (Single Data) MD (Multile Data) Ilustrace 1: SIMD Ilustrace 2: MIMD
SISD očítač, zracovávající data sériově odle 1 rogramu. tyicky von Neumannův ty. SIMD očítač oužívající větší množství stejných jednotek řízených solečným rogramem Přitom data zracovávaná v jednotlivých rocesorech jsou různá. Každý jinou hodnotu odle sejné instrukce. Takovéto očítače se dnes již nevyrábí. Výočet musí být synchronní. Větší očet jednodušších rocesorů. MIMD je multirocesorový systém, v němž každý rocesor je řízen samostatným rogramem a racuje s jinými daty než ostatní rocesory. STAR na fakultě je MIMD. Lze si ředstavit jako aralelně roojené samostatné očítače. Teoreticky může každý rovádět jiný rogram. Výočet může být asynchronní nebo synchronní (oužití bariér). MISD kategorie, která vznikla uměle na základě tyto klasifikace a není v raxi běžná. MSIMD systém v němž racuje několik SIMDů zrychlení Sdílená aměť komunistická architektura. 2 rocesory komunikují omocí záisu (čtení) do (ze) sdílené aměti. (UMA Uniform Memory Access) Distribuovaná aměť - kaitalistická architektura (Tvrdíkovina, to jsem si nevymyslel já :) ). 2 rocesory komunikují omocí zráv. Nelze řistuovat do něčí aměti bez dovolení. (NUMA Non UMA = rychlost řístuu do vlastní aměti je jiná než do cizí aměti). Umožňuje libovolnou škálovatelnost. Virtuálně sdílená aměť ve reálu se jedná o distr. aměť, ale řešení řístuu do ní je řešeno hardwarově (tyicky). Nemusí tedy každý řístu do aměti řešit rocesor (majitel aměti) a každý může s libovolnou amětí racovat jako se sdílenou amětí. Na ozadí je tedy vlastně záis/čtení řevedeno na zrávy. (CCf =64 =8 =2 1 SPMD (Same rogram Multie Data stream) modifikace SIMD, všechny rocesory sice rovádějí stejný rogram ale nezávisle na sobě (bez synchronizace) aralelní systém řízený tokem instrukcí řízený tokem událostí bez centrálního řízení tokem dat tokem ožadavků WLIW SISD zálohované těsně vázaný MIMD volně vázaný SIMD s lokal. mem s global. mem s adres. výběrem s asociat. výběrem SIMDy i MIMDy umí rerezentovat jak sdílenou tak distribuovanou aměť v závislosti na tom, zda oužívají sdílenou aměť nebo roojovací síť. Provedení říkazu if nebo case v SIMD: každý rocesor rovede vyhodnocení odmínky nastává časový multilex = rocesory, které vyhodnotily odmínku jako true okračují ve výočtu ve druhém kroku se multilex řene a stojí zase ty, které racovali nesmí se totiž stát, že v SIMD si děljí 2 rocesory různé věci! SIMD a MIMD jsou asymtoticky výočetně ekvivalentní simulace SIMD omocí MIMD je triviální simulujeme-li MIMD omocí SIMD, racuje se na úrovni časových multilexů jako ři rovádění if a case. Výočet bude na SIMD trvat tolikrát déle, kolik různých instrukcí MIMD rovádí. Klasifikace odle organizace aměti
NUMA Cache Coherent NUMA) Zajištění konzistence dat ve VP a VP a HP je římá signalizace mezi VP a VP a HP. Write Throught = zaiš ihned, když změníš data, Write back = zaiš do aměti až ři uvolňování bloku a to jen v říadě, že jsi inkriminovaný blok dat během výočtů změnil (jinak to je zbytečné). Cache Coherent Protokoly k zajištění konzistence dat v aměti Protokol Write Through Write Non Allocate WTWNA 1) Procesor 1 nenajde data v cache a roto musí rovést čtení z aměti. 2) Stav bloku v cache u P1 je nyní valid (latný). 3) Procesor 3 také nenajde data v cache a roto musí rovést čtení z aměti. 4) Nyní mohou oba rocesory oakovaně nezávisle číst oložku X. 5) Procesor 3 změní hodnotu X v cache a také v hlavní aměti 6) Řadič cache u P1 odoslechne záis na sběrnici a znelatní blok X. 7) (nový stav bloku X v cache u P1 je invalid což řinutí P1 řečíst novou hodnotu.) Write Back invalidation rotocol MESI (modified, exclusive, shared, invalid) 1) Procesor 1 nenajde data v cache a roto musí rovést čtení z aměti. 2) Kontrolér (KSP) u roc.2 a roc.3 indikují signálem S=0, že nemají koii bloku X roto je stav bloku u roc.1 Exclusive. 3) Při čtení X z aměti indikuje KSP u rocesoru 1, že daný blok již má ve své 4) cache nastavením S=1. To zůsobí, že nový stav bloku jak u roc.3 tak u roc.1 je Shared. 5) Procesor 3 zjistí, že chce zaisovat do bloku ve stavu Shared, roto umístí na sběrnici transakci BusUgrd kterou znelatní všechny ostatní koie daného bloku v ostatních cache. BusUgrd je krátká a nenese data, aměť není modifikována. 6) Procesor P1 ři načítání obdrží aktuální hodnotu X římo z cache rocesoru 3. Při této říležitosti je též modifikována hodnota v hlavním aměti. V obou cache řechází blok do stavu Shared 7) Procesor 2 chce změnit hodnotu X, kterou nemá v cache, roto vygeneruje transakci BusRdX, která načte daný blok a zároveň znelatní všechny ostatní koie. Nový stav bloku v cache u roc.2 je Modified. Těsně vázaný MIMD - rocesor nemá vlastní aměť, nebo je velmi malá. malý stueň autonomie. Volně vázané MIMD - každý rocesor vlastní lokální HP a vlastní PZ, značný stueň autonomie, HP ojme data i rogram,rys- jeden OS a řeší jedenu úlohu. Komunikace formou zráv. PA (řekladač adres) schonost řešit konflikt ři řístuu do roojovací sítě. 3ířka toku dat Malá 1 bit. nevyžaduje silnou interakci. Proojovací sítě, statické / dynamické Problém komunikace mezi jednotkami. jednostranná složitější, každý s každým. U dvojstranné vyžadujeme ouze soje do m. neumožňuje soje mezi. x. je to v odstatě řeínač. Důležitá i strategie řízení.
roojovací sít dynamická statická křížový řeínač s romíchanou výměnnou válcový osouvač sběrnice 1 2 n dvojsranná roojovací síť mxn 1 úroveň několika. úroveň m1 m2 mn Statické v nichž sojovací cesty zůstávají neměnné. Ty růměr stueň Cesta N-1 2 Kružnice N/2 2 2xkruž N/4 4 bin.strom 2[log(N+1)-1] 3 Krychle logn logn Dynamické - soje volně vznikají a zanikají (rvky které umožňují sojovat). křížový řeínač nebo jen trojúhelníkový hlavní výhodou je vzájemná nezávislost roojovacích cest, která umožňuje současně realizovat tolik sojení, kolik dvojic In/Out lze vytvořit. vysoká cena. m1 m2 m3 1 2 3 roojovací sítě tyu romíchání s výměnou nejvíce se osvědčily řeínače sestavené z elementárních řeínačů a x b dělí se na jednoúrovňové a víceúrovňové. 00 řeínač 2x2 Dokonalé romíchání << 1 = << 1 = Dokonalé oddělení >> 1 = >> 1 = Motýlek otočení kolem rostředního bitu = =
00 1/2 Motýlek (můj název) otočení kolem rostředního bitu = = Sběrnice - nejjednodušší rostředek, snadno se řetíží PZ1 PZ2 PZn M1 M2 M3 Víceúrovňové blokující - sojení jednoho vstuu na výstu, které je dosud volné, může být blokováno již existujícím sojením. Omega - 3x dokonalé romíchání Základní síť = Dokonalé oddělení + ½Motýlek SW-banyan = ½ motýlek + motýlek řestavitelné - sojení lze dosáhnout za cenu řestavění již existujícího soje (Benešova síť = dokonalé oddělení + ½ motýlek + ½ motýlek + dokonalé oddělení) neblokující - nejdokonalejší. lze vytvořit libovolné sojení, bez ohledu na již uskutečněná (Closova) Růst rychlosti, Amdahlův zákon, oblasti využití ar. systémů Problém růstu výkonnosti systému jako celku ztráty sojené s komunikací nedokonalé vytížení rocesorů neznalost vhodných algoritmů zrychlení (lineární (ideálně), suerlineární(ouze v některých říadech), zomalení často :)) Amdahalův zákon - čistě aralelních úloh velmi málo, většinou kombinováno se sériovým zracováním. SZ součinitel zrychlení (oměr doby, která by byla otřebná, kdyby celý výočet robíhal na 1 rocesoru k době otřebné ři částečné aralelizaci) fs odíl sériové délky fp odíl aralelní délky (fs + f = 1) t celková doba sériového výočtu oužijeme-li rocesorů klesne délka aralelizované části na t f P S Z = t = 1 Oblasti oužití t f S t f P 1 f P f P modelování a simulace, řírodní vědy automatizace inženýrských rací (návrh VLSI, WSI, dynamika, aerodynamika) řešení úloh umělé inteligence, vojenská technika výzkum energetických zdrojů zracování signálů