-
-
Flynnova klasifikace
- SISD - konvenční
- SIMD - vektorové
- MISD - řetězové
- MIMD - multiprocesory, multicomputery
-
VLIW - Very Long Instruction Word
- jediný tok řízení, který řídí všechny procesory
- každá instrukce - samostatné pole s operačním kódem pro všechny procesory
- výhody: jednoduchý HW, dobře škálovatelné
- nevýhody: podmínění skoky, problémy toku dat
-
MISD
- Zřetězené procesory
- Lineárně propojené procesory
- Řešení úloh s proudovým charakterem
- Data procházejí postupně jednotlivými procesory
-
SIMD
- Vektorové procesory
- MSIMD = Multiple SIMD
- SPMD = Same Program, Multiple Data
- výhody: jednodušší než MIMD, menší nároky na paměť, jeden instrukční tok a synchronizace zjednodušuje programy
- nevýhody: ne všechny problémy jsou datově paralelizovatelné, pokles výkonnosti u programů s mnoha podmíněnými skoky
-
Granularita paralelismu
- uvnitř instrukcí
- mezi instrukcemi
- mezi příkazy
- mezi bloky procesu
- mezi procesy
-
Prostředky synchronizace
- zasílání zprávy (a/synchronní)
- randevous (RPC)
- semafor
- monitor
- bariéra
-
Druhy synchronizace a typické úlohy
- soupeření: vzájemné vyloučení, čtenáři x písaři
- kooperace: dohoda, producent x konzument
-
Prostředky pro komunikaci
- sdílená paměť: skutečná/simulovaná, boj o sběrnici, řešení konfliktu při zápisu
- zasílání zpráv: kanály, RPC, broadcasting
-
Sdílená paměť a předávání zpráv u MIMD
- multitasking: 1cpu, přepínání kontextu, virtuální procesory
- sdílená paměť: cache, těsně vázané, boj o sběrnici)
- virtuální sdílená paměť: all cache, spojení caches komunikačními kanály, navenek se tváří jako jediný adresovaný prostor
- předávání zpráv: volně vázaná architektura, počítačové sítě, propojeny pouze procesory
-
Vlastnosti sdílené paměti vs. předávání zpráv
- sdílená paměť: všechny procesy mají přístup do společného paměťového prostoru: EREW x CREW (x ERCW) x CRCW
- zprávy: každý procesor má svůj adresový prostor, procesory mají vlastní paměť
-
Statické propojovací sítě
- Všechny uzly jsou procesory
- Kanály jsou spojnice mezi uzly (procesory)
- Používají se pro architektury bez sdílené paměti
- Vlastnosti: diameter, konektivita, šířka bisekce
-
Typy statických propojovacích sítí
- úplné propojení: průměr 1, konektivita p-1, šířka bisekce p2/4
- hvězda: průměr 2, konektivita 1, šířka bisekce(p-1)/2
- lineární pole: průměr p-1, konektivita 1, šířka bisekce 1
- d-rozměrná mřížka: průměr dp1/d, konektivita d, bisekce 2p(1-1/d)
- k-ární d-rozměrná kostka: průměr d[k/2], konektivita 2d, šířka bisekce 2kd-1
- d-ární strom: průměr 2 logd((p+1)/2), konektivita 1, šířka bisekce 1
-
Průměr (diameter)
Délka nejdelší z nejkratších cest mezi všemi dvojicemi uzlů
-
Konektivita (arc connectivity)
Minimální počet hran, které je nutné odstranit pro rozdělení sítě na více částí
-
Šířka bisekce (bisection width)
Minimální počet hran, které spojují dvě přibližně stejně velké poloviny sítě
-
Dynamické sítě
- Uzly jsou procesory, paměťové moduly nebo přepínače
- Často se používají pro implementaci architektur se sdílenou pamětí
- Příklady:
- (a) křížový přepínač - v jednom okamžiku propojení p prvků, neblokující
- (b) sběrnice - propojení pouze 2 prvků v jednom okamžiku, blokující
- (c) víceúrovňové sítě - spojují p procesorů s p paměťovými moduly pomocí p.log(p) přepínačů, souboje o přepínače
|
|