A Performance Analyzer for a Public Cloud’s ML-Augmented VM Allocator
- Roozbeh Bostandoost ,
- Pooria Namyar ,
- Siva Kesava Reddy Kakarla ,
- Ryan Beckett ,
- Santiago Segarra ,
- Eli Cortez ,
- Ankur Mallick ,
- Kevin Hsieh ,
- Rodrigo Fonseca ,
- M. Hajiesmaili ,
- Behnaz Arzani
arXiv
Many operational cloud systems use one or more machine learning models that help them achieve better efficiency and performance. But operators do not have tools to help them understand how each model and the interaction between them affect the end-to-end system performance. SANJESH is such a tool. SANJESH supports a diverse set of performance-related queries which we answer through a bi-level optimization. We invent novel mechanisms to solve this optimization more quickly. These techniques allow us to solve an optimization which prior work failed to solve even after $24$ hours. As a proof of concept, we apply SANJESH to an example production system that uses multiple ML models to optimize virtual machine (VM) placement. These models impact how many servers the operators uses to host VMs and the frequency with which it has to live-migrate them because the servers run out of resources. SANJESH finds scenarios where these models cause $~4\times$ worse performance than what simulation-based approaches detect.