Las redes de interconexión de altas prestaciones son el elemento esencial de los sistemas
de cómputo paralelos (HPC) y de los centros de proceso de datos (CPD), que están formados por miles de nodos. De hecho, el rendimiento de la propia red de interconexión influye muy
notablemente en el rendimiento del sistema, por lo que el diseño de la arquitectura de dicha red es una tarea crucial. En el diseño y desarrollo de la arquitectura de red se utilizan habitualmente simuladores como herramientas de soporte, ya que permiten analizar el coste y las prestaciones de las nuevas propuestas arquitectónicas. Sin embargo, el desarrollo de un simulador desde cero es una tarea muy costosa en términos de tiempo y esfuerzo. Por ello, una tendencia habitual en los simuladores de red es utilizar "frameworks" software para facilitar y acelerar la construcción simuladores. Entre los más famosos y activos destacan OMNeT++ o NS-3, que tienen un gran ecosistema de usuarios y desarrolladores alrededor. No obstante, estos frameworks tienen problemas serios de escalabilidad a la hora de modelar redes de interconexión que conectan del orden de cientos de miles de nodos.
El simulador SST (Structural Simulation Toolkit), es una entorno de simulación desarrollado por los laboratorios Sandia, USA, ampliamente utilizado por importantes empresas y universidades de todo el mundo. Se desarrolló para explorar innovaciones en sistemas paralelos donde la ISA, la micro-arquitectura y la memoria interactúan con el modelo de programación y el sistema de comunicaciones. El paquete proporciona dos nuevas capacidades. La primera es un diseño completamente modular que permite la exploración extensa de un parámetro del sistema individual sin la necesidad de cambios intrusivos en el simulador. El segundo es un entorno de simulación paralelo basado en MPI. Esto proporciona un alto nivel de rendimiento y la capacidad de mirar sistemas grandes. El simulador SST se ha utilizado con éxito para modelar conceptos que van desde el procesamiento en memoria, hasta los procesadores convencionales conectados por interfaces de red convencionales y ejecutando MPI.
El propósito de este TFG es el diseño de un modelo de red de interconexión de altas prestaciones basado en el simulador SST, eficiente y capaz de simular redes de interconexión de cientos de miles de nodos, necesitando muy pocos recursos de cómputo. El modelo se simulación será capaz de ofrecer un soporte sencillo ante situaciones de congestión, mediante el uso de esquemas de colas que tengan en cuenta las propiedades de la topología de red y algoritmos de encaminamiento.
Para alcanzar los objetivos del TFG, las actividades principales a realizar por el alumno son las siguientes (se indica el tiempo estimado de realización en meses, asumiendo una dedicación de 8 meses, 37,5 horas/mes y 300 horas de dedicación total al TFG):
1) Conocer con un nivel de detalle adecuado a la carga del TFG el estado del arte de las redes de interconexión de altas prestaciones y de las herramientas de simulación, mediante el estudio de la bibliografía y los simuladores disponibles en el grupo RAAP. Familiarizarse con el proceso de desarrollo del framework SimGrid (1.5 meses).
2) Estudiar y probar el módulo Merlin del simulador SST, que engloba la funcionalidad de la red de interconexión, así como el modelo de conmutador e interfaz de red proporcionados (2 meses).
3) Implementar mejoras en el modelo de conmutador e interfaz de red para ofrecer soporte de control de congestión, mediante esquemas de colas sencillos en las topologías disponibles: Dragonflies, fat-trees e HyperX (1.5 meses).
4) Estudio y evaluación de las prestaciones de los esquemas de colas implementados en Merlin, en los diferentes patrones de tráfico propuestos en SST, tanto patrones de tráfico sintético, como trazas en formato DUMPI (2 meses).
5) Documentar los resultados, incluyendo la memoria del TFG (1 mes).
Competencias adquiridas:
- Capacidad de diseñar y construir sistemas digitales, incluyendo computadores, sistemas basados en microprocesador y sistemas de comunicaciones.
- Capacidad de analizar y evaluar arquitecturas de computadores, incluyendo plataformas
paralelas y distribuidas, así como desarrollar y optimizar software para las mismas.
- Capacidad de diseñar e implementar software de sistema y de comunicaciones.
- Capacidad para analizar, evaluar, seleccionar y configurar plataformas hardware para el
desarrollo y ejecución de aplicaciones y servicios informáticos.
La bibliografía básica para el desarrollo del TFG es la siguiente:
- Diversos libros y artículos sobre redes de interconexión, modelado y simulación.
- Documentación ofrecida por el framework SST.
Toda la bibliografía está disponible.