Los procesos en ejecución paralela deben ser concurrentes, a menos que se operen en el mismo instante, pero los procesos en ejecución simultánea nunca podrían ser paralelos, ya que estos no se procesan en el mismo instante.
Gráfica comparativa
Bases para la comparación | Concurrencia | Paralelismo |
---|---|---|
BASIC | Es el acto de administrar y ejecutar múltiples cálculos al mismo tiempo. | Es el acto de ejecutar múltiples cálculos simultáneamente. |
Logrado a través | Operación de entrelazado | Usando multiples CPU's |
Beneficios | Mayor cantidad de trabajo realizado a la vez. | Rendimiento mejorado, aceleración computacional |
Hacer uso de | Cambio de contexto | Múltiples CPUs para operar múltiples procesos. |
Procesamiento de unidades requeridas | Probablemente soltero | Múltiple |
Ejemplo | Ejecutando múltiples aplicaciones al mismo tiempo. | Ejecutar rastreador web en un clúster. |
Definición de concurrencia
La concurrencia es una técnica utilizada para disminuir el tiempo de respuesta del sistema utilizando una sola unidad de procesamiento o procesamiento secuencial . Una tarea se divide en varias partes y su parte se procesa simultáneamente pero no en el mismo instante. Produce la ilusión de paralelismo, pero en realidad los trozos de una tarea no se procesan en paralelo. La concurrencia se obtiene al intercalar la operación de los procesos en la CPU, es decir, a través de la conmutación de contexto, donde el control se cambia rápidamente entre diferentes hilos de procesos y la conmutación es irreconocible. Esa es la razón por la que parece un procesamiento paralelo.
La concurrencia imparte acceso multipartito a los recursos compartidos y requiere algún tipo de comunicación. Funciona en un hilo cuando está haciendo un progreso útil, luego detiene el hilo y cambia a un hilo diferente a menos que esté haciendo algún progreso útil.
Definición de paralelismo
El paralelismo se diseña con el fin de aumentar la velocidad de cálculo mediante el uso de múltiples procesadores. Es una técnica de ejecución simultánea de las diferentes tareas en el mismo instante. Se trata de varias unidades de procesamiento informático independientes o dispositivos informáticos que operan y realizan tareas paralelas para aumentar la velocidad de cómputo y mejorar el rendimiento.
El paralelismo produce la superposición de las actividades de CPU y E / S en un proceso con la CPU y las actividades de E / S de otro proceso. Mientras que cuando se implementa la concurrencia, la velocidad se incrementa al solapar las actividades de E / S de un proceso con el proceso de la CPU de otro proceso.
Diferencias clave entre concurrencia y paralelismo
- La concurrencia es el acto de ejecutar y administrar múltiples tareas al mismo tiempo. Por otro lado, el paralelismo es el acto de ejecutar varias tareas simultáneamente.
- El paralelismo se obtiene mediante el uso de varias CPU, como un sistema multiprocesador y la operación de diferentes procesos en estas unidades de procesamiento o CPU. En contraste, la concurrencia se logra intercalando la operación de los procesos en la CPU y particularmente el cambio de contexto.
- Se puede implementar la concurrencia utilizando una sola unidad de procesamiento, mientras que esto no puede ser posible en caso de paralelismo, requiere múltiples unidades de procesamiento.
Conclusión
En resumen, la concurrencia y el paralelismo no son exactamente similares y se pueden distinguir. La concurrencia podría involucrar las diferentes tareas que se ejecutan y que tienen un tiempo superpuesto . Por otro lado, el paralelismo implica diferentes tareas que se ejecutan simultáneamente y tienden a tener la misma hora de inicio y finalización .