Universidad Complutense de Madrid
E-Prints Complutense

Desarrollo de extensiones para herramientas de monitorización de rendimiento de código abierto
Development of extensions for an open source performance monitoring tool

Impacto

Downloads

Downloads per month over past year



Sáez de Buruaga Brouns, Jaime (2020) Desarrollo de extensiones para herramientas de monitorización de rendimiento de código abierto. [Trabajo Fin de Grado]

[thumbnail of Saez_de_Buruaga_Desarrollo_de_Extensiones_para_Herramienta_de_Monitorización_de_Codigo_Abierto.pdf]
Preview
PDF
Creative Commons Attribution Non-commercial.

3MB


Abstract

PMCtrack es una herramienta de código abierto para Linux que permite monitorizar el rendimiento de las aplicaciones haciendo uso de los contadores hardware del procesador (PMCs - Performance Monitoring Counters). Esta herramienta permite recabar valores de métricas relevantes sobre la ejecución de una aplicación, como el número de instrucciones por ciclo, o la tasa de fallos de predicción de saltos. Asimismo, PMCTrack proporciona información de monitorización hardware adicional no accesible mediante PMCs, como por ejemplo, el consumo de potencia o valores precisos del ancho de banda con memoria consumido por una aplicación. La flexibilidad de su API para recabar métricas de rendimiento desde distintos componentes del sistema operativo (SO), o el hecho de que está implementada en un módulo del kernel —lo cual permite extender la funcionalidad de la herramienta sin reiniciar el SO —, son algunas de las ventajas más relevantes de PMCTrack.
A pesar de sus ventajas, PMCTrack requiere actualmente un parche del kernel para funcionar, y gestiona los contadores hardware directamente, no haciendo uso del subsistema estándar de Linux para esta tarea (perf events). El objetivo principal del proyecto es dar los primeros pasos para permitir que PMCTrack pueda en un futuro llegar a funcionar en versiones de kernel Linux sin modificar. Para ello, en el proyecto se ha procedido a la creación de un backend de PMCTrack usando perf events —cuya API del kernel tiene escasa documentación—, y a la adaptación de los distintos componentes de espacio de kernel a nuevas versiones de Linux. Para llevar a cabo la evaluación del nuevo soporte añadido en PMCTrack, se ha realizado una validación exhaustiva del backend creado y se ha procedido a analizar la sobrecarga introducida en la lectura de contadores hardware, llevando a cabo una comparativa entre distintas herramientas y mecanismos disponibles.

Resumen (otros idiomas)

PMCtrack is an open-source performance monitoring tool for GNU/Linux that allows to monitor application performance using the processor hardware counters (PMCs – Performance Monitoring Tools). This tool allows to collect relevant metric values about the execution of an application, such as the number of instructions per cycle or the jump prediction failure rate. Also, PMCtrack provides additional hardware monitoring information not accesible through PMCs, such as power consumption or precise values of the bandwith with memory consumed by an appliation. The flexibility of its API to collect performance metrics from different components of the operatyng sistem (OS), or the fact that it is actually implemented in a kernel module —which allows to extend the functionality of the tool without restarting the OS —, are some of the most relevant advantages of PMCtrack. Despite its advantages, PMCtrack currently requires a kernel patch to work, and manages the hardware counters directly, not making use of the standard Linux subsystem from this task (perf events). The main objective of the project is to take the first steps to allow PMCtrack to work on unmodified Linux kernel versions in the future. To achieve this goal, the project has proceeded to create a PMCtrack backend using perf events —whose kernel API has little documentation — and to adapt the different kernel space components to new versions of Linux. To carry out the evaluation of the new support added in PMCtrack, an exhaustive validation of the created backend has been carried out and the overload introduced in the reading of hardware meters has been analyzed, carrying out a comparison between different tools and mechanisms available.

Item Type:Trabajo Fin de Grado
Additional Information:

Trabajo de Fin de Grado en Ingeniería Informática, Facultad de Informática UCM, Departamento de Arquitectura de Computadores y Automática, Curso 2019/2020

Directors:
Directors
Sáez Alcaide, Juan Carlos
Uncontrolled Keywords:Monitorización de rendimiento, Contadores hardware, PMCtrack, Perf Events, Kernel Linux, Módulos del kernel
Palabras clave (otros idiomas):Performance monitoring, Hardware events, Scheduling metrics, Perf API integration, Linux kernel, Deadlock troubleshooting, Interrupt context
Subjects:Sciences > Computer science
Título de Grado:Grado en Ingeniería Informática
ID Code:62860
Deposited On:04 Nov 2020 13:35
Last Modified:04 Nov 2020 13:35

Origin of downloads

Repository Staff Only: item control page