Última actualización: 01/07/2021


Curso Académico: 2021/2022

Computación de Altas Prestaciones
(18772)
Máster Universitario en Matemática Aplicada y Computacional (Plan: 458 - Estudio: 372)
Escuela de Ingeniería y Ciencias Básicas


Coordinador/a: GARCIA BLAS, FRANCISCO JAVIER

Departamento asignado a la asignatura: Departamento de Informática

Tipo: Optativa
Créditos: 6.0 ECTS

Curso:
Cuatrimestre:




Objetivos
- Poseer y comprender conocimientos que aporten una base u oportunidad de ser originales en el desarrollo y/o aplicación de ideas, a menudo en un contexto de investigación - Que los estudiantes sepan aplicar los conocimientos adquiridos y su capacidad de resolución de problemas en entornos nuevos o poco conocidos dentro de contextos más amplios (o multidisciplinares) relacionados con su área de estudio - Que los estudiantes sepan comunicar sus conclusiones y los conocimientos y razones últimas que las sustentan a públicos especializados y no especializados de un modo claro y sin ambigüedades - Que los estudiantes posean las habilidades de aprendizaje que les permitan continuar estudiando de un modo que habrá de ser en gran medida autodirigido o autónomo. - Capacidad para el modelado matemático, cálculo y simulación en centros tecnológicos y de ingeniería de empresa, particularmente en tareas de investigación, desarrollo e innovación en todos los ámbitos relacionados con la Ingeniería Informática y campos multidisciplinares afines. - Capacidad para la aplicación de los conocimientos adquiridos y de resolver problemas en entornos nuevos o poco conocidos dentro de contextos más amplios y multidisciplinares, con la capacidad de integrar conocimientos. - Capacidad para saber comunicar (de forma oral y escrita) las conclusiones - y los conocimientos y razones últimas que las sustentan - a públicos especializados y no especializados de un modo claro y sin ambigüedades. - Capacidad para el aprendizaje continuado, autodirigido y autónomo. - Capacidad para diseñar y evaluar sistemas operativos y servidores, y aplicaciones y sistemas basados en computación distribuida. - Capacidad para comprender y poder aplicar conocimientos avanzados de computación de altas prestaciones y métodos numéricos o computacionales a problemas de ingeniería. COMPETENCIAS GENERALES: CG1, CG2, CG3, CG5, CG6, CG7 COMPETENCIAS BÁSICAS: CB6, CB7, CB9, CB10 COMPETENCIAS ESPECIFICAS: CE5, CE6, CE9, CE10, CE11
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. 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