“…Hosts cannot rely on guest cooperation, because: (1) clients may have disabled or opted not to install the balloon [10,53,74]; (2) clients may have failed to install the balloon due to technical difficulties [77,78,79,80,81,82,83]; (3) balloons could reach their upper bound, set by the hypervisor (and optionally adjusted by clients) to enhance stability and to accommodate various guest limitations [14,19,59,69,75,84]; (4) balloons might be unable to reclaim memory fast enough to accommodate the demand that the host must satisfy, notably since guest memory swapping involves slow disk activity [31,46,84]; and (5) balloons could be temporarily unavailable due to inner guest activity such as booting [84] or running high priority processes that starve guest kernel services. In all these cases, the host must resort to uncooperative swapping, which is notorious for its poor performance (and which has motivated ballooning in the first place).…”