Aviso: para depositar documentos, por favor, inicia sesión e identifícate con tu cuenta de correo institucional de la UCM con el botón MI CUENTA UCM. No emplees la opción AUTENTICACIÓN CON CONTRASEÑA
 

Aplicación automática para evaluar implementaciones paralelas a través de métricas

Citation

Abstract

Las aplicaciones que comparan el rendimiento de algoritmos son herramientas que permiten a los desarrolladores y científicos de datos evaluar la eficiencia y precisión de diferentes algoritmos para tareas específicas. Estas aplicaciones se han utilizado durante décadas para ayudar a mejorar la calidad y velocidad de los algoritmos utilizados en una amplia variedad de campos, desde la inteligencia artificial hasta la programación de sistemas. En las primeras etapas de la computación, las comparaciones de rendimiento se realizaban a mano o mediante el uso de tablas y formulas matemáticas. Sin embargo, con la creciente complejidad de los algoritmos y el aumento de la cantidad de datos que se manejan, se hizo evidente la necesidad de herramientas más sofisticadas. En la década de 1970, se desarrollaron las primeras herramientas automatizadas de comparación de rendimiento de algoritmos, que se basaban en la medición del tiempo de ejecución y otros indicadores de rendimiento de los algoritmos en una amplia variedad de conjuntos de datos. Estas herramientas fueron útiles para evaluar el rendimiento de diferentes implementaciones de algoritmos y para identificar los puntos débiles de los algoritmos. A medida que la computación se volvió más avanzada, las herramientas de comparación de rendimiento de algoritmos también evolucionaron. Se introdujeron nuevas técnicas para la medición del rendimiento, como la simulación y el modelado, y se desarrollaron herramientas de visualización para ayudar a los usuarios a analizar y comprender mejor los resultados. Hoy en día, existen una amplia variedad de herramientas de comparación de rendimiento de algoritmos disponibles, desde aplicaciones de software gratuitas hasta soluciones empresariales completas. Estas herramientas se utilizan en una amplia variedad de campos, desde la investigación académica hasta el desarrollo de software empresarial, y son esenciales para garantizar que los algoritmos sean lo más precisos y eficientes posible. El procesamiento de esta información es largo, y por ello, en este TFG vamos a presentar nuestra propia herramienta, capaz de analizar los datos de procesado de distintos tipos de algoritmos, así como implementaciones paralelas y presentarlos al usuario, comparándolos entre ellos, aportando datos de valor como el “speed up” de un algoritmo frente a otro, y de una manera más visual, facilitando la compresión y la elección de los distintos algoritmos en el futuro.
Algorithm benchmarking apps are tools that allow developers and data scientists to assess the efficiency and accuracy of different algorithms for specific tasks. These apps have been used for decades to help improve the quality and speed of algorithms used in a wide variety of fields, from artificial intelligence to systems programming. In the early stages of computing, performance comparisons were done by hand or by using mathematical tables and formulas. However, with the increasing complexity of algorithms and the increase in the amount of data being handled, the need for more sophisticated tools became apparent. In the 1970s, the first automated algorithm performance benchmarking tools were developed, which were based on measuring execution time and other indicators of algorithm performance on a wide variety of data sets. These tools were useful for evaluating the performance of different algorithm implementations and for identifying weaknesses in the algorithms. As computing has become more advanced, algorithm performance benchmarking tools have also evolved. New techniques for performance measurement, such as simulation and modeling, were introduced, and visualization tools were developed to help users better analyze and understand the results. Today, there are a wide variety of algorithm performance benchmarking tools available, from free software applications to complete enterprise solutions. These tools are used in a wide variety of fields, from academic research to enterprise software development, and are essential to ensure algorithms are as accurate and efficient as possible. The processing of this information is long, and therefore, in this TFG we are going to present our own tool, capable of analyzing the processing data of different types of algorithms, as well as parallel implementations and presenting them to the user, comparing them between them, providing data of value as the “speed up” of one algorithm over another, and in a more visual way, making it easier to understand and choose the different algorithms in the future.

Research Projects

Organizational Units

Journal Issue

Description

Trabajo de Fin de Grado en Ingeniería Informática , Facultad de Informática UCM, Departamento de Arquitectura de Computadores y Automática, Curso 2022/2023. El código fuente de la aplicación se encuentra alojado en la siguiente url: https://github.com/dcuram/tfg

Keywords