
I processi di esecuzione paralleli devono essere concomitanti, a meno che non vengano gestiti nello stesso istante, ma i processi in esecuzione simultanea non potrebbero mai essere paralleli perché questi non vengono elaborati nello stesso istante.
Grafico comparativo
Base per il confronto | Concorrenza | Parallelismo |
---|---|---|
Di base | È l'atto di gestire e eseguire più calcoli allo stesso tempo. | È l'atto di eseguire più calcoli simultaneamente. |
Raggiunto | Operazione di interleaving | Utilizzando più CPU |
Benefici | Aumento della quantità di lavoro svolto alla volta. | Miglioramento del throughput, accelerazione computazionale |
Utilizzare | Cambio di contesto | CPU multiple per il funzionamento di più processi. |
Unità di elaborazione richieste | Probabilmente single | multiplo |
Esempio | Esecuzione di più applicazioni contemporaneamente. | Esecuzione di web crawler su un cluster. |
Definizione di concorrenza
La concorrenza è una tecnica utilizzata per ridurre il tempo di risposta del sistema utilizzando una singola unità di elaborazione o elaborazione sequenziale . Un'attività è divisa in più parti e la sua parte viene elaborata contemporaneamente ma non nello stesso istante. Produce l'illusione del parallelismo, ma in realtà i blocchi di un compito non sono elaborati parallelamente. La concorrenza si ottiene interlacciando l' operazione dei processi sulla CPU, in altre parole tramite la commutazione di contesto, in cui il controllo viene rapidamente scambiato tra diversi thread di processi e la commutazione è irriconoscibile. Questa è la ragione per cui sembra elaborazione parallela.
La concorrenza conferisce l' accesso multipartitico alle risorse condivise e richiede una qualche forma di comunicazione. Funziona su un thread quando sta facendo progressi utili, interrompe il thread e passa a thread diversi a meno che non stia facendo progressi utili.
Definizione di parallelismo
Il parallelismo è concepito allo scopo di aumentare la velocità di calcolo utilizzando più processori. È una tecnica di esecuzione simultanea dei diversi compiti nello stesso istante. Coinvolge diverse unità di elaborazione informatica o dispositivi informatici indipendenti che svolgono attività parallele operative e di esecuzione al fine di aumentare l'accelerazione computazionale e migliorare il throughput.
Il parallelismo si traduce in una sovrapposizione di attività CPU e I / O in un unico processo con le attività CPU e I / O di un altro processo. Mentre quando la concorrenza viene implementata, la velocità viene aumentata sovrapponendo le attività di I / O di un processo con il processo CPU di un altro processo.
Differenze chiave tra concorrenza e parallelismo
- La concorrenza è l'atto di eseguire e gestire più attività contemporaneamente. D'altra parte, il parallelismo è l'atto di eseguire diversi compiti contemporaneamente.
- Il parallelismo si ottiene utilizzando più CPU, come un sistema multiprocessore e gestendo processi diversi su queste unità di elaborazione o CPU. Al contrario, la concorrenza viene ottenuta mediante l'operazione di interleaving dei processi sulla CPU e in particolare il cambio di contesto.
- La concorrenza può essere implementata utilizzando un'unica unità di elaborazione, mentre ciò non può essere possibile in caso di parallelismo, richiede più unità di elaborazione.
Conclusione
In sintesi, la concorrenza e il parallelismo non sono esattamente simili e possono essere distinti. La concorrenza potrebbe coinvolgere i diversi compiti in esecuzione e con tempi di sovrapposizione . D'altro canto, il parallelismo comporta diverse attività che si svolgono contemporaneamente e tendono ad avere lo stesso orario di inizio e fine .