Última actualización: 01/07/2021


Curso Académico: 2021/2022

Computación de Altas Prestaciones
(18644)
Titulación: Master Universitario en Ingeniería Informática (228)
Escuela de Ingeniería y Ciencias Básicas


Coordinador/a: GARCIA BLAS, FRANCISCO JAVIER

Departamento asignado a la asignatura: Departamento de Informática

Tipo: Obligatoria
Créditos: 6.0 ECTS

Curso:
Cuatrimestre:




Competencias y resultados del aprendizaje
Descripción de contenidos: Programa
1. Principios de la computación de altas prestaciones. 1.1 Definición de los sistemas de altas prestaciones 1.2 Definición de clúster de cómputo 2. Diseño y análisis de aplicaciones de altas prestaciones. 2.1 Modelado de aplicaciones paralelas 2.2 Metodología de paralelización de aplicaciones 3. Paradigmas de programación paralela: paso de mensaje, memoria compartida, paralelismo de datos. 3.1 Paso de mensajes (MPI) 3.2 Programación en sistemas de memoria compartida (OpenMP) 3.3 Paralelismo en sistemas heterogéneos GPGPU (CUDA) 4. Paralelismo de datos mediante técnicas Big Data 4.1 Paradigma de programación Map-Reduce 4.2 Sistemas de almacenamiento para sistemas intensivos en datos (HDFS y HBASE) 4.3 Apache Hadoop 4.4 Apache Spark 5. Análisis del rendimiento, evaluación y optimización de aplicaciones. 5.1 Métricas de rendimiento 5.2 Ley de Amdahl
Actividades formativas, metodología a utilizar y régimen de tutorías
ACTIVIDADES FORMATIVAS AF1 - Clase teórica [23,33 horas con un 100% de presencialidad, 0,77 ECTS]. AF2 - Clases prácticas [15 horas con un 100% de presencialidad, 0,50 ECTS]. AF4 - Prácticas de laboratorio [10 horas con un 100% de presencialidad, 0,33 ECTS]. AF5 - Tutorías [2 horas con un 25% de presencialidad, 0,03 ECTS]. AF6 - Trabajo en grupo [50,97 horas con un 0% de presencialidad, 1,70 ECTS]. AF7 - Trabajo individual del estudiante [76,70 horas con un 0% de presencialidad, 2,55 ECTS]. AF8 - Exámenes parciales y finales [2 horas con un 100% de presencialidad, 0,06 ECTS]. METODOLOGÍAS DOCENTES MD1 - Exposiciones en clase del profesor con soporte de medios informáticos y audiovisuales, en las que se desarrollan los conceptos principales de la materia y se proporciona la bibliografía para complementar el aprendizaje de los alumnos. MD2 - Lectura crítica de textos recomendados por el profesor de la asignatura: Artículos de prensa, informes, manuales y/o artículos académicos, bien para su posterior discusión en clase, bien para ampliar y consolidar los conocimientos de la asignatura. MD3 - Resolución de casos prácticos, problemas, etc.... planteados por el profesor de manera individual o en grupo. MD4 - Exposición y discusión en clase, bajo la moderación del profesor de temas relacionados con el contenido de la materia, así como de casos prácticos. MD5 - Elaboración de trabajos e informes de manera individual o en grupo.
Sistema de evaluación
  • Peso porcentual del Examen Final 40
  • Peso porcentual del resto de la evaluación 60
Calendario de Evaluación Continua
Bibliografía básica
  • D. Kirk, W. Hwo.. Programming Massively Parallel Processors: A Hands-on Approach. Morgan Kaufmann. 2010
  • D.E. Culler, J.P. Singh, with A. Gupta.. Parallel Computer Architectures: a Hardware/Software Approach. Morgan Kaufmann Pub. 1999
  • Holden Karau, Andy Konwinski, Patrick Wendell & Matei Zaharia. Learning Spark. O Reilly. 2015
  • Martin Odersky, Lex Spoon, Bil Venners. Programming in Scala. Artima.

El programa de la asignatura podría sufrir alguna variación por causa de fuerza mayor debidamente justificada o por eventos académicos comunicados con antelación.


Dirección web para más información: https://www.arcos.inf.uc3m.es/fjblas