multiprocesamiento en lenguaje c -...
TRANSCRIPT
![Page 1: Multiprocesamiento en Lenguaje C - UNAMlcomp89.fi-b.unam.mx/licad/assets/MultiprocesamientoProfesores/... · Puede ser necesario Función el programador, con Rutina Ciclo Sentencia](https://reader031.vdocuments.co/reader031/viewer/2022011907/5f4af5151ed97844592ee4d5/html5/thumbnails/1.jpg)
Multiprocesamiento
en Lenguaje CIntroducción al diseño de programas paralelos
Proyecto PAPIME PE104911
Pertinencia de la enseñanza del cómputo paralelo en el currículo de las
ingenierías
![Page 2: Multiprocesamiento en Lenguaje C - UNAMlcomp89.fi-b.unam.mx/licad/assets/MultiprocesamientoProfesores/... · Puede ser necesario Función el programador, con Rutina Ciclo Sentencia](https://reader031.vdocuments.co/reader031/viewer/2022011907/5f4af5151ed97844592ee4d5/html5/thumbnails/2.jpg)
Niveles de paralelismo
• Paralelismo a nivel de tarea o trabajo
• Paralelismo a nivel de programa
• Paralelismo a nivel de instrucción
• Paralelismo a nivel de bit
Proyecto PAPIME PE104911
Laura Sandoval- Karen Sáenz - Oscar Valdez2
![Page 3: Multiprocesamiento en Lenguaje C - UNAMlcomp89.fi-b.unam.mx/licad/assets/MultiprocesamientoProfesores/... · Puede ser necesario Función el programador, con Rutina Ciclo Sentencia](https://reader031.vdocuments.co/reader031/viewer/2022011907/5f4af5151ed97844592ee4d5/html5/thumbnails/3.jpg)
Granularidad
Programa
Módulo
Mayorcomunicacióny planificación
Paralelismode
grano grueso
Paralelismode
Explotado por eldiseñador delalgoritmo o elprogramador
Puede ser necesarioel programador, conFunción
Rutina
Ciclo
SentenciaInstrucción
Mayor gradode paralelismo
degrano medio
Paralelismode
grano fino
el programador, conayuda del compilador
Explotado por elcompilador o el
hardware
Proyecto PAPIME PE104911
Laura Sandoval- Karen Sáenz - Oscar Valdez3
![Page 4: Multiprocesamiento en Lenguaje C - UNAMlcomp89.fi-b.unam.mx/licad/assets/MultiprocesamientoProfesores/... · Puede ser necesario Función el programador, con Rutina Ciclo Sentencia](https://reader031.vdocuments.co/reader031/viewer/2022011907/5f4af5151ed97844592ee4d5/html5/thumbnails/4.jpg)
• ¿A qué nivel de paralelismo se trabajará y que
tipo de grano?
Proyecto PAPIME PE104911
Laura Sandoval- Karen Sáenz - Oscar Valdez4
![Page 5: Multiprocesamiento en Lenguaje C - UNAMlcomp89.fi-b.unam.mx/licad/assets/MultiprocesamientoProfesores/... · Puede ser necesario Función el programador, con Rutina Ciclo Sentencia](https://reader031.vdocuments.co/reader031/viewer/2022011907/5f4af5151ed97844592ee4d5/html5/thumbnails/5.jpg)
¿Cuándo es conveniente paralelizar un
algoritmo, código o aplicación?
1. Aprender a programar en paralelo
2. Necesidad de una respuesta rápida
3. El problema utiliza algoritmos de cálculo intensivo, 3. El problema utiliza algoritmos de cálculo intensivo, demanda de CPU-Memoria-Disco
4. Aprovechar la arquitectura de la máquina
5. El uso de la aplicación sea frecuente, antes de cambios
Proyecto PAPIME PE104911
Laura Sandoval- Karen Sáenz - Oscar Valdez5
![Page 6: Multiprocesamiento en Lenguaje C - UNAMlcomp89.fi-b.unam.mx/licad/assets/MultiprocesamientoProfesores/... · Puede ser necesario Función el programador, con Rutina Ciclo Sentencia](https://reader031.vdocuments.co/reader031/viewer/2022011907/5f4af5151ed97844592ee4d5/html5/thumbnails/6.jpg)
Herramientas Lógicas
– Creatividad e Ingenio
– Paradigmas de programación paralela
– Metodologías de diseño
• Partición• Partición
• Comunicación
• Aglomeración
• Mapeo
Proyecto PAPIME PE104911
Laura Sandoval- Karen Sáenz - Oscar Valdez6
![Page 7: Multiprocesamiento en Lenguaje C - UNAMlcomp89.fi-b.unam.mx/licad/assets/MultiprocesamientoProfesores/... · Puede ser necesario Función el programador, con Rutina Ciclo Sentencia](https://reader031.vdocuments.co/reader031/viewer/2022011907/5f4af5151ed97844592ee4d5/html5/thumbnails/7.jpg)
Paradigmas de Programación
ParalelaTécnicas de programación paralela
• Maestro/ Esclavo (o Task-Farming)
• SPMD (Single–Program Múltiple-Data )
• Entubamiento de datos (Data Pipeling)
• Divide y conquista
• Híbridos
Proyecto PAPIME PE104911
Laura Sandoval- Karen Sáenz - Oscar Valdez7
![Page 8: Multiprocesamiento en Lenguaje C - UNAMlcomp89.fi-b.unam.mx/licad/assets/MultiprocesamientoProfesores/... · Puede ser necesario Función el programador, con Rutina Ciclo Sentencia](https://reader031.vdocuments.co/reader031/viewer/2022011907/5f4af5151ed97844592ee4d5/html5/thumbnails/8.jpg)
Proyecto PAPIME PE104911
Laura Sandoval- Karen Sáenz - Oscar Valdez8
![Page 9: Multiprocesamiento en Lenguaje C - UNAMlcomp89.fi-b.unam.mx/licad/assets/MultiprocesamientoProfesores/... · Puede ser necesario Función el programador, con Rutina Ciclo Sentencia](https://reader031.vdocuments.co/reader031/viewer/2022011907/5f4af5151ed97844592ee4d5/html5/thumbnails/9.jpg)
SPMD
Proyecto PAPIME PE104911
Laura Sandoval- Karen Sáenz - Oscar Valdez9
![Page 10: Multiprocesamiento en Lenguaje C - UNAMlcomp89.fi-b.unam.mx/licad/assets/MultiprocesamientoProfesores/... · Puede ser necesario Función el programador, con Rutina Ciclo Sentencia](https://reader031.vdocuments.co/reader031/viewer/2022011907/5f4af5151ed97844592ee4d5/html5/thumbnails/10.jpg)
Entubamiento de datos (Data Pipeling)
Proyecto PAPIME PE104911
Laura Sandoval- Karen Sáenz - Oscar Valdez10
![Page 11: Multiprocesamiento en Lenguaje C - UNAMlcomp89.fi-b.unam.mx/licad/assets/MultiprocesamientoProfesores/... · Puede ser necesario Función el programador, con Rutina Ciclo Sentencia](https://reader031.vdocuments.co/reader031/viewer/2022011907/5f4af5151ed97844592ee4d5/html5/thumbnails/11.jpg)
Divide y Conquista
Proyecto PAPIME PE104911
Laura Sandoval- Karen Sáenz - Oscar Valdez11
![Page 12: Multiprocesamiento en Lenguaje C - UNAMlcomp89.fi-b.unam.mx/licad/assets/MultiprocesamientoProfesores/... · Puede ser necesario Función el programador, con Rutina Ciclo Sentencia](https://reader031.vdocuments.co/reader031/viewer/2022011907/5f4af5151ed97844592ee4d5/html5/thumbnails/12.jpg)
Paralelismo Hibrido
• Modelo Hibrido
– Mezclar elementos de diferentes paradigmas
Proyecto PAPIME PE104911
Laura Sandoval- Karen Sáenz - Oscar Valdez12
![Page 13: Multiprocesamiento en Lenguaje C - UNAMlcomp89.fi-b.unam.mx/licad/assets/MultiprocesamientoProfesores/... · Puede ser necesario Función el programador, con Rutina Ciclo Sentencia](https://reader031.vdocuments.co/reader031/viewer/2022011907/5f4af5151ed97844592ee4d5/html5/thumbnails/13.jpg)
Paradigmas de programación
en base a la arquitectura de memoria
• Paradigmas de programación en
– Memoria Compartida
– Memoria Distribuida – Memoria Distribuida
– Combinación.
Proyecto PAPIME PE104911
Laura Sandoval- Karen Sáenz - Oscar Valdez13
![Page 14: Multiprocesamiento en Lenguaje C - UNAMlcomp89.fi-b.unam.mx/licad/assets/MultiprocesamientoProfesores/... · Puede ser necesario Función el programador, con Rutina Ciclo Sentencia](https://reader031.vdocuments.co/reader031/viewer/2022011907/5f4af5151ed97844592ee4d5/html5/thumbnails/14.jpg)
Fases del modelo de ciclo de vida y la
metodología orientada al procesamiento
paralelo sugeridas
• Fase de Análisis
• Fase de Diseño
• Fase de Implementación • Fase de Implementación
• Fase de Pruebas y Mantenimiento
Proyecto PAPIME PE104911
Laura Sandoval- Karen Sáenz - Oscar Valdez14
![Page 15: Multiprocesamiento en Lenguaje C - UNAMlcomp89.fi-b.unam.mx/licad/assets/MultiprocesamientoProfesores/... · Puede ser necesario Función el programador, con Rutina Ciclo Sentencia](https://reader031.vdocuments.co/reader031/viewer/2022011907/5f4af5151ed97844592ee4d5/html5/thumbnails/15.jpg)
Fase de DiseñoAplicar las etapas que conforman la metodología en el
diseño de programas paralelos :
– Particionamiento
– Comunicación
– Aglomeración
– Particionamiento
– Aglomeración
– Comunicación– Aglomeración
– Mapeo
– Comunicación
– Mapeo
Proyecto PAPIME PE104911
Laura Sandoval- Karen Sáenz - Oscar Valdez15
![Page 16: Multiprocesamiento en Lenguaje C - UNAMlcomp89.fi-b.unam.mx/licad/assets/MultiprocesamientoProfesores/... · Puede ser necesario Función el programador, con Rutina Ciclo Sentencia](https://reader031.vdocuments.co/reader031/viewer/2022011907/5f4af5151ed97844592ee4d5/html5/thumbnails/16.jpg)
Fase Diseño V1particionamiento comunicación
problema tareassubprocesos concomunicación
Proyecto PAPIME PE104911
Laura Sandoval- Karen Sáenz - Oscar Valdez16
![Page 17: Multiprocesamiento en Lenguaje C - UNAMlcomp89.fi-b.unam.mx/licad/assets/MultiprocesamientoProfesores/... · Puede ser necesario Función el programador, con Rutina Ciclo Sentencia](https://reader031.vdocuments.co/reader031/viewer/2022011907/5f4af5151ed97844592ee4d5/html5/thumbnails/17.jpg)
Fase Diseño V1aglomeración mapeo
subprocesos concomunicación
programasparalelos
procesadores
Paradigmas de programación paralela
Planificación de procesos
Proyecto PAPIME PE104911
Laura Sandoval- Karen Sáenz - Oscar Valdez17
![Page 18: Multiprocesamiento en Lenguaje C - UNAMlcomp89.fi-b.unam.mx/licad/assets/MultiprocesamientoProfesores/... · Puede ser necesario Función el programador, con Rutina Ciclo Sentencia](https://reader031.vdocuments.co/reader031/viewer/2022011907/5f4af5151ed97844592ee4d5/html5/thumbnails/18.jpg)
Fase Diseño V2
Proyecto PAPIME PE104911
Laura Sandoval- Karen Sáenz - Oscar Valdez18
![Page 19: Multiprocesamiento en Lenguaje C - UNAMlcomp89.fi-b.unam.mx/licad/assets/MultiprocesamientoProfesores/... · Puede ser necesario Función el programador, con Rutina Ciclo Sentencia](https://reader031.vdocuments.co/reader031/viewer/2022011907/5f4af5151ed97844592ee4d5/html5/thumbnails/19.jpg)
Particionamiento
Descomposición
Descomposición
• Dominio
• Funcional
Proyecto PAPIME PE104911
Laura Sandoval- Karen Sáenz - Oscar Valdez19
![Page 20: Multiprocesamiento en Lenguaje C - UNAMlcomp89.fi-b.unam.mx/licad/assets/MultiprocesamientoProfesores/... · Puede ser necesario Función el programador, con Rutina Ciclo Sentencia](https://reader031.vdocuments.co/reader031/viewer/2022011907/5f4af5151ed97844592ee4d5/html5/thumbnails/20.jpg)
Descomposición de Dominio
Ejemplo:
• Encontrar el elemento mayor de un arreglo
unidimensional de 1000 elementos enteros.
¿Cómo descomponer el problema?¿Cómo descomponer el problema?
Dividir el arreglo en arreglos más pequeños y
buscar el mayor en cada uno de ellos. Después
buscar el mayor entre los mayores.
Proyecto PAPIME PE104911
Laura Sandoval- Karen Sáenz - Oscar Valdez20
![Page 21: Multiprocesamiento en Lenguaje C - UNAMlcomp89.fi-b.unam.mx/licad/assets/MultiprocesamientoProfesores/... · Puede ser necesario Función el programador, con Rutina Ciclo Sentencia](https://reader031.vdocuments.co/reader031/viewer/2022011907/5f4af5151ed97844592ee4d5/html5/thumbnails/21.jpg)
Referencias
• http://www.mcs.anl.gov/~itf/dbpp/
• Designing and Building Parallel Programs ,Ian
Foster, Addison-Wesley Inc.
Proyecto PAPIME PE104911
Laura Sandoval- Karen Sáenz - Oscar Valdez21