Parallel Processing Abordări
Pentru a înțelege de procesare paralelă, avem nevoie să se uite la cele patru modele de bază de programare. Oamenii de stiinta de calculator defini aceste modele bazate pe doi factori: numărul de fluxuri de instruire și numărul de fluxuri de date mânerele de calculator. Fluxuri de instruire sunt algoritmi. Un algoritm este doar o serie de măsuri menite să rezolve o anumită problemă. Fluxuri de date sunt informații scos din memoria de calculator folosit ca valori de intrare la algoritmi. Procesorul dopuri valorile din fluxul de date în algoritmii din fluxul de instrucțiuni. Apoi, se inițiază operațiunea de a obține un rezultat.
singură instrucțiune, Necasatorit date (SISD) calculatoare au un procesor care se ocupa de un algoritm folosind o sursa de date la un moment dat. Cele abordează calculator și procesează fiecare sarcină în ordine, și așa, uneori oamenii folosesc cuvântul " secvențială " pentru a descrie computerele SISD. Ele nu sunt capabile să execute procesare paralelă pe cont propriu.
Instrucțiuni multiple, single Data (MISD) calculatoare au mai multe procesoare. Fiecare procesor foloseste un algoritm diferit, dar utilizează aceleași date de intrare comune. Computere MISD poate analiza același set de date folosind mai multe operațiuni diferite, în același timp. Numărul de operațiuni depinde de numărul de procesoare. Nu sunt multe exemple concrete de computere MISD, în parte pentru că problemele un calculator MISD poate calcula sunt mai puțin frecvente și de specialitate.
singură instrucțiune, date multiple (SIMD) calculatoare au mai multe procesoare care urmează același set de instrucțiuni , dar fiecare procesor intrări de date diferite în aceste instrucțiuni. Calculatoare SIMD conduc diferite date prin același algoritm. Acest lucru poate fi util pentru a analiza volume mari de date, pe baza acelorași criterii. Multe probleme complexe de calcul nu se potrivesc acestui model.
Instrucțiuni multiple, multiple de date (MIMD) calculatoare au mai multe procesoare, fiecare capabil de a accepta propria fluxul de instrucțiuni independent de celelalte. Fiecare procesor trage, de asemenea, date de la un flux de date separat. Un calculator MIMD pot executa mai multe procese diferite în același timp. Calculatoare MIMD sunt mai flexibile decât SIMD sau MISD computere, dar este mult mai dificil de a crea complexe algoritmi care fac aceste calculatoare de