Differenze tra SIMD e MIMD
Il calcolo parallelo funziona dividendo grandi problemi in problemi minori risolti simultaneamente. SIMD e MIMD sono due diverse architetture calcolo parallelo che usano multiple CPU e a volte multiple computer per processare dati. SIMD sta per Single Instruction stream Multiple Data stream, mentre MIMD sta per Multiple Instruction stream Multiple Data stream. Le architetture SIMD e MIMD eseguono funzioni base simili, ma differiscono sia praticamente che tecnicamente.
SIMD definito
L'architettura SIMD esegue un'azione singola identica simultaneamente su più pezzi dati, inclusi recupero, calcolo o memorizzazione informazioni. Un esempio è recuperare più file contemporaneamente. Processori con memoria locale contenente dati diversi eseguono la stessa istruzione in modo sincronizzato, con comunicazione inter-processore per allocazione shift.
MIMD definito
L'architettura MIMD esegue multiple azioni simultaneamente su numerosi pezzi dati. Un esempio è eseguire vari calcoli matematici — come addizione e moltiplicazione — simultaneamente per risolvere un problema matematico complesso con molti componenti separati. Il calcolo MIMD può o non può essere sincronizzato ed è sempre più comune del calcolo SIMD.
Differenze pratiche
SIMD è tipicamente usato per problemi che richiedono molti calcoli con processori che eseguono la stessa operazione in parallelo. MIMD è frequentemente usato per problemi che dividono algoritmi in parti separate e indipendenti, con ogni parte assegnata a un processore diverso per soluzione simultanea.
Differenze tecniche
SIMD e MIMD sono anche tecnicamente diverse. Processori SIMD sono solitamente più semplici, piccoli, economici e veloci di processori MIMD, ma MIMD è capace di operazioni molto più complesse. Operazioni MIMD che SIMD può anche compiere tendono a richiedere più tempo con SIMD. Processori SIMD devono eseguire operazioni complesse sequenzialmente, mentre processori MIMD possono farle concorrentemente.