Workload Intelligence: Punching Holes Through the Cloud Abstraction
- Lexiang Huang ,
- A. Parayil ,
- Jue Zhang ,
- Xiaoting Qin ,
- Chetan Bansal ,
- Jovan Stojkovic ,
- Pantea Zardoshti ,
- Pulkit Misra ,
- Eli Cortez ,
- Raphael Ghelman ,
- Íñigo Goiri ,
- Saravan Rajmohan ,
- Jim Kleewein ,
- Rodrigo Fonseca ,
- Timothy Zhu ,
- Ricardo Bianchini
|
Today, cloud workloads are essentially opaque to the cloud platform. Typically, the only information the platform receives is the virtual machine (VM) type and possibly a decoration to the type (e.g., the VM is evictable). Similarly, workloads receive little to no information from the platform; generally, workloads might receive telemetry from their VMs or exceptional signals (e.g., shortly before a VM is evicted). The narrow interface between workloads and platforms has several drawbacks: (1) a surge in VM types and decorations in public cloud platforms complicates customer selection; (2) essential workload characteristics (e.g., low availability requirements, high latency tolerance) are often unspecified, hindering platform customization for optimized resource usage and cost savings; and (3) workloads may be unaware of potential optimizations or lack sufficient time to react to platform events. In this paper, we propose a framework, called Workload Intelligence (WI), for dynamic bi-directional communication between cloud workloads and cloud platform. Via WI, workloads can programmatically adjust their key characteristics, requirements, and even dynamically adapt behaviors like VM priorities. In the other direction, WI allows the platform to programmatically inform workloads about upcoming events, opportunities for optimization, among other scenarios. Because of WI, the cloud platform can drastically simplify its offerings, reduce its costs without fear of violating any workload requirements, and reduce prices to its customers on average by 48.8%.