Arquitectura de Altas Prestaciones

SEMESTRE C-1

6 ECTs

Obligatoria

Mediante esta materia se pretende completar los conocimientos sobre arquitecturas de altas prestaciones, para ello se tratan las arquitecturas paralelas modernas tanto desde el punto de vista funcional como de diseño. Estos conocimientos facilitarán al alumno el desarrollo de algoritmos paralelos correctos y eficientes en base a las características arquitectónicas de los sistemas utilizados. Las materias relacionadas con la programación se van a ver, por tanto, claramente beneficiadas.

CONTENIDOS

  • Breve Introducción Histórica
  • Niveles de paralelismo: desde la microarquitectura hasta los supercomputadores
  • Clasificación
  • Características arquitectónicas de los sistemas multiprocesador, multinúcleo y many-core
  • Organización del sistema de memoria
  • Protocolos de coherencia caché
  • Protocolos de snooping (arquitecturas UMA)
  • Protocolos basados en directorios (arquitecturas CC-NUMA)
  • Primitivas de sincronización
  • Soporte hardware para sincronización
  • Implementaciones software de sincronización
  • Modelos de consistencia de memoria
  • Comparación entre los modelos de consistencia
  • Tipos de redes
  • Componentes básicos de una red: links, encaminadores e interfaces de red
  • Parámetros de rendimiento
  • Espacio de diseño en redes de interconexión: Clasificación, topología, técnicas de conmutación, algoritmos de encaminamiento, control de flujo, bloqueos
  • Validación de prestaciones en redes de interconexión
  • Introducción a las arquitecturas clúster
  • Arquitectura de un cluster
  • Nodos
  • Redes de interconexión
  • Software
  • Paquetes de herramientas
  • Aplicaciones de las arquitecturas clúster: Alta productividad, alto rendimiento y alta disponibilidad
  • Planificación y balanceo da carga
  • Análisis de rendimiento: motivación.
  • Conceptos básicos sobre el análisis del rendimiento.
  • Caracterización y detección de problemas de rendimiento.
  • Aspectos arquitectónicos que influyen en el rendimiento.

BIBLIOGRAFÍA BÁSICA Y COMPLEMENTARIA

Dado que se trata de estudiar no solo los fundamentos de la arquitectura de supercomputadores sino también los avances mas recientes, mucha de la información bibliográfica se consultará en artículos publicados en revista y disponibles online así como en otras fuentes de consulta disponibles. La bibliografía básica necesaria para seguir cada parte da materia será indicada por el profesor durante las clases.

Los libros por los que se sigue más directamente algunas partes de la materia son:

  1. Arquitectura de Computadores, Xullo Ortega, Mancia Anguita e Alberto Prieto. Thompson. 2005.
  2. High Performance Cluster Computing, Rajkumar Buyya, ed., Prentice Hall PTR, 1999. ISBN 0-13-013784-7, 0-13-013785-5.

Los siguientes son libros que permiten consultar mas profundamente algunos contenidos:

  1. Parallel Computer Architecture, David E. Culler, Jaswinder Pal Singh e Anoop Gupta. Morgan Kaufmann Publishers. 1999.
  2. In Search of Clusters, 2ª ed., Gregory Pfister, Prentice Hall, 1998, ISBN: 0138997090.
  3. Organización e Arquitectura de Computadores (7ª edición), W. Stallings. Prentice Hall. 2007.
  4. Computer Architecture: a Quantitative Approach (6ª edición), John L. Hennessy e David A. Patterson. Morgan Kaufmann Publishers. 2017.
Para una información más detallada de la metodología docente y de la evaluación del máster en computación de altas prestaciones, tanto de modalidad presecial como a distancia, visita las guías docentes de las asignaturas en el siguiente enlace.