You are required to read and agree to the below before accessing a full-text version of an article in the IDE article repository.
The full-text document you are about to access is subject to national and international copyright laws. In most cases (but not necessarily all) the consequence is that personal use is allowed given that the copyright owner is duly acknowledged and respected. All other use (typically) require an explicit permission (often in writing) by the copyright owner.
For the reports in this repository we specifically note that
- the use of articles under IEEE copyright is governed by the IEEE copyright policy (available at http://www.ieee.org/web/publications/rights/copyrightpolicy.html)
- the use of articles under ACM copyright is governed by the ACM copyright policy (available at http://www.acm.org/pubs/copyright_policy/)
- technical reports and other articles issued by M‰lardalen University is free for personal use. For other use, the explicit consent of the authors is required
- in other cases, please contact the copyright owner for detailed information
By accepting I agree to acknowledge and respect the rights of the copyright owner of the document I am about to access.
If you are in doubt, feel free to contact webmaster@ide.mdh.se
Automated Performance Profiling of Software Applications
Publication Type:
Licentiate Thesis
Publisher:
Mälardalen University Press
Abstract
For industrial systems performance, it is desired to keep the IT infrastructure competitive through the efficient use of computer resources. However, modern software applications are complex and often utilize a broad spectrum of available hardware resources. The way how applications utilize these resources may vary from platform to platform due to the different architectural features, requirements and performance levels guaranteed by the hardware as well as due to the type of application under analysis. It becomes challenging to predict how the deployed applications will perform on a particular platform, how to improve the hardware
resource utilization, and how to meet the Quality of Service (QoS) requirements.Computers these days enable us to precisely trace down the performance of
applications using the Performance Monitoring Counters (PMCs) available in
the Performance Monitoring Unit (PMU) of the processors. PMCs can record
micro-architectural events, called PMU events, at the CPU cycle level. Tools
like perf API and PAPI provide performance information using manual and
selective function calls. Nevertheless, it is difficult for humans to make analyses,
visualize performance over time and draw conclusions from this wealth of data
without automatic and intelligent tools.In this thesis, our first contribution is to propose a cross-platform automated approach to investigate the overall performance profile of the applications. Instead of relying on a static and pre-selected list of hardware and software performance events we avoid the selection bias by capturing the entire range of performance events specific to the platform on which applications are running.The performance data being generated from shared resource environments and hierarchical resource utilization demands makes it harder to represent the behavior in one model. That being the case, it was deemed appropriate to demonstrate the compact representation of behavior. So, our next contribution is to present a simplified model to understand the behavior of performance events. Therefore, we determine segments in performance data by locating the points in their data distribution using the change point detection method. The proposed solution reduces the complexity of data handling, allows the application of further statistical analyses and provides better visualization.Lastly, to reveal the out-of-sight information, we present a customized approach to automatically identify the groups of similar performance events based on the change in their behavior. There can be several ways to group the performance data, we opt to form the groups based on change points in the behavior of the performance events. The knowledge can then be used by the decision-makers as per their interests such as for load balancing, deployments,
scheduling and anomalous behavior detection.
Bibtex
@misc{Imtiaz7128,
author = {Shamoona Imtiaz},
title = {Automated Performance Profiling of Software Applications},
isbn = {978-91-7485-610-1},
month = {October},
year = {2023},
publisher = {M{\"a}lardalen University Press},
url = {http://www.es.mdu.se/publications/7128-}
}