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