Ruta de navegación

Contenido de XSL

Sistemas de Cómputo Paralelo26252

Centro
Facultad de Informática
Titulación
Grado en Ingeniería Informática
Curso académico
2023/24
Curso
X
Nº Créditos
6
Idiomas
Castellano
Euskera
Código
26252

DocenciaAlternar navegación

Distribución de horas por tipo de enseñanza
Tipo de docenciaHoras de docencia presencialHoras de actividad no presencial del alumno/a
Magistral4050
P. Laboratorio2040

Guía docenteAlternar navegación

Descripción y Contextualización de la AsignaturaAlternar navegación

Hemos analizado ya las principales técnicas de diseño de un computador que permiten ejecutar los programas de manera eficiente: la jerarquía de memoria, la ejecución segmentada de las instrucciones, los procesadores superescalares, el multithreading, etc. Como el rendimiento que se consigue con un único procesador es limitado, también hemos entrado en el campo de los sistemas paralelos, analizando las arquitecturas multicore, los multiprocesadores de memoria compartida y las opciones de ejecución en modo vectorial o mediante tarjetas gráficas.

En esta asignatura vamos a estudiar un segundo tipo de computadores paralelos, los sistemas de memoria distribuida, en los que se explota el paralelismo masivo utilizando miles de procesadores o núcleos para reducir el tiempo de ejecución de problemas complejos. En la primera parte analizaremos la arquitectura de estos sistemas, centrándonos en la red de comunicación, los mecanismos de comunicación basados en paso de mensajes, y el mantenimiento de la coherencia de los datos. Y en la segunda estudiaremos MPI, el API más extendido para programar aplicaciones de memoria distribuida. Trabajaremos en grupos para paralelizar una determinada aplicación, analizar el rendimiento obtenido, generar la documentación técnica correspondiente, etc.

Competencias/ Resultados de aprendizaje de la asignaturaAlternar navegación

Resultados de estudiar la asignatura:

1. Comprender el funcionamiento (problemas, soluciones...) de los sistemas paralelos de memoria distribuida.

2. Obtener/analizar el rendimiento de los sistemas de cómputo paralelo y de las aplicaciones que se ejecutan en ellos.

3. Analizar los mecanismos de interconexión de los procesadores en los sistemas paralelos.

4. Utilizar MPI para crear programas paralelos.

Además, se trabajarán otras competencias generales (ver página web del Grado en Ingeniería Informática, apartado "Plan de estudios").

Contenidos teórico-prácticosAlternar navegación

0. Arquitecturas Paralelas. Repaso de conceptos. Rendimiento.

1. Redes de comunicación y mecanismos de comunicación basados en paso de mensajes.

2. Coherencia de datos en arquitecturas ccNUMA.

3. Programación paralela: MPI.



MetodologíaAlternar navegación

La primera parte de la asignatura (temas 0, 1 y 2) se imparte teniendo en cuenta dos tipos de actividades presenciales en el aula: clases magistrales y clases de ejercicios, con discusión y presentación de resultados. La segunda parte se desarrolla en el laboratorio intercalando explicaciones y ejercicios prácticos, y se completa trabajando en grupo en la paralelización de una determinada aplicación.



Sistemas de evaluaciónAlternar navegación

  • Sistema de Evaluación Continua
  • Sistema de Evaluación Final
  • Herramientas y porcentajes de calificación:
    • Los tipos de evaluación y porcentajes se especifican en los siguientes apartados (%): 100

Convocatoria Ordinaria: Orientaciones y RenunciaAlternar navegación

Los sistemas de evaluación que se contemplan son el sistema de evaluación continua y el sistema de evaluación final. El sistema de evaluación continua es el que se utilizará de forma preferente, según se indica en la normativa actual de la UPV/EHU.



a. Evaluación/aprendizaje continuos. Es el modo inicial de evaluación por defecto, aplicable solo en la convocatoria ordinaria. Es necesaria la participación activa y continuada: asistencia, entrega de ejercicios/trabajos, pruebas de evaluación, prácticas, presentaciones... La asignatura se evaluará de la siguiente manera:



--1ª parte. Ejercicios + Examen 4 puntos

--2ª parte. Ejercicios + examen + proyecto 6 puntos



Para aprobar la asignatura, hay que aprobar las dos partes, y hay que sacar mínimo un 4 en los exámenes y el proyecto. Si se identifican copias en cualquier entrega de la evaluación, se suspenderá la convocatoria, y si le quedan convocatorias pasará a la evaluación global.



El alumnado que, cumpliendo las condiciones para continuar en el sistema de evaluación continua, decidiese optar por la evaluación global, deberá informar al profesorado responsable de la asignatura en los plazos y forma indicados a continuación: enviando un correo electrónico antes del último día de clase.





b. Evaluación global. La evaluación global, en las convocatorias establecidas en el calendario de exámenes, se realiza por decisión propia o por no poder continuar en el proceso de evaluación continua. La asignatura se evaluará de la siguiente manera:



-- Prueba escrita (temario completo, incluida prueba de laboratorio de MPI) 8 puntos

