Análisis del rendimiento en computación de altas prestaciones
Fecha
2020Resumen
La Computación de Alto Rendimiento está ganando fuerza en una gran variedad de campos. Podemos encontrar el uso de esta rama de la informática en
nuestro día a día, desde aplicaciones móviles y redes sociales, hasta la previsión
meteorológica y el desarrollo de medicamentos. Es por eso que esta herramienta debe usarse correctamente, buscando los mejores resultados en un tiempo
razonable. Para lograrlo, los métodos y herramientas de Análisis del Rendimiento que se encargan de estudiar el comportamiento de los programas que se
ejecutan en este tipo de sistemas son de una importancia capital, con el fin de
optimizar el proceso de desarrollo y los algoritmos implementados.
Los objetivos principales de este proyecto buscan, por un lado, mejorar la salida de la herramienta CALL con la que se obtienen distintas métricas de rendimiento de un algoritmo y, por otro, realizar a modo de ejemplo un análisis
de rendimiento con dos algoritmos distintos pero que buscan resolver el mismo
problema. Esta comparativa pretende demostrar la importancia de la visualización de los datos y del estudio del rendimiento de los algoritmos y aplicaciones
en Computación de Altas Prestaciones. High Performance Computing (HPC) is gaining strength in a great variety of
fields. We can find the use of this type of computing technology in many usual
software applications: from mobile applications and social networks, to weather
forecasting and pharmaceuticals development for instance. For this reason, HPC
technology must be used correctly, looking for the best results and performance.
To achieve this goal, Performance Analysis methods and tools used to study the
behavior of the programs executed in this kind of systems have a great importance. These methodologies help to optimize the development process and to
implemented better algorithms.
Two main goals are stated in this proyect: first, to improve the output of the
instrumentation tool CALL, a tool with the ability to obtain different performance
metrics of an algorithm. JSON, a modern data format is used for this purpose.
Second, to develop a set of python scripts to analyze the performance data obtained for two different algorithms but seeking to solve the same problem. This
comparison aims to demonstrate the importance of visualizing data and studying the performance of algorithms and applications in HPC.