Multiprocessadors ( MP )
| Crèdits: |
Departament: |
Tipus: |
Requisits: |
| 7.5 |
AC |
Optativa per l'EI
Optativa per l'ETIS
|
|
AC
- Pre-requisit per l' EI , ETIS
|
|
|
Professors
| Responsable: | Jesus Labarta Mancho (jesus ac.upc.edu). |
| Altres: | (Informació no introduïda) |
Objectius Generals
Conocimiento de conceptos basicos sobre multiprocesadores: terminologia, estrctura, sus problematicas principales y soluciones mas frecuentes.
El objetivo es conocer los tipos de sistemas actualmente en uso para saber como usarlos adecuadamente.
Desarrollar una actitud critica en el analisis del fucionamiento real de estos sistemas que permita mejar el rendimiento que de ellos se obtiene.
Objectius Específics
Coneixements
- Paralelismo y estrcuturas de sistemas multiprocesadores
- Modelos de programacion: memoria compartida(OpenMP) y paso de mensajes (MPI)
- Coherencia y consistencia: Sistemas basados en bus y en directorio
- Sincronizacion e implementacion de los modelos de programacion
- Redes de interconexion
- Sistemas Operativos para multiprocesadores: Planificacion.
- Ejemplos de algunos sistemas reales.
Habilitats
- Escribir programas paralelos sencillos tanto en OpenMP como MPI o conjunto.
- Analizar el rendimiento de los mismos y justificar/explicar los efectos observados.
- Identificar a priori potenciales limitaciones (cuellos de botella) de un sistema y estimar la importancia de los mismos para un determinado uso de la maquina.
Competències
- Honestidad consigo mismos: tener claro lo que se sabe con certeza y lo que es especulacion o hipotesis todavia no demostradas. Saber sacar el mayor partido posible de un conocimiento que siempre sera parcial.
- Capacidad de especular con posibles causas de un comportamiento observado. Diseñar experimentos o hacer mediciones que puedan apoyar o desmentir las hipotesis.
- Trabajo en grupo pequeño
Continguts
Hores estimades de:
| T |
P |
L |
Alt |
L Ext. |
Est |
A Ext. |
| Teoria |
Problemes |
Laboratori |
Altres activitats |
Laboratori extern |
Estudi |
Altres hores fora d'horari fixat |
|
1. Paralelismo y multiprocesadores
|
| T |
P |
L |
Alt |
L Ext |
Est |
A Ext |
Total |
| 2,0 |
2,0 |
0 |
0 |
0 |
2,0 |
0 |
6,0 |
|
Paralelismo: Concepto, sobrecarga feneracion de trabajo, sincronizacion, balanceo, ley de amdahl.
Multiprocesadores: Estructuras basicas, top500.
Modelos de programacion: estructuras del espacio de direcciones y que implican en cuanto a la forma de paralelizar un codigo.
|
|
2. OpenMP
|
| T |
P |
L |
Alt |
L Ext |
Est |
A Ext |
Total |
| 4,0 |
4,0 |
0 |
0 |
0 |
4,0 |
0 |
12,0 |
|
Descripcion del lenguaje
Ejemplo del efecto de cada directiva en la actividad de cada thread.
Implementacion: Compilador y run time
|
|
3. MPI
|
| T |
P |
L |
Alt |
L Ext |
Est |
A Ext |
Total |
| 4,0 |
4,0 |
0 |
0 |
0 |
4,0 |
0 |
12,0 |
|
Descripcion de las primitivas: Punto a punto y colectivas
Ejemplo del efecto del las primitivas en la actividad de cada proceso
Implementacion del run time
|
|
4. Coherencia y consistencia en multiprocesadores de memoria compartida
|
| T |
P |
L |
Alt |
L Ext |
Est |
A Ext |
Total |
| 6,0 |
6,0 |
0 |
0 |
0 |
6,0 |
0 |
18,0 |
|
Problematica: el concepto de tiempo
Soluciones basicas para garantizar coherencia en sistemas basados en bus y sistemas basados en directorio
Soluciones avanzadas: buffering de las peticiones, caches multinivel, buses de ciclo partido.
|
|
5. Sincronizacion
|
| T |
P |
L |
Alt |
L Ext |
Est |
A Ext |
Total |
| 2,0 |
2,0 |
0 |
0 |
0 |
2,0 |
0 |
6,0 |
|
|
Algoritmos de sincronizacion (exclusion mutual, punto a punto y barreras) y su inteeraccion con el mecanismo de coherencia.
|
|
6. Redes de interconexion
|
| T |
P |
L |
Alt |
L Ext |
Est |
A Ext |
Total |
| 4,0 |
4,0 |
0 |
0 |
0 |
4,0 |
0 |
12,0 |
|
Componentes
Topologias
Algoritmos de encaminamiento
Estrategias de conmutacion
Control de flujo
Interfaz de red
|
|
7. Sistemas Operativos para multiprocesadores
|
| T |
P |
L |
Alt |
L Ext |
Est |
A Ext |
Total |
| 2,0 |
2,0 |
0 |
0 |
0 |
2,0 |
0 |
6,0 |
|
maleabilidad
Politicas de planificacion de trabajos a plazo largo
Politicas de planificacion de procesadores a corto/medio plazo
Coordinacion entre niveles
gestion de memoria: colocacion de páginas
|
|
8. Algunos sistemas reales
|
| T |
P |
L |
Alt |
L Ext |
Est |
A Ext |
Total |
| 4,0 |
0 |
0 |
0 |
8,0 |
0 |
0 |
12,0 |
|
Selección de un par de multiprocesadores actuales y descripcion de su estructura y funcionamiento en relacion con los conceptos descritos durante el curso
- Activitats de laboratori addicionals:
Seleccion de otro multiprocesador no descrito en clase y realizacion de un trabajo describiendo sus opciones de diseño relacionandolas con las estructuras vistas en clase.
|
|
9. Analisis del rendimiento
|
| T |
P |
L |
Alt |
L Ext |
Est |
A Ext |
Total |
| 0 |
0 |
6,0 |
0 |
0 |
6,0 |
0 |
12,0 |
|
- Laboratori:
Visualización y analisis con Paraver: Navegación, ficheros de configuracion (metricas: estado, funciones de usuario y run time, derivadas de contadores hardware,...)
Aplicacion a programa secuencial, OpenMP y MPI.
Obtencion de trazas.
|
|
10. Paralelizacion con OpenMP
|
| T |
P |
L |
Alt |
L Ext |
Est |
A Ext |
Total |
| 0 |
0 |
6,0 |
0 |
0 |
6,0 |
0 |
12,0 |
|
- Laboratori:
Paralelización de un fuente secuencial dado con OpenMP.
Optimizacion del rendimiento
Ajuste de los resultados mediante la ley de Amdahl.
|
|
11. Paralelizacion con MPI
|
| T |
P |
L |
Alt |
L Ext |
Est |
A Ext |
Total |
| 0 |
0 |
6,0 |
0 |
0 |
6,0 |
0 |
12,0 |
|
- Laboratori:
Paralelización de un fuente secuencial dado con MPI.
Optimizacion del rendimiento.
Ajuste de los resultados mediante la ley de Amdahl.
|
|
12. Programacion de primitivas basicas de comunicacion/sincronizacion
|
| T |
P |
L |
Alt |
L Ext |
Est |
A Ext |
Total |
| 0 |
0 |
6,0 |
0 |
6,0 |
0 |
0 |
12,0 |
|
|
13. Conceptos avanzados
|
| T |
P |
L |
Alt |
L Ext |
Est |
A Ext |
Total |
| 6,0 |
4,0 |
0 |
0 |
0 |
6,0 |
0 |
16,0 |
|
|
Descripcion 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 per tipus |
T |
P |
L |
Alt |
L Ext |
Est |
A Ext |
Total |
| 34,0 |
28,0 |
24,0 |
0 |
14,0 |
48,0 |
0 |
148,0 |
- Hores addicionals dedicades a l'avaluació:
|
4,0 |
- Total hores de treball per l'estudiant |
152,0 |
|
Metodologia docent
(Informació no introduïda)
Mètode d'avaluació
Se realizará un examen de la asignatura, con una parte de 1 hora sin apuntes y el resto con apuntes. Se puntua de 0 a 10.
Para las tres prácticas obligatorias es necesario entregar una pequeña memoria. A partir de ella y el 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 + Practicas/2)
- En caso contrario (si no se han entregado las tres, o se tiene un 0 de las tres):
Final = Examen / 2
Bibliografía bàsica
- D.E. Culler & J.P.Singh w/ A.Gupta Parallel Computer Architecture: A hardware software approach, Morgan Kauffmann, 1999.
Bibliografía complementària
(Informació no introduïda)
Enllaços web
-
http://www.openmp.org
Pagina de OpenMP y Manuales
-
http://www-unix.mcs.anl.gov/mpi/
Pagina de MPI y manuales
-
http://www.netlib.org/utk/papers/mpi-book/mpi-book.html
Referencia MPI
-
http://people.ac.upc.edu/jesus/multiprocesadores
Transparencias de clase
Capacitats prèvies
(Informació no introduïda)
|