
Procesele de execuție paralelă trebuie să fie simultane dacă nu sunt operate în același moment, dar procesele de execuție simultan nu ar putea fi paralele deoarece acestea nu sunt procesate în același moment.
Diagramă de comparație
Bazele de comparație | Concurenta | Paralelism |
---|---|---|
De bază | Este actul de a gestiona și de a executa mai multe calcule în același timp. | Este actul de a executa simultan mai multe calcule. |
Realizat prin | Operațiunea de intercalare | Folosind mai multe CPU-uri |
Beneficii | O cantitate sporită de muncă realizată la un moment dat. | Capacitate îmbunătățită, accelerare computațională |
A te folosi de | Schimbarea de context | CPU-uri multiple pentru operarea mai multor procese. |
Unități de procesare necesare | Probabil unic | Multiplu |
Exemplu | Executarea mai multor aplicații simultan. | Rularea unui crawler web pe un cluster. |
Definiția Concurrency
Concurrency este o tehnică utilizată pentru scăderea timpului de răspuns al sistemului folosind unitatea de procesare unică sau procesarea secvențială . O sarcină este împărțită în mai multe părți, iar partea ei este procesată simultan, dar nu în același moment. Ea produce iluzia paralelismului, dar în realitate bucățile unei sarcini nu sunt procesate paralel. Concurrency se obține prin intercalarea funcționării proceselor pe CPU, cu alte cuvinte prin comutarea contextului în care comanda este schimbată rapid între diferite fire de procese, iar comutarea este nerecunoscută. Acesta este motivul pentru care arată procesarea paralelă.
Concurrencyul conferă acces multipartit la resursele partajate și necesită o formă de comunicare. Funcționează pe un fir atunci când face orice progres util, apoi oprește firul și comută la fir diferit, cu excepția cazului în care face progrese utile.
Definiția Parallelism
Paralelismul este conceput în scopul creșterii vitezei de calcul prin utilizarea mai multor procesoare. Este o tehnică de executare simultană a diferitelor sarcini în același moment. Acesta implică mai multe unități independente de procesare a computerelor sau dispozitive de calcul care sunt în paralel operarea și executarea sarcinilor pentru a crește viteza computerizată și pentru a îmbunătăți capacitatea de producție.
Paralelismul are ca rezultat suprapunerea activităților CPU și I / O într-un singur proces cu activitățile CPU și I / O ale unui alt proces. În timp ce, atunci când este implementată concurența, viteza este mărită prin suprapunerea activităților de I / O ale unui proces cu procesul procesorului unui alt proces.
Diferențe cheie între concurent și paralelism
- Concurrency este actul de a rula și de a gestiona mai multe sarcini în același timp. Pe de altă parte, paralelismul este actul de a executa diferite sarcini simultan.
- Paralelismul este obținut prin utilizarea mai multor procesoare, cum ar fi un sistem multiprocesor și care utilizează diferite procese pe aceste unități de procesare sau procesoare. În schimb, concurrency este obținut prin intercalarea funcționării proceselor pe CPU și în special prin comutarea în context.
- Concurrency poate fi implementat prin utilizarea unității de procesare unică, în timp ce acest lucru nu poate fi posibil în cazul paralelismului, necesită mai multe unități de procesare.
Concluzie
În concluzie, concurența și paralelismul nu sunt exact similare și pot fi distinse. Concurrency ar putea implica diferite sarcini care rulează și care au timp de suprapunere . Pe de altă parte, paralelismul implică sarcini diferite care rulează simultan și tind să aibă același timp de începere și de terminare .