Descargar

Patrones de programación paralela

Enviado por Pablo Turmero


Partes: 1, 2

    edu.red

    1 Objetivos Al término de esta sesión, será capaz de:

    Describir los conceptos detrás de los patrones de diseño y patrones de diseño en paralelo Dados códigos seriales o algoritmos, escoger la mejor Estructura Algorítmica en el patrón de diseño (paralelismo de tarea o descomposición geométrica) para usarse en la paralelización del código y defender su selección. Dado el código serial o algoritmos, escoger la mejor Estructura de Soporte en el patrón de diseño (SPMD, Paralelismo de ciclos o Maestro/Esclavo) para usarse en la paralelización de código y defender su selección.

    edu.red

    2 Agenda Patrón de estructura de lenguaje El patrón de paralelismo de tareas El patrón de descomposición geométrica Estructuras de Soporte Resumen

    edu.red

    3 Agenda Patrón de estructura de lenguaje El patrón de paralelismo de tareas El patrón de descomposición geométrica Estructuras de Soporte Resumen

    edu.red

    4 Patrones de Diseño y Patrones de Lenguajes Un patrón de diseño es: Una “solución de un problema en un contexto.” Una descripción estructurada de soluciones de alta calidad a problemas recurrentes Un intento de codificar experiencia tal que todos los diseñadores puedan capturar que “ la calidad sin un nombre" que distingue realmente excelentes diseños Un patrón de lenguaje es: Un catálogo estructurado de patrones de diseño que soportan actividades de diseño como “redes de patrones de diseño conectadas”

    edu.red

    5 Referencia Detalla un patrón de lenguaje para diseño de algoritmos paralelos

    Ejemplos en MPI, OpenMP y Java

    Representa la hipótesis del autor para como los programadores piensan acerca de la programación en paralelo Patterns for Parallel Programming, Timothy G. Mattson, Beverly A. Sanders, Berna L. Massingill, Addison-Wesley, 2005, ISBN 0321228111

    edu.red

    6 Patrón de Estructura del Lenguaje El diseño de software puede verse como una serie de mejoras Considera el proceso en términos de 4 espacios de diseño Progresivamente añade al diseño elementos en niveles inferiores

    edu.red

    7 Patrón de Estructura del Lenguaje Espacio de diseño Evolución del diseño (Gp:) Mensajes, sincronización, división (Gp:) Mecanismos de implementación

    (Gp:) Organización del código fuente, Datos compartidos (Gp:) Estructuras de soporte

    (Gp:) Hilo/Estructuras de proceso, planificación (Gp:) Estructura del algoritmo

    (Gp:) Tareas, datos compartidos, órdenes parciales (Gp:) Encontrando concurrencia

    edu.red

    8 Encontrando Concurrencia del Diseño del Espacio Encontrando el alcance de la paralelización: Comienza con una aplicación secuencial que resuelve el problema original Descompone la aplicación en tareas o conjuntos de datos Analiza la dependencia entre tareas antes de la descomposición

    Partes: 1, 2
    Página siguiente