System performance is getting attention by industry as it af- fects user experience, and much research focused on perfor- mance evaluation approaches. Profiling is the most straight- forward approach to performance evaluation of software sys- tems, despite being limited to shallow analyses. Conversely, software performance models excel in representing complex interactions between components. Still, practitioners do not integrate performance models in the software development cycle, as the learning curve is too steep, and the approaches do not adapt well to incremental development practices. In this thesis, we propose three approaches towards automatic learning of performance models. The first approach employs a Recurrent Neural Network (RNN) to extract a full Queue- ing Network (QN) model of the system; the second one cal- ibrates a Layered Queueing Network (LQN) using an RNN; the third one presents μP, a framework that allows the user to develop microservice systems and obtain the correspond- ing LQN model from source code analysis. We considered the microservices architecture as it is embraced by influen- tial players (e.g., Amazon, Netflix). Those approaches have two advantages: i) minimal user intervention to flatten the learning curve; ii) continuous synchronization between soft- ware and performance model, such as each software devel- opment iteration is reflected on the model. We validated our approaches on several benchmarks taken from the literature. The models we generate can be queried to predict the sys- tem behavior under conditions significantly different from the learning setting, and the results show sensible advance- ments in the quality of the predictions.
Automatic and Accurate Performance Prediction in Distributed Systems / Garbi, G.. - (2023 Oct 27). [10.13118/giulio-garbi_phd2023-10-27]
Automatic and Accurate Performance Prediction in Distributed Systems
Giulio Garbi
2023
Abstract
System performance is getting attention by industry as it af- fects user experience, and much research focused on perfor- mance evaluation approaches. Profiling is the most straight- forward approach to performance evaluation of software sys- tems, despite being limited to shallow analyses. Conversely, software performance models excel in representing complex interactions between components. Still, practitioners do not integrate performance models in the software development cycle, as the learning curve is too steep, and the approaches do not adapt well to incremental development practices. In this thesis, we propose three approaches towards automatic learning of performance models. The first approach employs a Recurrent Neural Network (RNN) to extract a full Queue- ing Network (QN) model of the system; the second one cal- ibrates a Layered Queueing Network (LQN) using an RNN; the third one presents μP, a framework that allows the user to develop microservice systems and obtain the correspond- ing LQN model from source code analysis. We considered the microservices architecture as it is embraced by influen- tial players (e.g., Amazon, Netflix). Those approaches have two advantages: i) minimal user intervention to flatten the learning curve; ii) continuous synchronization between soft- ware and performance model, such as each software devel- opment iteration is reflected on the model. We validated our approaches on several benchmarks taken from the literature. The models we generate can be queried to predict the sys- tem behavior under conditions significantly different from the learning setting, and the results show sensible advance- ments in the quality of the predictions.| File | Dimensione | Formato | |
|---|---|---|---|
|
Giulio Garbi thesis_final.pdf
accesso aperto
Tipologia:
Tesi di dottorato
Licenza:
Creative commons
Dimensione
2.85 MB
Formato
Adobe PDF
|
2.85 MB | Adobe PDF | Visualizza/Apri |
I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.


