|
Grado en Ingeniería Informática |
TRABAJOS FIN DE GRADO curso: 2016-17
Modelado escalable de redes de interconexión de altas prestaciones basado en SimGrid |
Tecnologías Específicas
Ingeniería del Software
Descripcion y Objetivos
Los sistemas de computación de altas prestaciones y los centros de proceso de datos integrarán en el futuro próximo cientos de miles de nodos finales que deben ser interconectados eficientemente. En consecuencia, las redes de interconexión de estos sistemas son un elemento esencial de los mismos, cuyo rendimiento influye muy notablemente en el rendimiento del sistema global.
Por ello, 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 software como herramientas de soporte, ya que permiten analizar el coste y las prestaciones de los nuevos diseños. 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" ya establecidos para facilitar y acelerar la construcción simuladores. Entre los frameworks más consolidados destacan OMNeT++ o NS-3, que tienen un gran ecosistema de usuarios y desarrolladores. No obstante, estos frameworks tienen problemas serios de escalabilidad a la hora de modelar redes de interconexión para redes cuyo tamaño sea del orden de cientos de miles de nodos. Como solución a estos problemas, el instituto INRIA francés creo el framework SimGrid, especialmente orientado para el modelado de sistemas distribuidos de gran tamaño, como Grids, Clouds, HPC o P2P. El propósito de este TFG es el diseño e implementación de un modelo básico de red de interconexión de altas prestaciones basado en SimGrid, eficiente y capaz de simular redes de interconexión de cientos de miles de nodos, necesitando muy pocos recursos de cómputo.
Metodología y Competencias
Al ser un TFG enfocado en la especialidad de ingeniería del software, se optará por una metodología de desarrollo software ágil, iterativa e incremental (de tipo "extreme programming"), donde el alumno deberá familiarizarse inicialmente con un conjunto de requisitos mínimos que serán proporcionados por usuarios de simuladores de redes de interconexión. Una vez obtenidos esos requisitos, se plasmarán en un primer diseño e implementación de la herramienta de simulación (versión ALPHA), usando para ello el framework SimGrid. En todo momento el código desarrollado por el alumno se introducirá en un repositorio GIT para el control de versiones, que cuenta con la funcionalidad de someter cualquier versión del software a un conjunto de pruebas de regresión (que también serán definidas por el alumno), gracias a la plataforma GitLab. Después de esta fase de la metodología, y en función de los nuevos requisitos obtenidos por parte de los usuarios de simuladores, el alumno desarrollará e implementará nueva funcionalidad en el simulador (versión BETA). Finalmente, se realizarán experimentos y pruebas para validar los resultados obtenidos por el simulador (versión RELEASE).
En cuanto al plan de trabajo, las principales actividades a realizar por el alumno serían los siguientes (se indica el tiempo estimado de realización en meses, asumiendo una dedicación de 38 horas/mes y unas 300 horas de dedicación total al TFG):
- 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. En paralelo, familiarizarse con el entorno de desarrollo del framework SimGrid (1.5 meses).
- Definir y establecer un conjunto de requisitos mínimos para la herramienta de simulación (complejidad de los componentes de red, topologías básicas, algoritmos de encaminamiento básicos, etc.) y diseñar el modelo de red, de acuerdo con los criterios de escalabilidad. Es decir, en este diseño se tendrá en cuenta la cantidad de recursos de cómputo necesarios para simular redes de gran tamaño (1 mes).
- Implementar el modelo de red, según el conjunto de requisitos inicial, así como de los tests de regresión que se incluirán en el servidor GitLab del grupo RAAP. Como resultado de esta fase, se obtendrá la versión ALPHA del simulador (1.5 meses).
- Siguiendo la metodología iterativa e incremental, se definirán nuevos requisitos (nuevas topologías y algoritmos de encaminamiento, uso de canales virtuales, arquitecturas de conmutador más complejas, etc.) y se añadirá nueva funcionalidad al simulador, para obtener un versión BETA (2 meses).
- Validar los resultados mediante la evaluación de prestaciones de diferentes configuraciones de red de interconexión, y corregir de los detalles que fueren necesarios hasta obtener la versión RELEASE (1 mes).
- Documentar los resultados, incluyendo la memoria del TFG (1 mes).
Medios a utilizar
Los medios a utilizar para el desarrollo del TFG son los siguientes:
- Framework SimGrid open source.
- Otros frameworks y simuladores de redes de interconexión disponibles en el grupo RAAP.
- Servidor de GIT y GitLab disponible en el grupo RAAP.
- Howto para lanzar simulaciones de gran tamaño en el cluster GALGO del I3A.
- Ordenador tipo PC.
Bibliografía
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 SimGrid.
- Diversos libros y artículos sobre metodologías ágiles.
Toda la bibliografía está disponible.
Tutores GARCÍA GARCÍA, PEDRO JAVIER ESCUDERO SAHUQUILLO, JESUS | Alumno NIEVES CARRETERO, ALVARO
|
| |