Rinnakkaislaskenta toimii jakamalla suuret ongelmat pienempiin ongelmiin, jotka sitten ratkaistaan samanaikaisesti. SIMD ja MIMD ovat kaksi erilaista rinnakkaista laskenta-arkkitehtuuria, jotka käyttävät useita prosessoreita ja joskus useita tietokoneita tietojen käsittelemiseen. SIMD on lyhenne sanoista Single Instruction stream Multiple Data stream, kun taas MIMD tarkoittaa Multiple Instruction stream Multiple Data streamia. SIMD- ja MIMD-arkkitehtuurit suorittavat samanlaisia perustoimintoja, mutta ne eroavat toisistaan sekä käytännössä että teknisesti.
SIMD määritelty
SIMD-arkkitehtuuri suorittaa yhden, identtisen toiminnon samanaikaisesti useille tietopaloille, mukaan lukien tiedon hakeminen, laskeminen tai tallentaminen. Yksi esimerkki on useiden tiedostojen hakeminen samanaikaisesti. Prosessorit, joissa on eri dataa sisältävä paikallinen muisti, suorittavat saman käskyn synkronoidulla tavalla prosessorien välisellä tiedonsiirrolla vuorojen allokoimiseksi.
Päivän video
MIMD määritelty
MIMD-arkkitehtuuri suorittaa useita toimintoja samanaikaisesti useille datapaloille. Yksi esimerkki on useiden matemaattisten laskelmien, kuten yhteen- ja kertolaskujen, suorittaminen samanaikaisesti monimutkaisen matemaattisen ongelman ratkaisemiseksi, jossa on useita erillisiä komponentteja. MIMD-laskenta voidaan synkronoida tai ei, ja se on yhä yleisempää kuin SIMD-laskenta.
Käytännön erot
SIMD: tä käytetään tyypillisesti ongelmiin, jotka vaativat paljon laskentaa prosessorien kanssa, jotka suorittavat saman toiminnon rinnakkain. MIMD: tä käytetään usein ongelmiin, jotka hajottavat algoritmit erillisiin ja itsenäisiin osiin, ja jokainen osa on osoitettu eri prosessorille samanaikaista ratkaisua varten.
Tekniset erot
SIMD ja MIMD ovat myös teknisesti erilaisia. SIMD-prosessorit ovat yleensä yksinkertaisempia, pienempiä, halvempia ja nopeampia kuin MIMD-prosessorit, mutta MIMD pystyy paljon monimutkaisempiin toimintoihin. MIMD-toiminnot, jotka SIMD voi myös suorittaa, vievät yleensä enemmän aikaa SIMD: llä. SIMD-prosessorien on suoritettava monimutkaisia toimintoja peräkkäin, kun taas MIMD-prosessorit voivat tehdä tämän samanaikaisesti.