Saltar al contingut Menu
Mapa
  • Inicio
  • Información
  • Contacto
  • Mapa

Multiprocesadores (MP)

Créditos Dept. Tipo Requisitos
7.5 (6.0 ECTS) AC
  • Optativa para la EI
  • Optativa para la ETIS
AC - Prerequisito para la EI , ETIS

Profesores

Responsable:  (-)
Otros:(-)

Objectivos Generales

Conocimiento de conceptos básicos sobre multiprocesadores: terminología, estructura, sus problemáticas principales y soluciones más frecuentes. El objetivo es conocer los tipos de sistemas que se utilizan actualmente para saber cómo usarlos adecuadamente. Desarrollar una actitud crítica en el análisis del funcionamiento real de estos sistemas que permita mejorar el rendimiento que de ellos se obtiene.

Objectivos Específicos

Conocimientos

  1. Paralelismo y estructuras de sistemas multiprocesadores.
  2. Modelos de programación: memoria compartida (OpenMP) y paso de mensajes (MPI)
  3. Coherencia y consistencia: Sistemas basados en bus y en directorio.
  4. Sincronización e implementación de los modelos de programación.
  5. Redes de interconexión.
  6. Sistemas Operativos para multiprocesadores: Planificación.
  7. Ejemplos de algunos sistemas reales.

Habilidades

  1. Escribir programas paralelos sencillos tanto en OpenMP como MPI o conjunto.
  2. Analizar el rendimiento de los mismos y justificar/explicar los efectos observados.
  3. Identificar a priori potenciales limitaciones (cuellos de botella) de un sistema y estimar la importancia de los mismos para un determinado uso de la máquina.

Competencias

  1. Honestidad consigo mismo: tener claro lo que se sabe con certeza y lo que es especulación o hipótesis todavía no demostradas. Saber sacar el mayor partido posible de un conocimiento que siempre será parcial.
  2. Capacidad para especular con posibles causas de un comportamiento observado. Diseñar experimentos o hacer mediciones que puedan apoyar o desmentir las hipótesis.
  3. Trabajo en grupos pequeños.

Contenidos

Horas estimadas de:

T P L Alt L Ext. Est O. Ext.
Teoria Problemas Laboratorio Otras actividades Laboratorio externo Estudio Otras horas fuera del horario fijado

1. Paralelismo y multiprocesadores
T      P      L      Alt    L Ext. Est    O. Ext. Total 
2,0 2,0 0 0 0 2,0 0 6,0
Paralelismo: Concepto, sobrecarga generación de trabajo, sincronización, balanceo, ley de amdahl.

Multiprocesadores: Estructuras básicas, top500.

Modelos de programación: estructuras del espacio de direcciones y qué implican en cuanto a la forma de paralelizar un código.

2. OpenMP
T      P      L      Alt    L Ext. Est    O. Ext. Total 
4,0 4,0 0 0 0 4,0 0 12,0
Descripción del lenguaje.

Ejemplo del efecto de cada directiva en la actividad de cada thread.

Implementación: Compilador y run time.

3. MPI
T      P      L      Alt    L Ext. Est    O. Ext. Total 
4,0 4,0 0 0 0 4,0 0 12,0
Descripción de las primitivas: Punto a punto y colectivas.

Ejemplo del efecto del las primitivas en la actividad de cada proceso.

Implementación del run time.

4. Coherencia y consistencia en multiprocesadores de memoria compartida
T      P      L      Alt    L Ext. Est    O. Ext. Total 
6,0 6,0 0 0 0 6,0 0 18,0
Problemática: el concepto de tiempo.

Solucionas básicas para garantizar coherencia en sistemas basados en bus y sistemas basados en directorio.

Solucionas avanzadas: buffering de las peticiones, cachés multinivel, buses de ciclo partido.

5. Sincronización
T      P      L      Alt    L Ext. Est    O. Ext. Total 
2,0 2,0 0 0 0 2,0 0 6,0
Algoritmos de sincronización (exclusión mutua, punto a punto y barreras) y su interacción con el mecanismo de coherencia.

6. Redes de interconexión
T      P      L      Alt    L Ext. Est    O. Ext. Total 
4,0 4,0 0 0 0 4,0 0 12,0
Componentes.

Topologías.

Algoritmos de encaminamiento.

Estrategias de conmutación.

Control de flujo.

Interfaz de red.

