Cherrypicking Virtual Machines in a Public Cloud

How often do you pass over a bruised apple at the supermarket in favor of a nice, smooth, red one? We all know that although the apples in a bin are priced identically by weight, they vary in quality. So you can buy better apples at a given price through careful selection.

Resources in public clouds are sold on the same premise of uniform quality as apples. A virtual machine (VM) of a given type, for instance, is a fixed-sized bundle of resources—CPU, local storage, and so forth—that is rented to a tenant at a set hourly rate. Yet VMs, like apples, vary in quality. A VM’s performance depends on the CPU model in the machine on which it sits, the workloads of its neighbors (the VMs of other tenants), and a variety of other characteristics.

Is it possible, then, for a savvy shopper in a public cloud to throw bad fruit back into the bin? In other words, does careful selection enable a clever tenant to get higher-performing VMs for a given amount of money? The answer is yes.

In a paper recently presented at the Symposium on Cloud Computing (SOCC), academic colleagues at Univ. of Wisconsin together with RSA Labs have shown that it’s possible for a tenant to game public clouds to achieve better VM performance. Public clouds don’t allow tenants to select VMs freely like apples in a supermarket. But tenants can periodically shut down under performing VMs and spin up new ones. In our experiments in a public cloud, exploiting this small degree of control yields performance gains of 5% for CPU-bound jobs and 34% for bandwidth-intensive jobs.

Essentially any public cloud with a simple pricing regime is likely to be vulnerable to such gaming by tenants. A natural follow-up question is what happens if  cherrypicking by tenants becomes standard practice. The answer may be like the one at the supermarket: Avoid shopping for picked-over VMs on a Sunday evening.

The paper ((c) ACM) is here: “More for Your Money: Exploiting Performance Heterogeneity in Public Clouds

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>