Parallel computing fungerer ved at opdele store problemer i mindre problemer, som derefter løses på samme tid. SIMD og MIMD er to forskellige parallelle computearkitekturer, der bruger flere processorer og undertiden flere computere til at behandle data. SIMD står for Enkeltinstruktionsstrøm Flere datastrømme, mens MIMD står for Multiple Instruktionsstrøm Flere datastrøm. SIMD- og MIMD-arkitekturer tillader lignende grundlæggende funktioner, men de adskiller sig både praktisk og teknisk.

SIMD defineret

SIMD-arkitekturen udfører en enkelt, identisk handling samtidigt på flere datastykker, herunder hentning, beregning eller lagring af oplysninger. Et eksempel er at hente flere filer på samme tid. Processorer med lokal hukommelse, der indeholder forskellige data, udfører den samme instruktion på en synkroniseret måde med inter-processor-kommunikation til skiftallokering.

MIMD defineret

MIMD-arkitekturen udfører flere handlinger samtidigt på adskillige datamaterialer. Et eksempel er at udføre forskellige matematiske beregninger - såsom tilføjelse og multiplikation - samtidig for at løse et komplekst matematisk problem med mange separate komponenter. MIMD-computing kan muligvis være synkroniseret og er stadig mere almindelig end SIMD-computing.

Praktiske forskelle

SIMD bruges typisk til problemer, der kræver masser af beregninger med processorer, der udfører den samme operation parallelt. MIMD bruges ofte til problemer, der opdeler algoritmer i separate og uafhængige dele, med hver del tildelt til en anden processor til samtidig løsning.

Tekniske forskelle

SIMD og MIMD er også teknisk forskellige. SIMD-processorer er normalt enklere, mindre, billigere og hurtigere end MIMD-processorer, men MIMD er i stand til langt mere komplekse operationer. MIMD-operationer, som SIMD også kan udføre, har en tendens til at tage mere tid med SIMD. SIMD-processorer skal udføre komplekse operationer sekventielt, mens MIMD-processorer kan gøre dette samtidigt.