Multiprocesorové a multipočítačové systémy Podle způsobu komunikace se paralelní systémy typu MIMD (Multiple Instruction Multiple Data) dělí: prostřednictvím společně sdílené paměti multiprocesorové systémy (Multiprocesory) zasíláním zpráv (distribuovaná paměť) multipočítačové systémy (Multipočítače) Často se objevují kombinace systému s distribuovanou a sdílenou paměti Procesory jsou rozdělené do skupin (uzlů) se sdílenou pamětí Uzly spolu komunikuji meziuzlovou komunikační sítí Multiprocesorové systémy Hlavní paměť Řídící signály Systémové propojení Podle způsobu systémového propojení rozlišujeme tyto základní struktury multiprocesorového systému: systém se společnou sběrnicí systém s vícebránovou pamětí systém s centrální řídící jednotkou Systém se společnou sběrnicí Architektura vzniklá rozšířením jednoprocesorového systému připojením dalších procesorů výhoda: jednoduchost a snadná rozšiřitelnost nevýhoda: značné přetížení společné sběrnice pro malý počet procesorů (max. 16) - 1 -
Cache Cache Hlavní paměť systémová sběrnice Systém s vícebránovou pamětí Systémové propojení tvoří propojovací síť hlavní paměť je rozdělena do více samostatných částí modulů jednotlivé procesory mohou být propojeny s různými moduly hlavní paměti současně Podle způsobu propojení procesorů a modulů hlavní paměti rozlišujeme: neblokující propojovací síť blokující propojovací síť Neblokující propojovací síť K jednomu bloku může být v určitém okamžiku připojen pouze jeden procesor Procesor nebrání jinému procesoru použít ostatní paměťové bloky neblokuje Pro n procesorů a n bloků je třeba n.n spínačů M 00 M 01 M 10 M 11 P 1 spínač P 2 1 2 Příklad: paměť je rozdělena na bloky M 00, M 01, M 10 a M 11 bloky jsou připojovány k jednotlivým procesorům P 1 a P 2 nebo k modulům 1 a 2-2 -
Blokující propojovací síť přepínač P 1 M 00 P 2 M 01 1 2 M 10 Místo spínačů jsou použity přepínače propojení procesorů s bloky paměti sdílejí společné úseky blokují se n pro n procesorů a n bloků paměti je třeba ( log 2 n) přepínačů 2 M 11 Multiprocesorový systém s centrální řídící jednotkou Systémové propojení je realizováno centrální řídící jednotkou, která plní i některé další úkoly: působí ve funkci arbitra sběrnice shromažďuje stavovou informaci o jednotlivých procesorech zprostředkuje předávání signálů a zpráv mezi procesory při přesunech dat může působit jako vyrovnávací paměť Takové řešení je typické pro sálové počítače např. IBM 3033 Kanály Multiprocesorová komunikační jednotka Kanály Hlavní paměť - 3 -
Multipočítačové systémy Procesory nesdílejí společnou paměť, ale každý procesor má svoji vlastní lokální paměť. Vzájemná komunikace mezi procesory spočívá v zasílání zpráv pomocí komunikačních kanálů simplexní přenos zpráv pouze jedním směrem duplexní přenos zpráv v obou směrech je-li možný současný obousměrný přenos jedná se o plný duplex Simplexní spojení Duplexní spojení P 1 P 2 P 1 P 2 Graf propojení procesorů Topologie propojení procesorů komunikačními kanály může být libovolná a lze ji popsat grafem P 3 P 4 P 5 P 1 P 2 Procesory obvykle nejsou všechny vzájemně propojeny zpráva je k příjemci přenesena za pomoci dalších procesorů procesory mají v rámci sítě (grafu) své adresy v síti je definován směrovací algoritmus Vzdálenost mezi procesory, tj. počet hran mezi komunikujícími procesory se nazývá délka cesty. Vzdáleností dvou uzlů d(p i, P j ) rozumíme délku minimální cesty mezi P i a P j. Průměrem grafu D(G) rozumíme maximální vzdálenost mezi uzly grafu G D( G) = max P, P G i j d ( P, P ) i j - 4 -
Příklad d(p 1, P 3 ) = 2 d(p 1, P 5 ) = 3 D(G) = 3 K propojování procesorů (počítačů) se používají různé topologie slabě vázané obsahují jen málo vzájemných propojení považují se za lokální počítačové sítě (LAN) silně vázané úplné propojení propojení do kružnice propojení do rovinné mřížky propojení do n-rozměrné krychle Topologie kružnice Každý z N procesorů má duplexní propojení se sousedními procesory průměr grafu N-1 počet propojení N každý procesor 4 simplex.kanálů Topologie úplného propojení Každý z N procesorů má duplexní propojení se všemi ostatními procesory průměr grafu 1 počet propojení N.(N-1) každý procesor 2.(N-1) simplex.kanálů - 5 -
Topologie rovinné mřížky N procesorů je propojeno tak, že tvoří vrcholy uzly rovinné mřížky průměr grafu 2.( N 1) počet propojení 4.N každý procesor 8 simplex.kanálů Modifikace válec anuloid typ Illiac - 6 -
Transputer Topologii rovinné mřížky obvykle tvoří jednočipové počítače, tzv. transputery RISC procesor malá RAM paměť 8 simplexních kanálů OS obvykle UNIX RAM Topologie n-rozměrné krychle (n-cube) N procesorů je propojeno tak, že tvoří vrcholy jednotkové n-rozměrné krychle počet procesorů N 2 n průměr grafu n počet propojení n.2 n-1 každý procesor 2.n simplex.kanálů - 7 -
Příklad: n = 3 z 0 0 1 0 1 1 1 0 1 0 0 0 1 1 1 0 1 0 1 0 0 1 1 0 y x Algoritmus směrování zpráv Vektor souřadnic vrcholu jednotkové krychle slouží jako adresa procesoru Předpokládejme, že právě předávající procesor je V a příjemce je procesor P Algoritmus směrování zpráv je následující: předávající stanoví hodnotu V P je-li výsledkem nulový vektor, je předávající adresátem, tj. V P je-li výsledkem nenulový vektor, předávající vybere jednu ze souřadnic, která je rovna 1 a předá zprávu procesoru sousedícímu ve směru vybrané souřadnice Předpokládejme, že procesor Z (1 0 0) zasílá zprávu procesoru P (0 1 0) Z P = (1 0 0) (0 1 0) = (1 1 0) je možné vybrat směr osy x nebo osy y vybrán směr osy y zpráva přeposlána procesoru V (1 1 0) z 0 0 1 0 1 1 1 0 1 0 0 0 1 1 1 0 1 0 1 0 0 1 1 0 P y x Z V V P = (1 1 0) (0 1 0) = (1 0 0) je možné vybrat směr osy x zpráva přeposlána procesoru P (0 1 0) - 8 -
z 0 0 1 0 1 1 1 0 1 0 0 0 1 1 1 0 1 0 1 0 0 1 1 0 P y x Z V P P = (0 1 0) (0 1 0) = (0 0 0) výsledkem je nulový vektor, procesor P pozná, že zpráva je určena jemu z 0 0 1 0 1 1 1 0 1 0 0 0 1 1 1 0 1 0 1 0 0 1 1 0 P y x Z V Asymetrické topologie Mezi asymetrické topologie patří např. binární strom hvězda U uzlově asymetrických síti je meziuzlová komunikace obtížnější - 9 -
Earth Simulator V březnu 2002 byl u Yokohamy v Japonsku uveden do provozu superpočítač zvaný Earth Simulator (ES) ES je používán pro simulaci seismických dějů Země, zejména s ohledem na možné předpovídání zemětřesení v Japonsku. Druhou velkou oblastí je modelování a skutečně realistických předpovědí zemského klimatu. Základní parametry Paralelní multiprocesorový počítač s hlavní pamětí 10TB Tvořen 5120 procesory s výkonem 40Tflops (40 bilionů operací v pohyblivé řádové čárce za sekundu) efektivnost až 65%! Obsahuje 83200 propojovacích komunikačních kabelů o celkové délce 2400km. ES zabírá budovu o rozměrech 50mx65mx17m - 10 -
Topologie systému 640 procesorových uzlů (PN, Processor Node), vzájemně propojenými jednoprůchodovým přepínačem 640x640 (2+128 x IN, Interconnection Network) - každý uzel může komunikovat s každým dalším Přenosová rychlost 12,3 GB/s IN PN Každý procesorový uzel je tvořen 8 aritmetickými procesory (AP) vektorového typu s 16GB sdílené paměti (32 paměťových modulů) a výkonem každého procesoru 8Gflops - 11 -
Aritmetický procesor Vektorový procesor 8 samostatných ALU s šesti proudově zpracovávanými operacemi 72 vektorových registrů s 256 položkami Skalární procesor 4-vláknová superskalární architektura 64kB cache pro instrukce a 64kB cache pro data 128 hlavních registrů - 12 -
Souhrn Paralelní systém jako celek kategorie MIMD Topologie úplné propojení neblokující propojovací síť Komunikace mezi procesorovými uzly zasílání zpráv v rámci jednoho uzlu sdílená lokální paměť Aritmetický procesor = vektorový počítač skalární procesor 4-vláknová superskalární architektura vektorový procesor 8 sad paralelních ALU - 13 -