We are all economists now
Callum Cameron, Jeremy Singer · 2014
Multiple virtual machine (VM) workloads are increasingly common, given the growth of managed enterprise application systems and consolidated virtual servers. Until now, there has been no principled approach to partitioning memory resource between multiple co-located VMs. In this paper, we develop a general framework for multi-VM heap sizing, based on the principle of utility maximization from microeconomic theory. We apply utility maximization to static heap sizing, and obtain performance improvements slightly better than current best-practice static heap sizing, and comparable with HotSpot ergonomics (current best-practice dynamic heap sizing). The major advantage of our approach is its simplicity and predictable resource utilization.