El documento describe los pasos para diseñar algoritmos paralelos, incluyendo particionamiento, comunicación, agrupamiento y asignación. Explica que un algoritmo paralelo puede ejecutarse simultáneamente por varias unidades de procesamiento.
2. ¿QUÉ SON LOS
ALGORITMOS
PARALELOS
En las ciencias de la computación, un algoritmo
paralelo, en oposición a los algoritmos clásicos o
algoritmos secuenciales, es un algoritmo que puede
ser ejecutado por partes en el mismo instante de
tiempo por varias unidades de procesamiento, para
finalmente unir todas las partes y obtener el resultado
correcto.
3. DISEÑO DE ALGORITMOS
PARALELOS
El diseño involucra cuatro etapas las cuales se
presentan como secuenciales pero que en la práctica
no lo son.
• Particionamiento
• Comunicación
• Agrupamiento
• Asignación
4. PARTICIONAMIENTO
El cómputo y los datos sobre los cuales
se opera se descomponen en tareas.
Se ignoran aspectos como el número
de procesadores de la máquina a usar
y se concentra la atención en explotar
oportunidades de paralelismo.
5. COMUNICACIÓN
Se determina la comunicación
requerida para coordinar las tareas.
Se definen estructuras y algoritmos
de comunicación.
6. AGRUPAMIENTO
El resultado de las dos etapas
anteriores es evaluado en términos de
eficiencia y costos de implementación.
De ser necesario, se agrupan tareas
pequeñas en tareas más grandes.
7. ASIGNACIÓN
Cada tarea es asignada a un
procesador tratando de maximizar la
utilización de los procesadores y de
reducir el costo de comunicación. La
asignación puede ser estática (se
establece antes de la ejecución del
programa) o en tiempo de ejecución
mediante algoritmos de balanceo de
carga.
9. DISEÑO DE ALGORITMOS
PARALELOS
La comunicación requerida por un algoritmo puede
ser definida en dos fases.
• Primero se definen los canales que conectan las
tareas que requieren datos con las que los
poseen.
• Segundo se especifica la información o mensajes
que deben ser enviado y recibidos en estos
canales.
10. DISEÑO DE ALGORITMOS
PARALELOS
En la etapa de comunicación hay que tener
en cuenta los siguientes aspectos:
• Todas las tareas deben efectuar
aproximadamente el mismo número de
operaciones de comunicación.
• La comunicación entre tareas debe ser tan
pequeña como sea posible.
• Las operaciones de comunicación deben
poder proceder concurrentemente.
• Los cómputos de diferentes tareas deben
poder proceder concurrentemente.
11. DISEÑO DE ALGORITMOS
PARALELOS
La asignación de tareas puede ser realizada de las
siguientes maneras:
• Estática: una tarea es asignada a un procesador
desde su inicio hasta su fin.
• Dinámica: una tarea puede ser migrada durante
su ejecución. Esto puede agregar un costo
adicional.
12. R E F E R E N C I A S
• Diseño de algoritmo paralelo. - Programador clic. (2017, 23 octubre).
Programador clic. Consultado el 25 marzo 2022, de:
https://programmerclick.Com/article/3569840796/
• Mantas, J. (2016, 9 julio). Metodología de diseño de algoritmos
paralelos. PROGRAMACION PARALELA. Consultado el 25 marzo
2022, de:
https://lsi2.ugr.es/jmantas/ppr/teoria/descargas/PPR_Tema2_Paralelizar
Tareas.pdf
• Alaniz, M., Bustos, F., Gil-Costa, V., Mancini, V., Ochoa, C., & Printista,
M. (2013, 13 marzo). Diseño de Algoritmos para Plataformas Paralelas.
PARANA. Consultado el 25 marzo 2022, de:
http://sedici.unlp.edu.ar/bitstream/handle/10915/27273/Documento_co
mpleto.pdf?sequence=1&isAllowed=y
• Díaz, G. Diseño de Algoritmos Paralelos. Universisdad de Los Andes.
Consultado el 25 marzo 2022, de:
http://webdelprofesor.ula.ve/ingenieria/gilberto/paralela/08_DisenoDeAlgorit
mosParalelos.pdf