MIMD - MIMD

MIMD.svg

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.

Model sdílené paměti

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.

Viz také

Reference