Tipuri de Calcul Paralel: Aplicații
Tipuri de Calcul Paralel: Aplicații
1. Paralelism la nivel de bit: Forma de calcul paralel în care fiecare sarcină este
dependent de dimensiunea cuvântului procesorului. În ceea ce priveș te îndeplinirea unei sarcini pe dimensiuni mari
date, reduce numărul de instrucț iuni pe care procesorul trebuie să le execute. Există o
trebuie să împărț iț i operaț ia în serii de instrucț iuni. De exemplu, există un 8-
procesor de biț i, ș i vrei să efectuezi o operaț iune pe numere de 16 biț i. În primul rând, trebuie să
operaț i cei 8 biț i inferiori ș i apoi cei 8 biț i Superiori. Prin urmare, două
sunt necesare instrucț iuni pentru a executa operaț iunea. Operaț iunea poate fi efectuată
cu o instrucț iune de către un procesor pe 16 biț i.
2. Paralelism la nivel de instruc ț iune: Într-un singur ciclu de ceas al CPU-ului, procesorul decide
în paralelism la nivel de instrucț iune, câte instrucț iuni sunt implementate în acelaș i timp
timp. Pentru fiecare fază a ciclului de ceas, un procesor în paralelism la nivel de instrucț iune poate
au capacitatea de a aborda care este mai puț in decât o instrucț iune. Abordarea software-ului
în paralelismul la nivel de instrucț iuni, funcț ionează pe paralelismul static, unde computerul
decide care instrucț iuni să execute simultan.
3. Paralelele de sarcini: Paralelele de sarcini este forma de paralelele în care sarcinile sunt
decomponat în subtaskuri. Apoi, fiecare subtask este alocat pentru execuț ie. Ș i,
execuț ia subtask-urilor se realizează în mod concurent de către procesoare.
oUna dintre principalele aplica ț ii ale computării paralele este bazele de date ș i datele
minerit.
oSimularea în timp real a sistemelor este o altă utilizare a calculului paralel.
oȘ tiinț ă ș i Inginerie.
oÎn calculul paralel, se folosesc mai multe resurse pentru a finaliza sarcina care a dus la
reduceț i timpul ș i tăiaț i costurile posibile. De asemenea, se folosesc componente ieftine pentru
oÎn cazul clusterelor, sunt necesare tehnologii de răcire mai bune în paralel
calculatoare.
oNecesită algoritmi gestiona ț i, care ar putea fi gestiona ț i în paralel
mecanism.
oArhitecturile multi-core consumă o putere ridicată.
oSistemul de calcul paralel necesită un cuplaj scăzut ș i o coeziune ridicată, care este
dificil de creat.
oCodul pentru un program bazat pe paralelism poate fi realizat de cei mai tehnici
programatori pricepuț i ș i experț i.
uneori poate fi destul de mare; chiar poate depăș i câș tigurile din cauza
paralelizare.
oÎn plus, pentru îmbunătă ț irea performan ț ei, sistemul de calcul paralel are nevoie de
Computare multi-core
Un circuit integrat al unui procesor de calculator care conț ine două sau mai multe nuclee de procesare distincte
este cunoscut ca un procesor multi-core, care are capacitatea de a executa programe
instrucț iuni simultan. Corele pot implementa arhitecturi precum VLIW, superscalar,
multitasking, sau vectori ș i sunt integrate pe un singur cip integrat sau pe
multiple die-uri într-un singur pachet de chip. Arhitecturile multi-core sunt clasificate ca
heterogen care constă din nuclee care nu sunt identice, sau sunt clasificate ca
homogen care constă doar din nuclee identice.
Multiprocessing simetric
În procesarea simetrică, un singur sistem de operare gestionează multiprocesorul.
arhitectura computerelor având două sau mai multe procesoare omogene, independente care
treat all processors equally. Each processor can work on any task without worrying about
datele pentru această sarcină sunt disponibile în memorie ș i pot fi conectate cu ajutorul utilizării
reț ele de tip mesh pe cip. De asemenea, toate procesoarele conț in o memorie cache privată.
Calcul distribuit
Pe calculatoare conectate la reț ea diferite, componentele unui sistem distribuit sunt localizate.
Aceste computere conectate în reț ea îș i coordonează acț iunile cu ajutorul comunicării
prin HTTP, cozi de mesaje de tip RPC ș i conectori. Concuren ț a
componente ș i eș ecul independent al componentelor sunt caracteristicile distribuț iei
sisteme. De obicei, programarea distribuită este clasificată sub formă de peer-to-peer,
arhitecturi client-server, n-tier sau three-tier. Uneori, termenii calcul paralel
ș i calculul distribuit sunt utilizate inter-schimbabil, deoarece există multă suprapunere între
ambele.
De ce calcul paralel?
Există diverse motive pentru care avem nevoie de calcul paralel, aș a cum se discută mai jos:
oComputarea paralelă se ocupă de probleme mai mari. În lumea reală, există multiple
lucruri care funcț ionează la un anumit moment, dar în numeroase locuri simultan, ceea ce este
dificil de gestionat. În acest caz, calculul paralel ajută la gestionarea acestui tip de
date extrem de mari.
oCalculul paralel este cheia pentru a face datele mai modelabile, simulare dinamică
ș i pentru atingerea acestuia. Prin urmare, calculul paralel este necesar pentru real
lume prea.
oCu ajutorul calculului serial, calculul paralel nu este ideal pentru a fi implementat
sisteme în timp real; de asemenea, oferă concurenț ă ș i economiseș te timp ș i bani.
oNumai conceptul de calcul paralel poate organiza seturi mari de date, complexe, ș i
gestionarea lor.
oAbordarea calculului paralel asigură utilizarea eficientă a resurselor.
ș i garantează utilizarea efectivă a hardware-ului, în timp ce doar unele păr ț i de
hardware-ul este folosit în calculul serial, iar unele părț i sunt lăsate inactive.
M.J. Flynn a propus o clasificare pentru organizarea unui sistem de calculatoare prin
numărul de instrucț iuni ș i elemente de date care sunt manipulate simultan.
Secvenț a de instrucț iuni citită din memorie constituie un flux de instrucț iuni.
Instrucț iunile sunt executate secvenț ial, iar sistemul poate avea sau nu interne.
capacităț i de procesare paralelă.
Cele mai multe computere convenț ionale au arhitectură SISD, cum ar fi tradiț ionalul Von-Neumann
computere.
Procesarea paralelă, în acest caz, poate fi realizată prin intermediul unor unităț i funcț ionale multiple sau
prin procesarea pe conducte.
Instruc ț iunile sunt decodificate de Unitatea de Control ș i apoi Unitatea de Control trimite...
instrucț iuni pentru unităț ile de procesare pentru execuț ie.
SIMD
SIMD înseamnă 'Instrucț iune Unică ș i Flux de Date Multiple'. Reprezintă un
organizaț ie care include multe unităț i de procesare sub supravegherea unui comun
unitate de control.
Toate procesoarele primesc aceeaș i instrucț iune de la unitatea de control, dar operează pe diferite
elemente de date.
Unitatea de memorie partajată trebuie să conț ină mai multe module pentru a putea comunica cu
toate procesoarele simultan.
SIMD este dedicat în principal maș inilor de procesare a array-urilor. Cu toate acestea, procesoarele vectoriale pot
de asemenea, să fie văzut ca parte a acestui grup.
MISD
MISD înseamnă 'Flux de multiple instrucț iuni ș i un singur flux de date'.
Structura MISD este de interes teoretic doar, deoarece niciun sistem practic nu a fost
construit folosind această organizaț ie.
În MISD, multiple unităț i de procesare operează pe un singur flux de date. Fiecare procesare
unitatea operează pe date în mod independent printr-un flux de instrucț iuni separat.
1. Unde, M=ModuleDeMemorie, CU=UnitateDeControl, P=Unită ț iDeProcesare
MIMD
MIMD înseamnă 'Multiple Instrucț iuni ș i Fluxuri Multiple de Date'.
În această organizaț ie, toate procesoarele dintr-un computer paralel pot executa instrucț iuni diferite
ș i operează asupra diverselor date în acelaș i timp.
În MIMD, fiecare procesor are un program separat ș i se generează un flux de instrucț iuni.
din fiecare program.
1. Unde, M=ModulDeMemorie, PE=ElementDeProcesare, ș i CU=UnitateDeControl
Examples: