Universitat Autònoma de Barcelona. Departament d'Arquitectura de Computadors i Sistemes Operatius
Executar aplicacions paral·leles de pas de missatges sobre un elevat nombre de recursos de manera eficient no és una tasca trivial. A causa de la complexa interacció entre l'aplicació paral·lela i el sistema HPC, a mesura que s'augmenta el nombre de processos de l'aplicació, depenent del sistema, pot arribar un punt on l'aplicació presenti el seu límit d'escalabilitat, moment a partir del qual es començaran a produir ineficiències en el sistema, comportant a un ús ineficient del mateix. Aquest problema es torna especialment crític en aplicacions paral·leles les quals han de ser executades freqüentment, utilitzant un elevat nombre de recursos sobre un llarg període de temps Per tal d'intentar solucionar aquests problemes i fer un ús eficient del sistema, com a principal contribució d'aquesta tesi, es proposa la metodologia P3S (Prediction of Parallel Program Scalability), la qual permet predir el rendiment de l'escalabilitat forta d'aplicacions paral·leles de pas de missatges en un determinat sistema, utilitzant un temps d'anàlisi limitat i un conjunt reduït de recursos del sistema. La metodologia P3S, es basa en analitzar el comportament repetitiu de les aplicacions paral·leles de pas de missatges. Aquest tipus d'aplicacions estan compostes per un conjunt de fases identificables, les quals es van repetint al llarg de tota l'aplicació, independentment del nombre de processos de l'aplicació. La metodologia consta de tres etapes. Una primera etapa de caracterització, on es caracteritzen les fases rellevants de l'aplicació paral·lela, a partir de la informació obtinguda de l'execució d'un conjunt de signatures de l'aplicació, per a un nombre reduït de processos. Una segona etapa de modelització de l'aplicació, on es genera el model lògic d'escalabilitat de cada fase rellevant de l'aplicació paral·lela, mitjançant el qual construir la traça lògica escalable de l'aplicació. Aquesta traça permetrà predir el comportament lògic de l'aplicació, a mesura que s'augmenta el seu nombre de processos. Finalment, l'última etapa de la metodologia consisteix en predir el rendiment de l'aplicació per a un nombre específic de processos. Per a això, la traça lògica escalable serà precisada per al nombre de processos per al qual es vol predir el rendiment de l'aplicació, amb l'objectiu de predir el temps de còmput i comunicació de cada fase rellevant de l'aplicació, per aquest nombre de processos , amb la finalitat d'obtenir el temps predit de l'aplicació. Gràcies a la corba d'escalabilitat de l'aplicació, proporcionada per la metodologia P3S, els usuaris poden seleccionar els recursos més adients per executar la seva aplicació al sistema destí, el que permet tenir la seguretat d'utilitzar els recursos del sistema de manera eficient.
Ejecutar aplicaciones paralelas de paso de mensajes sobre un elevado número de recursos de forma eficiente no es una tarea trivial. Debido a la compleja interacción entre la aplicación paralela y el sistema HPC, a medida que se aumenta el número de procesos de la aplicación, dependiendo del sistema, puede llegar un punto donde la aplicación presente su límite de escalabilidad, momento a partir del cual se empezarán a producir ineficiencias en el sistema, conllevando a un uso ineficiente del mismo. Este problema se vuelve especialmente crítico en aplicaciones paralelas las cuales tienen que ser ejecutadas frecuentemente, utilizando un elevado número de recursos sobre un largo período de tiempo Con el fin de intentar solventar estos problemas y hacer un uso eficiente del sistema, como principal contribución de esta tesis, se propone la metodología P3S (Prediction of Parallel Program Scalability), la cual permite predecir el rendimiento de la escalabilidad fuerte de aplicaciones paralelas de paso de mensajes en un determinado sistema, utilizando un tiempo de análisis limitado y un conjunto reducido de recursos del sistema. La metodología P3S, se basa en analizar el comportamiento repetitivo de las aplicaciones paralelas de paso de mensajes. Este tipo de aplicaciones están compuestas por un conjunto de fases identificables, las cuales se van repitiendo a lo largo de toda la aplicación, independientemente del número de procesos de la aplicación. La metodología consta de tres etapas. Una primera etapa de caracterización, donde se caracterizan las fases relevantes de la aplicación paralela, a partir de la información obtenida de la ejecución de un conjunto de firmas de la aplicación, para un número reducido de procesos. Una segunda etapa de modelización de la aplicación, donde se genera el modelo lógico de escalabilidad de cada fase relevante de la aplicación paralela, mediante el cual construir la traza lógica escalable de la aplicación. Esta traza permitirá predecir el comportamiento lógico de la aplicación, a medida que se aumenta su número de procesos. Finalmente, la última etapa de la metodología consiste en predecir el rendimiento de la aplicación para un número específico de procesos. Para ello, la traza lógica escalable será precisada para el número de procesos para el cual se desea predecir el rendimiento de la aplicación, con el objetivo de predecir el tiempo de cómputo y comunicación de cada fase relevante de la aplicación, para ese número de procesos, con la finalidad de obtener el tiempo predicho de la aplicación. Gracias a la curva de escalabilidad de la aplicación, proporcionada por la metodología P3S, los usuarios pueden seleccionar los recursos más adecuados para ejecutar su aplicación en el sistema objetivo, lo que permite tener la seguridad de utilizar los recursos del sistema de forma eficiente.
Executing message-‐passing applications using an elevated number of resources is not a trivial task. Due to the complex interaction between the message-‐passing applications and the HPC system, depending on the system, many applications may suffer performance inefficiencies, when they scale to a large number of processes. This problem is particularly serious when the application is executed many times over a long period of time. With the purpose of avoiding these problems and making an efficient use of the system, as main contribution of this thesis, we propose the methodology P3S (Prediction of Parallel Program Scalability), which allows us to analyze and predict the strong scalability behavior for message-‐passing applications on a given system. The methodology strives to use a bounded analysis time, and a reduced set of resources to predict the application performance. The P3S methodology is based on analyzing the repetitive behavior of parallel message-‐passing applications. Such applications are composed of a set of phases, which are repeated through the whole application, independently of the number of application processes. The methodology is made up of three stages. A first characterization step, where the relevant phases of the parallel application are characterized, from the execution of a set of small-‐scale application signatures. A second stage of modeling of the application, where the application logical scalability model is generated for each relevant application phase, whereby to construct the scalable logical trace of the application. This trace will be used to predict the logical behavior of the application, as the number of the application processes increases. Finally, the last stage of the methodology consist of predicting the application performance for a specific number of processes. In order to do that, the scalable logical trace will be specified for the number of processes to predict the application performance, with the objective to predict the computational and communication time of each relevant phase for this number of processes, in order to obtain the performance prediction. The output of the P3S methodology will be the predicted curve of application speedup. Using this information, the users can select the most appropriate resources to execute his application on the target system, in order to use the system resources efficiently.
Predicció d'escalabilitat; Predicción de escalabilidad; Scalability prediction; Aplicacions paral.leles de pas de missatges; Paralelas de paso de mensajes; Message-passing applications; Sistemes HPC; Sistemas HPC; HPC systems
004 - Informàtica
Tecnologies