Dynamic Tuning for Large-Scale Parallel Applications

Andrea Martínez Trujillo · TDX (Tesis Doctorals en Xarxa) · 2013

La era actual de computacion a gran escala se caracteriza por el uso de aplicaciones paralelas ejecutadas en miles de cores. Sin embargo, el rendimiento obtenido al ejecutar estas aplicaciones no siempre es el esperado. La sintonizacion dinamica es una potente tecnica que puede ser usada para reducir la diferencia entre el rendimiento real y el esperado en aplicaciones paralelas. Actualmente, la mayoria de las aproximaciones que ofrecen sintonizacion dinamica siguen una estructura centralizada, donde un unico modulo de analisis, responsable de controlar toda la aplicacion paralela, puede convertirse en un cuello de botella en entornos a gran escala. La principal contribucion de esta tesis es la creacion de un modelo novedoso que permite la sintonizacion dinamica descentralizada de aplicaciones paralelas a gran escala. Dicho modelo se apoya en dos conceptos principales: la descomposicion de la aplicacion y un mecanismo de abstraccion. Mediante la descomposicion, la aplicacion paralela es dividida en subconjuntos disjuntos de tareas, los cuales son analizados y sintonizados separadamente. Mientras que el mecanismo de abstraccion permite que estos subconjuntos sean vistos como una unica aplicacion virtual y, de esta manera, se puedan conseguir mejoras de rendimiento globales. Este modelo se disena como una red jerarquica de sintonizacion formada por modulos de analisis distribuidos. La topologia de la red de sintonizacion se puede configurar para acomodarse al tamano de la aplicacion paralela y la complejidad de la estrategia de sintonizacion empleada. De esta adaptabilidad surge la escalabilidad del modelo. Para aprovechar la adaptabilidad de la topologia, en este trabajo se propone un metodo que calcula topologias de redes de sintonizacion compuestas por el minimo numero de modulos de analisis necesarios para proporcionar sintonizacion dinamica de forma efectiva. El modelo propuesto ha sido implementado como una herramienta para sintonizacion dinamica a gran escala llamada ELASTIC. Esta herramienta presenta una arquitectura basada en plugins y permite aplicar distintas tecnicas de analisis y sintonizacion. Empleando ELASTIC, se ha llevado a cabo una evaluacion experimental sobre una aplicacion sintetica y una aplicacion real. Los resultados muestran que el modelo propuesto, implementado en ELASTIC, es capaz de escalar para cumplir los requerimientos de sintonizar dinamicamente miles de procesos y, ademas, mejorar el rendimiento de esas aplicaciones.

Read the paper · More papers on PaperTik