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, Mohammad Hajiesmaili, Behnaz Arzani
TL;DR
This work presents SANJESH, a holistic analysis tool for ML-augmented systems that enables end-to-end evaluation of multiple interacting ML models within a production VM allocator. It frames the problem as a bi-level optimization with probabilistic constraints and uses a time-partitioning scheme plus a CEGAR-based mapping to identify adversarial inputs and the underlying VM features that cause degradation. Key findings include that SANJESH can reveal scenarios up to $4\times$ worse than trace-based simulations and that the CPU prediction often drives the primary end-to-end risk. The results demonstrate SANJESH's ability to answer practical operator questions, produce actionable risk surfaces, and generalize to other ML-enabled systems beyond the VM allocator.
Abstract
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.
