Computación de altas prestaciones Código:  M0.502    :  5
Consulta de los datos generales   Descripción   Información previa a la matrícula   Contenidos   Consulta de los materiales de los que dispone la asignatura  
Este es el plan docente de la asignatura para el segundo semestre del curso 2023-2024. Podéis consultar si la asignatura se ofrece este semestre en el espacio del campus Más UOC / La universidad / Planes de estudios). Una vez empiece la docencia, tenéis que consultarlo en el aula. El plan docente puede estar sujeto a cambios.

En esta asignatura dentro del máster de Ingeniería Computacional, intentaremos profundizar en el campo de la computación de altas prestaciones, viendo las diferentes posibilidades que nos ofrece tanto a nivel de paradigmas de programación, como aplicaciones, así como las diferentes soluciones arquitecturales hardware/software que nos permiten trabajar en este campo (supercomputación, sistemas distribuidos, o arquitecturas como las GPUs).

Examinaremos arquitecturas de altas prestaciones, sus modelos por computación paralelos y distribuidos y ciertos middlewares para la computación Grid y Cloud.  Tambien observaremos los diferentes conceptos alrededor de Green Computing, como nuevo paradigma que incorpora la idea de optimización de consumo, a demás de maximizar las prestaciones de los sistemas.

Amunt

Algunos de los materiales de consulta que se utilizarán están en inglés. También se usarán en esta asignatura algunos artículos de actualidad sobre el ámbito de la computación de altas prestaciones, que están escritos en inglés.

Por este motivo se recomienda disponer de un nivel suficiente de comprensión de inglés técnico.

  • Descripción: Este curso permite al estudiante conocer los conceptos y adquirir las competencias necesarias para diseñar y desarrollar soluciones computacionales basadas en computación de altas prestaciones, como alternativa a los sistemas tradicionalmente secuenciales. Se abordan las técnicas de diseño de los procesos y comunicaciones necesarias para desarrollar aplicaciones que aprovechen los recursos computacionales de las arquitecturas de computación actuales. Permitiendo la migración desde algoritmos clásicos hasta nuevos algoritmos optimizados conscientes de la arquitectura que permitan obtener mejor rendimiento computacional. 
  • Requisitos: Conocimientos básicos de programación (C o Fortran) y de entornos GNU/Linux a nivel de usuario.
  • Bibliografía prevista: Módulos UOC.
  • Software previsto: GNU gcc (compilador C/C++/Fortran) y distribuciones GNU/Linux Ubuntu/CentOS.
  • Enlaces: N/A  
  • Otros materiales: UOC OpenCoursewarer: M2102, M2150 (los dos realizan una introducción de usuario a GNU/Linux así como su administración bàsica) y M2110 (este ultimo recomendable para la programación C) en http://ocw.uoc.edu/informatica-tecnologia-y-multimedia/view?set_language=es.

Amunt

Módulo 1

Introducción a la computación de altas prestaciones

1. Motivaciones de la computación de altas prestaciones
2. Paralelismo y arquitecturas paralelas
3. Programación de aplicaciones paralelas
4. Rendimiento de aplicaciones paralelas
5. Retos de la computación de altas prestaciones

Módulo 2

Arquitecturas de altas prestaciones

1. Descomposición funcional y de datos
2. Taxonomía de Flynn
3. Arquitecturas de procesador SIMD
4. Arquitecturas de procesador multihilo o MIMD
5. Arquitecturas many-core : el caso de Intel Xeon Phi

Módulo 3

Programación y computación paralelas

1. Modelos de programación para memoria compartida
2. Modelos de programación gráfica
3. Modelos de programación para memoria distribuida
4. Esquemas algorítmicos paralelos

Módulo 4

Organización y gestión de sistemas de altas prestaciones

1. Organización de los sistemas de altas prestaciones
2. Redes de interconexión
3. Sistemas de archivos para sistemas de altas prestaciones
4. Sistemas de gestión de colas y planificación

Módulo 5

Introducción a la computación distribuida de altas prestaciones

1. Fundamentos de la computación distribuida
2. Computación Grid
3. Computación Cloud

Módulo 6

Green computing

1. Fundamentos y conceptos básicos
2. Eficiencia energética
3. Computación sostenible y para la sostenibilidad

 

Amunt

Amunt