Os processos de execução paralelos devem ser simultâneos, a menos que sejam operados no mesmo instante, mas a execução simultânea de processos nunca poderia ser paralela, porque eles não são processados no mesmo instante.
Gráfico de comparação
Base para comparação | Concorrência | Paralelismo |
---|---|---|
Basic | É o ato de gerenciar e executar vários cálculos ao mesmo tempo. | É o ato de executar vários cálculos simultaneamente. |
Alcançado através de | Operação de intercalação | Usando várias CPUs |
Benefícios | Maior quantidade de trabalho realizado de cada vez. | Taxa de transferência aprimorada, aceleração computacional |
Fazer uso de | Comutação de Contexto | CPUs múltiplas para operar múltiplos processos. |
Unidades de processamento necessárias | Provavelmente único | Múltiplo |
Exemplo | Executando vários aplicativos ao mesmo tempo. | Executando o rastreador da Web em um cluster. |
Definição de Concorrência
Concorrência é uma técnica utilizada para diminuir o tempo de resposta do sistema usando uma única unidade de processamento ou processamento sequencial . Uma tarefa é dividida em várias partes e sua parte é processada simultaneamente, mas não no mesmo instante. Ela produz a ilusão de paralelismo, mas, na realidade, os pedaços de uma tarefa não são processados paralelamente. A simultaneidade é obtida pela operação de intercalação de processos na CPU, em outras palavras, por meio da alternância de contexto, em que o controle é rapidamente alternado entre diferentes threads de processos e a comutação é irreconhecível. Essa é a razão pela qual parece um processamento paralelo.
A simultaneidade concede acesso multipartidário aos recursos compartilhados e requer alguma forma de comunicação. Ele funciona em um thread quando está fazendo algum progresso útil, em seguida, ele interrompe o thread e alterna para thread diferente, a menos que esteja fazendo algum progresso útil.
Definição de paralelismo
Paralelismo é concebido com o propósito de aumentar a velocidade computacional usando múltiplos processadores. É uma técnica de executar simultaneamente as diferentes tarefas no mesmo instante. Envolve várias unidades independentes de processamento de computação ou dispositivos de computação que operam e executam tarefas paralelamente para aumentar a velocidade de processamento e melhorar o rendimento.
O paralelismo resulta na sobreposição de atividades de CPU e E / S em um processo com as atividades de CPU e E / S de outro processo. Considerando que, quando a simultaneidade é implementada, a velocidade é aumentada pela sobreposição de atividades de E / S de um processo com processo de CPU de outro processo.
Principais diferenças entre simultaneidade e paralelismo
- Concorrência é o ato de executar e gerenciar várias tarefas ao mesmo tempo. Por outro lado, o paralelismo é o ato de executar várias tarefas simultaneamente.
- O paralelismo é obtido usando várias CPUs, como um sistema multiprocessador e operando processos diferentes nessas unidades de processamento ou CPUs. Em contraste, a simultaneidade é obtida pela operação de intercalação de processos na CPU e, particularmente, na comutação de contexto.
- A concorrência pode ser implementada usando uma única unidade de processamento, embora isso não seja possível em caso de paralelismo, requer várias unidades de processamento.
Conclusão
Em resumo, a simultaneidade e o paralelismo não são exatamente semelhantes e podem ser distinguidos. A simultaneidade pode envolver as diferentes tarefas em execução e ter tempo de sobreposição . Por outro lado, o paralelismo envolve diferentes tarefas em execução simultaneamente e tendem a ter o mesmo tempo inicial e final .