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 Informática, intentaremos profundizar en el campo de la computación de altas prestaciones, viendo las diferentes posibilidades que nos ofrece tan a nivel de paradigmas de programación, 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 compuatció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

1. Fundamentos de la computación de altas prestaciones

1.1. Qué es la computación de altas prestaciones?

1.2. Introducción a las arquitecturas de altas prestaciones

1.3. Evolución histórica - Top500

1.4. Paradigmas de programación

1.5. Evaluación de rendimiento

2. Arquitecturas de altas prestaciones

2.1. Introducción

2.2. Taxonomía de Flynn

2.3. Descomposición funcional y de datos

2.4. Arquitecturas

2.5. Factores determinantes en el rendimiento en arquitecturas modernas

3. Modelos de programación para computadores paralelos

3.1. Memoria compartida

3.2. Memoria distribuida

3.3. GPUs

4. Computación de altas prestaciones en sistemas distribuidos

4.1. Paradigmas de memoria distribuida

4.4. Grid computing

4.5. Cloud computing

5. Green computing

Amunt

Amunt