Microsoft researchers explore 'job-centric' cloud model

25.10.2012
Elasticity -- the ability to ramp up or down computing resources depending on need -- is one of the key benefits of cloud computing. Not being shackled to their own, in-house hardware means organisations can dial up the amount of resources they need to crunch big data sets, run their Web presence during spikes and troughs in demand and process periodic jobs without needing the internal resources necessary to cope with peak demand.

But although the IT department may be less likely to have to run out to buy a new server or two, they will still have to make decisions about the purchase of resources from a cloud provider. Of course, cloud computing will let you change your mind and respond to changes in an organisation's demand, but, according to a group of Microsoft researchers, there may be an easier way to go about it, with benefits for both providers and 'cloud consumers'.

In a paper -- presented at the ACM Symposium on Cloud Computing 2012 earlier this month and titled Bridging the Tenant-Provider Gap in Cloud Services -- the researchers make the case for allowing cloud tenants to purchase resources based on a "job-centric" model. A job-centric cloud would add another layer of abstraction to the cloud by having an interface that lets tenants specify performance and cost goals, instead of an interface that lets them more directly allocate resources.

The researchers -- Virajith Jalaparti, Hitesh Ballani, Paolo Costa, Thomas Karagiannis and Ant Rowstron from the Microsoft Research lab in Cambridge, UK -- make the case that not only would a job-centric interface make life easier for cloud tenants by removing the burden of translating their "high-level goals into the corresponding resource requirements", but it would add flexibility for cloud providers by allowing them to allocate which and how many resources to a job, as well as when to allocate these resources.

Cloud tenants are mostly concerned about predictable application completion times and costs. "However," the paper states, "with today's setup, tenants are responsible for mapping such high-level completion time goals down to specific resources needed for their jobs." Although this issue has been tackled, it's normally been from the point of view of working out the size and number of virtual machines, not dealing with shared provider infrastructure such as the network.

At its heart, from the providers' point of view, the appeal of a job-centric interface is that different combinations of resources can be used to complete the same job for a customer. An example the paper cites is a job that could be run over a small number of virtual machines with a lot of network bandwidth or a lot of virtual machines with a little bandwidth, "or somewhere in between".