|
Máster Universitario en Ingeniería Informática |
TRABAJOS FIN DE MÁSTER curso: 2021-22
Análisis y modelado de tráfico de comunicaciones colectivas en aplicaciones paralelas |
Descripcion y Objetivos
La Computación de Altas Prestaciones (HPC) permite abordar problemas de gran complejidad en ciencia, ingeniería y otras disciplinas. Son problemas que manejan inmensas cantidades de datos y/o requieren gran cantidad de cálculos, y que deben ser resueltos en tiempos razonablemente bajos. La única forma de conseguirlo es mediante el uso de grandes sistemas de cómputo o supercomputadores.
Este tipo de infraestructuras se está haciendo ya imprescindible y parece totalmente razonable que un ingeniero informático conozca sus características, la forma en la que se diseñan y cómo se usan. Esto supondría un valor añadido a su formación y como consecuencia aumentaría sus posibilidades de desarrollar una carrera profesional pues tendrían el conocimiento y las habilidades requeridas por empresas e instituciones con centros I+D+i que están incorporando tecnologías emergentes.
Por tanto, es muy interesante que un ingeniero informático profundice en la arquitectura de los supercomputadores y conozca los diferentes aspectos que determinan su nivel de prestaciones. Uno de ellos es la forma en la que se manejan las comunicaciones que generan las aplicaciones cuando se ejecutan en estos sistemas. El papel de la red de interconexión que debe soportar esas comunicaciones es clave en el comportamiento del supercomputador e influye decisivamente en su rendimiento. Por tanto, el diseño de la red de interconexión de un supercomputador es un aspecto esencial, y un buen conocimiento de las comunicaciones que deben manejar facilitará llegar a la red óptima [1].
Aunque las aplicaciones que hacen uso de supercomputadores son múltiples y diferentes [2], en muchas ocasiones las comunicaciones que generan siguen patrones muy parecidos. El estudio de esos patrones puede arrojar información muy útil para obtener diseños eficientes de la red de interconexión.
Así pues, el objetivo principal de este trabajo fin de máster es analizar las comunicaciones generadas por la ejecución de varias aplicaciones e intentar establecer patrones de comportamiento que puedan ser fácilmente reproducidos. Esta información permitirá determinar la arquitectura general, y la de la red de interconexión en particular, más eficientes para las nuevas plataformas de computación de altas prestaciones.
Para ello se va a usar un conjunto de aplicaciones representativo de un campo de gran actualidad y relevancia como es el de la Inteligencia Artificial, y más concretamente el de las aplicaciones de Deep Learning. Este tipo de aplicaciones ha resurgido con fuerza en la última década debido, entre otras razones, a la disponibilidad tanto de la capacidad computacional requerida como de entornos de desarrollo de código abierto (TensorFlow[3], Caffe[4], AML[5], CNTK[6], Torch[7], Theano[8], etc), que han simplificado dramáticamente el desarrollo de estas aplicaciones.
Metodología y Competencias
La metodología del proceso de desarrollo software a utilizar será iterativa e incremental tipo Scrum, donde los requisitos de usuario se irán refinando conforme se avance en el diseño e implementación.
Para alcanzar los objetivos del TFM, las actividades principales a realizar son las siguientes. Se indica también el tiempo estimado de realización en meses, asumiendo una dedicación total de 225 horas (180 horas de trabajo autónomo y 45 horas de relación con los tutores) a lo largo de 4 meses, y una dedicación de 56,25 horas/mes:
- Selección de las aplicaciones. En primer lugar, se seleccionará un conjunto representativo de aplicaciones de Deep Learning que se están utilizando masivamente en grandes sistemas de computación. Dedicación: 0,5 meses.
- Obtención de las comunicaciones generadas por las aplicaciones. Esta tarea consiste en ejecutar las aplicaciones en un clúster haciendo variaciones sobre diferentes parámetros, y recoger el tráfico generado y que circula por la red. Dedicación: 0,5 meses.
- Estudio del tráfico. Se analizará el tráfico obtenido y se comprobará la existencia de patrones comunes a todas las aplicaciones. Dedicación: 0,5 meses.
- Modelado de las comunicaciones. Se modelará el tráfico de comunicaciones generado por las aplicaciones, que como se ha indicado anteriormente, constituyen un grupo representativo de las aplicaciones que se ejecutan en los supercomputadores. Los modelos de tráfico que se obtengan se integrarán en el framework VEF Traces, en forma de trazas de tráfico, de modo que estas trazas se puedan utilizar para alimentar simuladores de red, y con ello evaluar las propuestas que se hagan sobre su diseño. Dedicación. 1,5 meses.
- Documentación de los resultados. Finalmente, se prepará la memoria del TFM y posterior defensa. Dedicación: 1 mes.
Competencias:
CE1: Capacidad para la integración de tecnologías, aplicaciones, servicios y sistemas propios de la Ingeniería Informática, con carácter generalista, y en contextos más amplios y multidisciplinares.
CE09: Capacidad para diseñar y evaluar sistemas operativos y servidores, y aplicaciones y sistemas basados en computación distribuida.
CE10 - Capacidad para comprender y poder aplicar conocimientos avanzados de computación de altas prestaciones y métodos numéricos o computacionales a problemas de ingeniería.
CE12 - Capacidad para aplicar métodos matemáticos, estadísticos y de inteligencia artificial para modelar, diseñar y desarrollar aplicaciones, servicios, sistemas inteligentes y sistemas basados en el conocimiento.
CE16: Realización, presentación y defensa, una vez obtenidos todos los créditos del plan de estudios, de un ejercicio original realizado individualmente ante un tribunal universitario, consistente en un proyecto integral de Ingeniería en Informática de naturaleza profesional en el que se sinteticen las competencias adquiridas en las enseñanzas.
Medios a utilizar
Los medios a utilizar para el desarrollo del TFM son los siguientes:
- Clúster CELLIA del grupo RAAP.
- Entornos de desarrollo de Deep Learning
- Simulador de red de interconexión INASim, disponible en el grupo de investigación RAAP.
- Servidor de GIT y GitLab disponible en el grupo RAAP.
- Ordenador tipo PC.
Bibliografía
[1] Jose Duato, Sudhakar Yalamanchili, and Ni Lionel. 2002. Interconnection Networks: An Engineering Approach. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA.
[2] P.S. Pacheco. 2011. An Introduction to Parallel Programming. Morgan Kaufman Publishers
[3] www.tensorflow.org/
[4] caffe.berkeleyvision.org/
[5] aws.amazon.com/aml/?nc2=h l3 al
[6] www.microsoft.com/en-us/cognitive-toolkit/
[7] torch.ch/
[8] https://github.com/aesara-devs/aesara
Tutores ESCUDERO SAHUQUILLO, JESUS SÁNCHEZ GARCÍA, JOSÉ LUIS | Alumno SÁNCHEZ DE LA ROSA, MIGUEL
|
| |