Diseño de Algoritmos Paralelos
1. Definición
2. Importancia
3. Características
4. Tipo
5. Procesos
El diseño de algoritmos paralelos es esencial para aprovechar al máximo el poder de los sistemas de múltiples procesadores. Los algoritmos paralelos pueden reducir significativamente el tiempo de ejecución de los programas y permitir la resolución de problemas complejos de manera más eficiente.
Gabriel almonte Sanchez 22-1027
2. DISEÑO DE ALGORITMOS PARALELOS
• En la actualidad, el diseño de algoritmos paralelos es cada vez más
importante debido a la creciente demanda de procesamiento de datos
y la necesidad de reducir el tiempo de ejecución de aplicaciones. Los
algoritmos paralelos son aquellos que se pueden dividir en múltiples
tareas que se ejecutan simultáneamente en diferentes procesadores,
lo que permite una mayor eficiencia en el procesamiento de datos y
una reducción en el tiempo de ejecución.
3. IMPORTANCIA DE LOS ALGORITMOS
PARALELOS
• Los algoritmos paralelos son importantes porque permiten aprovechar el
poder de los sistemas de múltiples procesadores para resolver problemas
complejos de manera más eficiente. Los sistemas de múltiples
procesadores son cada vez más comunes en la actualidad, y los algoritmos
paralelos son esenciales para aprovechar al máximo su potencial.
• Además, los algoritmos paralelos pueden reducir significativamente el
tiempo de ejecución de los programas, lo que es especialmente importante
en aplicaciones que requieren un procesamiento intensivo, como el análisis
de datos, la simulación y la modelización.
4. CARACTERÍSTICAS DE LOS ALGORITMOS
PARALELOS
Los algoritmos paralelos tienen varias características
distintivas, entre ellas:
1. División de Tareas: los algoritmos paralelos dividen una tarea en
sub-tareas que pueden ser procesadas simultáneamente en
diferentes procesadores.
2. Comunicación: los procesadores que ejecutan diferentes sub-tareas
deben comunicarse entre sí para compartir datos y sincronizar la
ejecución.
3. Sincronización: la ejecución de diferentes sub-tareas debe ser
coordinada para evitar conflictos de acceso a los datos compartidos.
4. Escalabilidad: los algoritmos paralelos deben poder escalar en
sistemas con un gran número de procesadores.
5. TIPOS DE ALGORITMOS PARALELOS
Algoritmos de
Descomposición
de Dominio
Algoritmos de
Descomposición
de Datos
Algoritmos de
Reducción
Algoritmos de
Búsqueda
7. PROCESO DE DISEÑO DE ALGORITMOS
PARALELOS
DIVISIÓN DE
TAREAS
Se divide en sub-tareas que
pueden ser ejecutadas de
forma independiente. Esta
división debe ser tal que
cada sub-tarea sea lo
suficientemente grande para
ser ejecutada de manera
eficiente en un procesador.
ASIGNACIÓN DE
TAREAS
Se asignan las sub-tareas a los
diferentes procesadores de
manera que cada procesador
tenga una carga de trabajo
similar y no haya procesadores
inactivos.
COMUNICACIÓN Y
SINCRONIZACIÓN
Se establecen las
comunicaciones entre los
procesadores para que
puedan compartir
información y coordinar
sus tareas.
Optimización
Se busca mejorar el
rendimiento del algoritmo
paralelo mediante la
utilización de técnicas de
optimización, como la
reducción de la comunicación
entre los procesadores
8. TÉCNICAS COMUNES
EN EL DISEÑO DE
ALGORITMOS
PARALELOS
Paralelismo de Datos
Paralelismo de Tareas
Paralelismo de Bucle
Paralelismo de Bucle
9. TÉCNICAS COMUNES EN EL DISEÑO DE
ALGORITMOS PARALELOS
PARALELISMO DE
DATOS
Esta técnica implica la división de
los datos en varias partes y la
asignación de cada parte a un
procesador diferente. Cada
procesador procesa su parte de
datos de forma independiente y
los resultados se combinan al
final.
PARALELISMO DE
TAREAS
Esta técnica implica la división de
la tarea en sub-tareas que se
ejecutan simultáneamente en
diferentes procesadores. Cada
procesador realiza una parte de la
tarea y los resultados se combinan
al final.
PARALELISMO DE
MEMORIA COMPARTIDA
Esta técnica implica la utilización
de memoria compartida entre los
procesadores. Los procesadores
pueden acceder a la misma
memoria compartida y compartir
datos entre sí.