Publicado el 16 de Febrero del 2017
2.170 visualizaciones desde el 16 de Febrero del 2017
2,0 MB
54 paginas
Creado hace 9a (21/08/2015)
UNIVERSIDAD DE BURGOS
Área de Tecnología Electrónica
Programación paralela e híbrida.
José María Cámara Nebreda, César Represa Pérez, Pedro Luis Sánchez Ortega
Programación Paralela e Híbrida. 2015
Área de Tecnología Electrónica
Departamento de Ingeniería Electromecánica
Universidad de Burgos
Introducción ............................................................................................................................................ 5
LA PROGRAMACIÓN EN PARALELO ..................................................................................................... 5
Práctica 1: Multiplicación de matrices en MPI. ....................................................................................... 9
OBJETIVOS ........................................................................................................................................... 9
CONCEPTOS TEÓRICOS ........................................................................................................................ 9
CUESTIONES ...................................................................................................................................... 11
DIAGRAMA DE FLUJO ........................................................................................................................ 11
Práctica 2: Medida del rendimiento ...................................................................................................... 13
OBJETIVOS ......................................................................................................................................... 13
CONCEPTOS TEÓRICOS ...................................................................................................................... 13
REALIZACIÓN PRÁCTICA .................................................................................................................... 17
CUESTIONES ...................................................................................................................................... 18
Práctica 3: Introducción a la Programación Híbrida .............................................................................. 19
OBJETIVOS ......................................................................................................................................... 19
CONCEPTOS TEÓRICOS ...................................................................................................................... 19
REALIZACIÓN PRÁCTICA .................................................................................................................... 22
CUESTIONES ...................................................................................................................................... 22
Práctica 4: Programación Híbrida .......................................................................................................... 23
OBJETIVOS ......................................................................................................................................... 23
CONCEPTOS TEÓRICOS ...................................................................................................................... 23
EJERCICIO PRÁCTICO ......................................................................................................................... 24
Práctica 5: MPI vs OpenMP ................................................................................................................... 25
OBJETIVOS ......................................................................................................................................... 25
CONCEPTOS TEÓRICOS ...................................................................................................................... 25
EJERCICIO PRÁCTICO ......................................................................................................................... 25
Práctica 6: Envío de trabajos al cluster ................................................................................................. 26
OBJETIVOS ......................................................................................................................................... 26
CONCEPTOS TEÓRICOS ...................................................................................................................... 26
EJERCICIO PRÁCTICO ......................................................................................................................... 31
Práctica 7: Planificación de trabajos ..................................................................................................... 32
OBJETIVOS ......................................................................................................................................... 32
CONCEPTOS TEÓRICOS ...................................................................................................................... 32
EJERCICIO PRÁCTICO ......................................................................................................................... 35
Práctica 8: Planificación de trabajos II ................................................................................................... 36
OBJETIVOS ......................................................................................................................................... 36
CONCEPTOS TEÓRICOS ...................................................................................................................... 36
EJERCICIO PRÁCTICO ......................................................................................................................... 36
Práctica 9: Planifiación de trabjos III ..................................................................................................... 37
OBJETIVOS ......................................................................................................................................... 37
CONCEPTOS TEÓRICOS ...................................................................................................................... 37
EJERCICIO PRÁCTICO ......................................................................................................................... 37
Práctica 10: Batalla de rendimiento. ..................................................................................................... 38
OBJETIVOS ......................................................................................................................................... 38
CONCEPTOS TEÓRICOS ...................................................................................................................... 38
EJERCICIO PRÁCTICO ......................................................................................................................... 38
Apéndice A: Instalación de DeinoMPI ................................................................................................... 39
Instalación ......................................................................................................................................... 39
Configuración .................................................................................................................................... 39
Ejecutar Aplicaciones ........................................................................................................................ 40
Entorno Gráfico ................................................................................................................................. 40
Apéndice B: Configuración de un Proyecto en Visual Studio 2010 y versiones sucesivas. ................... 44
Apéndice C: Configuración de MS-MPI. ................................................................................................ 49
MANUAL DE PRÁCTICAS
Introducción
LA PROGRAMACIÓN EN PARALELO
Práctica 8: Gestión dinámica de procesos
En este apartado introductorio vamos a contemplar las diferentes alternativas a la hora de
programar sistemas que emplean paralelismo explícito, ya que aquellos que optan por el paralelismo
implícito no requieren de una programación especializada.
Como sabemos, las máquinas que admiten este tipo de programación son las de arquitectura MIMD,
tanto multiprocesadores como multicomputadores.
Las arquitecturas multiprocesador hemos visto que emplean un espacio de memoria compartida por
los diferentes procesadores a la que se conectan a través de un bus común con el fin de intercambiar
información entre ellos para completar una labor común: el programa paralelo. El desarrollo de
algoritmos adecuados para este tipo de máquinas exige partir de una abstracción del hardware sobre
la que se puedan implementar algoritmos. A este efecto se crea un modelo teórico de máquina
multiprocesador que no tiene reflejo en ninguna arquitectura real, pero que sirve al objetivo que se
busca. Se trata de la máquina PRAM (parallel random access machine) o máquina paralela de acceso
aleatorio. Este modelo presupone la existencia de una memoria compartida por todos los
procesadores a la que pueden acceder en un tiempo unitario, es decir, el mismo tiempo de acceso
que a su memoria local en caso de que esta exista.
Procesador 1
Procesador 2
Procesador 3
Procesador n
Memoria común
Figura 1.1. Uso de memoria común.
Este supuesto es en sí mismo imposible, pero se encuentra a medio camino entre la posibilidad real
de que la memoria común sea un dispositivo independiente de la memoria local de los procesadores
y la situación también real en la que la memoria común se implementa en las memorias locales de
los procesadores.
Nuestro “cluster” tiene estructura de sistema multicomputador, independientemente de que alguno
de sus nodos pueda ser
Comentarios de: Programación Paralela e Híbrida (0)
No hay comentarios