7. Sistemas Operativos para multiprocesadores
T      P      L      Alt    L Ext. Est    O. Ext. Total 
2,0 2,0 0 0 0 2,0 0 6,0
Maleabilidad.

Políticas de planificación de trabajos a largo plazo.

Políticas de planificación de procesadores a corto/medio plazo.

Coordinación entre niveles.

Gestión de memoria: colocación de páginas.

8. Algunos sistemas reales
T      P      L      Alt    L Ext. Est    O. Ext. Total 
4,0 0 0 0 8,0 0 0 12,0
Selección de un par de multiprocesadores actuales y descripción de su estructura y funcionamiento en relación con los conceptos descritos durante el curso.





  • Actividades de laboratorio adicionales:
    Selección de otro multiprocesador no descrito en clase y realización de un trabajo describiendo sus opciones de diseño relacionándolas con las estructuras vistas en clase.

9. Análisis del rendimiento
T      P      L      Alt    L Ext. Est    O. Ext. Total 
0 0 6,0 0 0 6,0 0 12,0

  • Laboratorio:
    Visualización y análisis con Paraver: Navegación, ficheros de configuración (métricas: estado, funcionas de usuario y run time, derivadas de contadores hardware,...)
    Aplicación a programa secuencial, OpenMP y MPI.
    Obtención de trazas.

10. Paralelización con OpenMP
T      P      L      Alt    L Ext. Est    O. Ext. Total 
0 0 6,0 0 0 6,0 0 12,0

  • Laboratorio:
    Paralelización de una fuente secuencial dada con OpenMP.
    Optimización del rendimiento.
    Ajuste de los resultados mediante la ley de Amdahl.

11. Paralelización con MPI
T      P      L      Alt    L Ext. Est    O. Ext. Total 
0 0 6,0 0 0 6,0 0 12,0

  • Laboratorio:
    Paralelización de una fuente secuencial dada con MPI.

    Optimización del rendimiento.

    Ajuste de los resultados mediante la ley de Amdahl.

12. Programación de primitivas básicas de comunicación/sincronización
T      P      L      Alt    L Ext. Est    O. Ext. Total 
0 0 6,0 0 6,0 0 0 12,0

13. Conceptos avanzados
T      P      L      Alt    L Ext. Est    O. Ext. Total 
6,0 4,0 0 0 0 6,0 0 16,0
Descripción de aspectos avanzados en todos los temas anteriores: Paralelismo multinivel en OpenMP, Comunicaciones One-sided en MPI, MPI+OpenMP, Sistemas de consistencia relajada, SDSM.


Total por tipo T      P      L      Alt    L Ext. Est    O. Ext. Total 
34,0 28,0 24,0 0 14,0 48,0 0 148,0
Horas adicionales dedicadas a la evaluación 4,0
Total horas de trabajo para el estudiante 152,0

Metodología docente

(-)

Método de evaluación

Se realizará un examen de la asignatura, con una parte de 1 hora sin apuntes y el resto con apuntes. Se puntúa de 0 a 10.

Para las tres prácticas obligatorias es necesario entregar una pequeña memoria. A partir de ella y del seguimiento en clase de laboratorio se valorará cada practica entre 0 y 3 (entero). La nota de Prácticas es la nota promedio de las tres.



La nota final se obtiene de la siguiente manera:



- Si se han entregado las tres prácticas y el promedio de las tres es superior a 0, entonces



Final = min(10, Examen + Prácticas/2)



- Caso contrario (si no se han entregado las tres, o se tiene un 0 de las tres):



Final = Examen / 2.

Bibliografía básica

  • David E. Culler, Jaswinder Pal Singh Parallel computer architecture : a hardware/software approach, Morgan Kaufmann Publishers, 1999.

Bibliografía complementaria

(Información no introducida)

Enlaces web

  1. http://www.openmp.org


  2. http://www-unix.mcs.anl.gov/mpi/


  3. http://www.netlib.org/utk/papers/mpi-book/mpi-book.html


  4. http://people.ac.upc.es/jesus/multiprocesadores


Capacidades previas

(-)


Compartir

 
logo FIB © Facultad de Informática de Barcelona - Contacto - RSS
Esta web utiliza cookies propias para ofrecerle una mejor experiencia y servicio. Si continúa la navegación, entendemos que acepta nuestra política de cookies. Versión clássica Versión móvil