Universidad Autónoma de Madrid

Cursos de Corta Duración

Computación de alto rendimiento HPC (3ª edición)

Para aprovechar las capacidades de los sistemas de computación de alto rendimiento es fundamental entender su funcionamiento y adecuar el diseño de los programas para explotar el paralelismo inherente a estos sistemas. Se debe evaluar el tipo de arquitectura sobre la cual se va a ejecutar, las necesidades de tiempo ejecución y el espacio de memoria  que requiere la aplicación. También es fundamental elegir el modelo de programación  adecuado para implantar la aplicación y la forma de coordinar y comunicar a los diferentes elementos de proceso para que resuelvan en paralelo un problema común.

El objetivo del curso es introducir a los participantes en los conceptos y técnicas de programación de la computación de altas prestaciones. En este curso se analizan las características más determinantes en el rendimiento de los sistemas de computación de altas prestaciones y se enseñan los conceptos que son indispensables para afrontar el reto de su programación. Se plantean las exigencias en el desarrollo de sistemas de computación paralela como: la coherencia en sistemas con memoria compartida, el coste de comunicación entre procesos, el paradigma de programación paralela basado en paso de mensajes y las ventajas e inconvenientes de diferentes topologías de interconexión entre procesadores.

Destinatarios

El curso va dirigido tanto a profesionales como a estudiantes de los últimos cursos de Ingeniería Informática, Ingeniería de Telecomunicaciones y de cualquier otra titulación científica o técnica.

Estructura y Contenido:

1.  Introducción a los sistemas para computación de alto rendimiento (HPC: High Performance Computing)

  • Evolución de las arquitecturas para computación de alto rendimiento.
  • Modelos de Programación
  • Perspectiva Historia y tendencias actuales
  • Mejores prácticas de diseño, puesta en marcha y operación de un sistema HPC

 

2.  Programación de sistemas de memoria compartida con OpenMP.

  • OpenMP: Programación paralela basada en directivas.
  • Modelo de ejecución con múltiples threads.
  • Directivas para la construcción de paralelismo y de sincronización. Variables de entorno. API en tiempo de ejecución.
  • Factores que afectan la correcta ejecución y herramientas para análisis de rendimiento.

 

3.  Programación de sistemas de multicomputador con paso de mensajes

  • Paso de mensajes con MPI (Message Passing Interface).
  • Conceptos y Funciones Básicas. Modos y funciones de comunicaciones.
  • Planificación de tareas y balanceo de carga.
  • Herramientas para analizar el rendimiento: HPC Toolkit, Valgrind, PAPI, TAU, Vampir.

 

4.  Almacenamiento y tratamiento de datos

  • Sistemas de archivos: GPFS
  • Algoritmos de análisis de información masiva: Hadoop

Calendario, Horario y Lugar de Celebración:

El curso se impartirá:

  • Miércoles de 18 a 20 horas
  • Viernes de 17 a 20 horas

Con un total de 20 horas lectivas 

Criterio de Evaluación:

La nota final será la media aritmética de:

  • 50% Examen final
  • 50% Asistencia y participación en clase

Condiciones de Acceso y Número de Plazas Ofertadas:

Los asistentes se seleccionarán previa entrevista con el director del curso.

Se ofertarán 20 plazas, hasta un máximo de 30.

Proceso de Inscripción:

En el momento de realizar la matrícula hace falta abonar el importe correspondiente y presentar la documentación siguiente:

  • Impreso de matrícula debidamente rellenado
  • Currículum Vitae
  • Fotocopia del DNI

Director(es):

Francisco Gómez Arribas

Profesor Titular

Escuela Politécnica Superior

Universidad Autónoma de Madrid

 

Estrella Pulido Cañabate

Profesor Titular

Escuela Politécnica Superior

Universidad Autónoma de Madrid

Características básicas

  • Modalidad: Presencial
  • Vigencia: 12/03/2015 - 25/03/2015
  • Fechas del curso: 25/03/2015 - 24/04/2015
  • Créditos: 2 ECTS
  • Precio: 50 €

Enlaces de interés

Más información

Francisco Gómez Arribas 

francisco.gomez@uam.es