Understanding and Mitigating Performance Variability on Managed Runtimes
Persone
(Responsabile)
Abstract
Performance variability is a well-known detrimental phenomenon, considered a longstanding, important and open research problem in both academia and industry. Variability causes serious and unexpected performance degradation in different executions of the same application, with no obvious reasons. Many programs are subject to variability, even if they are single-threaded, their input is unchanged between executions and they are run in stable execution environments. Hence, this phenomenon cannot be ignored. This project tackles this problem, aiming at understanding and mitigating variability, particularly focusing on applications running in managed runtimes. The project has three main goals: 1) identifying the main variability patterns severely affecting application performance and in which conditions they occur; 2) determining the root causes of variability; 3) designing and implementing new strategies to mitigate variability. As a result of the project, we will design and implement a framework, targeting arbitrary applications running in managed runtimes, to automatically detect and explain their variability, as well as suggest effective mitigation strategies. This project is challenging and complex, and we expect it to have wide impact, providing benefits to application users, performance analysts, managed-runtimes developers and service providers, in addition to bringing new interesting insights to the research community.