Paralelismo VS Concurrencia




Paralelismo

Sigue la filosofía de “divide y vencerás”, ya que consiste en tomar un único problema, y mediante concurrencia llegar a una solución más rápido. 
El paralelismo no debe confundirse con la concurrencia, aunque es común que eso suceda.
Se preocupa de analizar como superponer operaciones con el objeto de mejorar el rendimiento al realizar una tarea concreta.
Lo que hace es tomar el problema inicial, dividir el problema en fracciones más pequeñas, y luego cada fracción es procesada de forma concurrente, aprovechando al máximo la capacidad del procesador para resolver el problema. 
Ejemplo:
     Normalmente un programa lanza un conjunto de subtareas que se ejecutan en paralelo para realizar un trabajo determinado, mientras la tarea principal no continua hasta que todas las subtareas han terminado.


Concurrencia


Definición:

             Dos o más procesos decimos que son concurrentes, paralelos, o que se ejecutan concurrentemente, cuando son procesados al mismo tiempo, es decir, que para ejecutar uno de ellos, no hace falta que se haya ejecutado otro.

La característica que mas la define  es la capacidad del CPU para procesar más de un proceso al mismo tiempo.
La concurrencia es necesaria para utilizar el paralelismo.
En si lo que hace la concurrencia es que ejecuta varios procesos al mismo tiempo según la cantidad de núcleos que contenga el CPU, ya que si solo tiene uno sol podrá ejecutar un solo proceso, en cambio con cuatro el procesador podrá ejecutar 4 procesos al mismo tiempo si afectarse entre si.
Ejemplo:
      Un ejemplo claro de concurrencia seria: imagina una aplicación de descarga de música, en la cual puedes descargar el numero de canciones que deseas al mismo tiempo, cada canción es independiente de la otra, por lo que la velocidad y el tiempo que tarde en descargarse cada una no afectara al resto de canciones. 


Referncias:

Comentarios

Entradas populares de este blog

Historia de la computación

RISC