MIMD - MIMD
Flynnova taxonomie |
---|
Jediný datový proud |
Více datových proudů |
Ve výpočetní technice je MIMD ( multiple instruction, multiple data ) technikou používanou k dosažení paralelismu. Stroje využívající MIMD mají řadu procesorů, které fungují asynchronně a nezávisle. Kdykoli mohou různé procesory provádět různé pokyny na různých částech dat.
Architektury MIMD lze použít v řadě aplikačních oblastí, jako je počítačově podporovaný design / počítačově podporovaná výroba , simulace , modelování a jako komunikační přepínače . Stroje MIMD mohou být kategorie sdílené paměti nebo distribuované paměti . Tyto klasifikace jsou založeny na tom, jak procesory MIMD přistupují k paměti. Stroje se sdílenou pamětí mohou být sběrnicového , rozšířeného nebo hierarchického typu. Distribuované paměťové stroje mohou mít schémata propojení hypercube nebo mesh .
Příklady
Příkladem systému MIMD je Intel Xeon Phi , pocházející z mikroarchitektury Larrabee . Tyto procesory mají více procesorových jader (až 61 od roku 2015), které mohou provádět různé pokyny pro různá data.
Většina paralelních počítačů od roku 2013 jsou systémy MIMD.
V modelu sdílené paměti jsou všechny procesory připojeny k „globálně dostupné“ paměti, a to buď softwarově, nebo hardwarově. Operační systém obvykle udržuje svou paměť soudržnost .
Z pohledu programátora je tento paměťový model lépe pochopitelný než model distribuované paměti. Další výhodou je, že soudržnost paměti je řízena operačním systémem, nikoli psaným programem. Dvě známé nevýhody jsou: škálovatelnost nad třicet dva procesorů je obtížná a model sdílené paměti je méně flexibilní než model distribuované paměti.
Existuje mnoho příkladů sdílené paměti (více procesorů): UMA ( jednotný přístup do paměti ), COMA ( přístup do paměti pouze v mezipaměti ).
Na bázi autobusu
Stroje MIMD se sdílenou pamětí mají procesory, které sdílejí společnou centrální paměť. V nejjednodušší formě jsou všechny procesory připojeny ke sběrnici, která je spojuje s pamětí. To znamená, že každý stroj se sdílenou pamětí sdílí konkrétní CM, společný systém sběrnice pro všechny klienty.
Pokud například vezmeme v úvahu sběrnici s klienty A, B, C připojenými na jedné straně a P, Q, R připojenými na opačné straně, bude jeden z klientů komunikovat s druhým prostřednictvím rozhraní sběrnice mezi nimi.
Hierarchický
Stroje MIMD s hierarchickou sdílenou pamětí používají hierarchii sběrnic (například v „ tlustém stromu “), aby umožnily procesorům přístup do paměti toho druhého. Procesory na různých deskách mohou komunikovat prostřednictvím meziuzlových sběrnic. Autobusy podporují komunikaci mezi deskami. S tímto typem architektury může stroj podporovat více než devět tisíc procesorů.
Distribuovaná paměť
Ve strojích s distribuovanou pamětí MIMD má každý procesor své vlastní umístění v paměti. Každý procesor nemá žádné přímé znalosti o paměti jiného procesoru. Aby mohla být data sdílena, musí být předána z jednoho procesoru do druhého jako zpráva. Jelikož zde není sdílená paměť, není u těchto strojů problém s tak velkým problémem. Není ekonomicky možné propojit velké množství procesorů přímo k sobě navzájem. Způsobem, jak se tomuto množství přímých připojení vyhnout, je připojit každý procesor jen k několika dalším. Tento typ návrhu může být neefektivní z důvodu přidaného času potřebného k předání zprávy z jednoho procesoru do druhého po cestě zprávy. Doba potřebná pro procesory k provedení jednoduchého směrování zpráv může být značná. Systémy byly navrženy ke snížení této časové ztráty a hyperkrychle a sítě patří mezi dvě populární schémata propojení.
Mezi příklady distribuované paměti (více počítačů) patří MPP (masivně paralelní procesory) , COW (klastry pracovních stanic) a NUMA ( nejednotný přístup do paměti ). První z nich je složitý a nákladný: Mnoho superpočítačů propojených širokopásmovými sítěmi. Mezi příklady patří propojení hyperkrychlí a sítí. COW je „domácí“ verze za zlomek ceny.
Propojovací síť Hypercube
V stroji s distribuovanou pamětí MIMD s propojovací sítí systému hypercube obsahující čtyři procesory jsou procesor a paměťový modul umístěny na každém vrcholu čtverce. Průměr systému je minimální počet kroků, které jeden procesor potřebuje k odeslání zprávy nejvzdálenějšímu procesoru. Například průměr 2 krychle je 2. V systému hyperkrychlí s osmi procesory a každý procesor a paměťový modul umístěný ve vrcholu krychle je průměr 3. Obecně platí, že systém, který obsahuje 2 ^ N procesory s každým procesorem přímo spojeným s N dalšími procesory, průměr systému je N. Jednou z nevýhod systému hypercube je to, že musí být nakonfigurován v síle dvou, takže musí být postaven stroj, který by potenciálně mohl mít mnohem více procesory, než je pro aplikaci skutečně potřeba.
Síťová propojovací síť
V distribuovaném paměťovém stroji MIMD se síťovou propojovací sítí jsou procesory umístěny do dvourozměrné mřížky. Každý procesor je připojen ke svým čtyřem bezprostředním sousedům. Na okrajích pletiva mohou být k dispozici ovinutí spojů. Jednou z výhod propojovací sítě mesh přes hyperkrychli je, že síťový systém nemusí být konfigurován ve dvou. Nevýhodou je, že průměr sítě mesh je větší než hyperkrychle pro systémy s více než čtyřmi procesory.