Diferențele dintre SIMD și MIMD

Calculul paralel funcționează prin împărțirea problemelor mari în probleme mai mici care sunt apoi rezolvate în același timp. SIMD și MIMD sunt două arhitecturi de calcul paralele diferite care utilizează mai multe procesoare și uneori mai multe computere pentru a procesa date. SIMD înseamnă Flux de instrucțiuni unice Flux de date multiple, în timp ce MIMD înseamnă Flux de instrucțiuni multiple Flux de date multiple. Arhitecturile SIMD și MIMD îndeplinesc funcții de bază similare, dar diferă atât practic, cât și tehnic.

SIMD definit

Arhitectura SIMD efectuează o singură acțiune, identică, simultan pe mai multe bucăți de date, inclusiv regăsirea, calcularea sau stocarea informațiilor. Un exemplu este preluarea mai multor fișiere în același timp. Procesoarele cu memorie locală care conțin date diferite execută aceeași instrucțiune într-un mod sincronizat, cu comunicare între procesor pentru alocarea schimburilor.

Videoclipul zilei

MIMD definit

Arhitectura MIMD efectuează mai multe acțiuni simultan pe numeroase bucăți de date. Un exemplu este efectuarea simultană a diferitelor calcule matematice -- cum ar fi adunarea și înmulțirea -- pentru a rezolva o problemă complexă de matematică cu multe componente separate. Calculul MIMD poate fi sau nu sincronizat și este din ce în ce mai comun decât calculul SIMD.

Diferențele practice

SIMD este utilizat de obicei pentru probleme care necesită o mulțime de calcule cu procesoare care efectuează aceeași operație în paralel. MIMD este folosit frecvent pentru probleme care descompun algoritmii în părți separate și independente, fiecare parte fiind alocată unui procesor diferit pentru soluție simultană.

Diferențele tehnice

SIMD și MIMD sunt, de asemenea, diferite din punct de vedere tehnic. Procesoarele SIMD sunt de obicei mai simple, mai mici, mai ieftine și mai rapide decât procesoarele MIMD, dar MIMD este capabil de operațiuni mult mai complexe. Operațiunile MIMD pe care SIMD le poate realiza de asemenea tind să dureze mai mult timp cu SIMD. Procesoarele SIMD trebuie să efectueze operațiuni complexe secvențial, în timp ce procesoarele MIMD pot face acest lucru concomitent.