-- Práctica individual 2 puntos



Para aprobar la asignatura, hay que aprobar tanto el examen como la práctica individual (por lo menos 5 puntos sobre 10). La no presentación a la prueba escrita de la evaluación final se considerará como renuncia a la evaluación final en la convocatoria correspondiente.

Convocatoria Extraordinaria: Orientaciones y RenunciaAlternar navegación

La convocatoria extraordinaria será de acuerdo al procedimiento de evaluación global anteriormente especificado.

Materiales de uso obligatorioAlternar navegación

Los materiales a usar en el curso se encuentran en la página de la asignatura en eGela.

BibliografíaAlternar navegación

Bibliografía básica

- Hennessy J.L., Patterson D.A.: Computer Architecture: A Quantitative Approach (5. ed.). Morgan Kaufmann, 2011.

- Culler D.E., Singh J.P.: Parallel Computer Architecture. A Hardware/Software Approach. Morgan Kaufmann, 1999.

- Duato J., Yalamanchili S., Ni L.: Interconnection Networks: An Engineering Approach. Morgan Kaufmann, 2003.



- Pacheco P.S.: Parallel Programming with MPI. Morgan Kaufmann, 1997.

- Groop W. et al: Using MPI. Portable Parallel Programming with the Message Passing Interface. The MIT Press, 1999.

-Snir M. et al.: MPI. The complete reference, Volume 1, The MPI core. The MIT Press, 1999

Bibliografía de profundización

- Dally W.J., Towles B.: Principles and Practices of Interconnection Networks. Morgan Kaufmann, 2004.
- Ma, S.; Huang, L.: Networks-on-chip. Morgan Kaufmann, 2015.

-Almeida F., Giménez D., Mantas J.M., Vidal A.M.: Introducción a la programación paralela. Thomson-Paraninfo, 2008.
-Quinn M.J.: Parallel Programming in C. McGraw-Hill, 2004.
-Barlas G.: Multicore and GPU programming. M. Kaufmann, 2015.

Revistas

-- R. Espasa, M. Valero, J. Smith: Vector Architectures: Past, Present and Future. Int. Conf. on Supercomputing, 425-432, 1998.

-- Stenstrom P: A survey of cache coherence schemes for multiprocessors. Computer, v. 23, n. 6, 12-24, 1990.

-- Tomasevic M., Milutinovic V. (eds.). The Cache Coherence Problem in Shared Memory Multiprocessors: Hardware Solutions. IEEE Computer Society Press, 1993.

-- Mellor-Crummey J.M., Scott M.L. Algorithms for scalable synchronization on shared memory multiprocessors. ACM Transactions on Computer Systems, v. 9, n. 1, 21-65, 1991.

-- Adve S.V., Gharachorloo K. Shared memory consistency models: a survey. Computer, v. 29, n. 12, 66-76, 1996.

-- Hill M.D. Multiprocessors should support simply memory-consistency models. Computer, v. 31, n. 8, 28-34, 1998.

-- Wolfe M. High Performance Compilers for Parallel Computing. Addison Wesley, 1996.

-- Banerjee U., Eigenmann R., Nicolau A., Padua D. Automatic program parallelization. Proceedings of the IEEE, v. 81, n. 2, 211-243, 1993.

-- Lilja D.J. Exploiting the parallelism available in loops. Computer, v. 27, n. 2, 13-26, 1994

Direcciones web

>> Computadores más rápidos: www.top500.org
>> Infraestructura de redes: www.infinibandta.org
>> MPI: www.mpich.org, www.open-mpi.org, www.mpi-forum.org
>> UPC-Unified Parallel C(DSM):upc.lbl.gov, upc.gwu.edu, www.intrepid.com/upc.html
>> Clusters: www.ieeetcsc.org, www.beowulf.org, www.lcic.org, www.linuxhpc.org

Tribunal de convocatorias 5ª, 6ª y excepcionalAlternar navegación

  • NAVARIDAS PALMA, JAVIER
  • PEREZ DE VIÑASPRE GARRALDA, OLATZ
  • SORALUZE IRURETA, ANDER

GruposAlternar navegación

01 Teórico (Castellano - Mañana)Mostrar/ocultar subpáginas

Calendario
SemanasLunesMartesMiércolesJuevesViernes
16-30

09:00-10:30 (1)

12:00-13:30 (2)

Profesorado

01 P. Laboratorio-1 (Castellano - Mañana)Mostrar/ocultar subpáginas

Calendario
SemanasLunesMartesMiércolesJuevesViernes
16-30

10:30-12:00 (1)

Profesorado

46 Teórico (Euskera - Tarde)Mostrar/ocultar subpáginas

Calendario
SemanasLunesMartesMiércolesJuevesViernes
16-30

14:00-15:30 (1)

17:00-18:30 (2)

Profesorado

46 P. Laboratorio-1 (Euskera - Tarde)Mostrar/ocultar subpáginas

Calendario
SemanasLunesMartesMiércolesJuevesViernes
16-30

15:30-17:00 (1)

Profesorado