Qué son los Algoritmos
Paralelos?
• Los tipos de algoritmos que conocemos hasta ahora se
denominan secuenciales, es decir, siguen un orden específico
de pasos para completar el algoritmo. A diferencia de los
secuenciales, los algoritmos paralelos consisten en dividir una
tarea en partes más pequeñas que pueden ser procesadas
simultáneamente por múltiples procesadores. Uno de los
beneficios más impactantes de estos tipos de algoritmos es la
habilidad de procesar de grandes cantidades de datos al
mismo tiempo.
Beneficios de los
Algoritmos Paralelos
• Rendimiento mejorado: la computación paralela puede mejorar
significativamente la velocidad y la eficiencia de ciertas tareas al dividirlas
en partes más pequeñas que pueden ser procesadas simultáneamente por
múltiples procesadores o núcleos.
•
• Escalabilidad: los sistemas de cómputo paralelo se pueden escalar
fácilmente agregando más procesadores o núcleos, lo que les permite
manejar tareas más grandes y complejas.
•
• Tiempo de procesamiento reducido: al procesar datos en paralelo, los
sistemas informáticos paralelos pueden reducir en gran medida la cantidad
de tiempo que lleva completar una tarea.
•
• Rentable: la computación paralela puede ser más rentable que los métodos
Contras de los Algoritmos
Paralelos
• Mayor complejidad: los algoritmos paralelos son más
complejos comparado a los algoritmos secuenciales,
lo que requiere una cuidadosa atención a los
problemas y errores en el código.
• Paralelismo limitado: algunos problemas pueden no
ser adecuados para la aplicación de algoritmos
paralelos.
• Dificultad en la depuración: los algoritmos paralelos
Proceso de Diseño
• Podemos separar el proceso de diseño de un algoritmo paralelo en los
siguientes pasos:
1. Análisis del problema: el primer paso para diseñar un algoritmo paralelo
es analizar el problema a resolver y determinar si se puede beneficiar
de la computación paralela.
2. Diseño de algoritmos: cuando hemos determinado que podemos utilizar
un algoritmo paralelo para resolver el problema, el siguiente paso es
diseñar el algoritmo. Esto implica dividir el problema en tareas más
pequeñas para resolver cada tarea al mismo tiempo.
3. Implementación: luego implementamos el algoritmo paralelo utilizando
las herramientas y bibliotecas apropiadas. Tenemos que asegurar que la
comunicación entre procesos esté funcionando correctamente para
Tipos de Algoritmos
Paralelos
• Algunos tipos de algoritmos paralelos son:
• Paralelismo de Memoria Compartida:
• Paralelismo de Memoria Distribuida
•Paralelismo de Memoria
Compartida:
• En el paralelismo de memoria compartida, varios procesadores
comparten el acceso a un solo espacio de memoria, lo que les
permite acceder y manipular los mismos datos. Este se usa
normalmente en sistemas con múltiples procesadores que
comparten memoria física, como procesadores multinúcleo o
sistemas de multiprocesamiento simétrico (SMP). Este tipo de
algoritmos paralelos se puede alcanzar a través de varios
modelos de programación, como subprocesos o procesos.
•Paralelismo de Memoria
Distribuida:
• En el paralelismo de memoria distribuida, varios procesadores
tienen sus propios espacios de memoria individuales y se
comunican entre sí a través de una red. Este se usa en
sistemas de computación de alto rendimiento (HPC), como
clústeres o cuadrículas de computadoras, donde los nodos
individuales tienen sus propios procesadores y memoria. El
paralelismo de memoria distribuida se puede alcanzar a través
de varios modelos de programación, como el paso de mensajes
o las llamadas a procedimientos remotos.