An Interesting Time-Sliced Cloud

By David Collier-Brown
August 23, 2009

In this month's IEEE Computer, there's an interesting article about using a Cloud in a non-business critical environment, mixed academic and high-performance computing. [Schaffer et all, NCSU's Virtual Computing Lab: A Cloud Computing Solution, in IEEE Computer, July 2009 pps 94-97, for-pay link]

In their cloud, a professor can book a set of machines for a particular time each week for a lab, or a student can book a particular configuration of machine to do their homework. Time not booked goes into the general HPC pool, and is used for non-instructional computing

Why Not Time-Slices?
A commercial entity could use the same tactic: allow people to book time from a set of machines, but pre-book the whole of the machine or machines for the more business-critical quarter- and year-end processing.

Imagine, for a moment, that you've a large server that is dedicated to running your sales system. It loafs along through most of the month at perhaps 50% utilization, then jumps to over 90 at quarter- and year-end, when all the accounts have to be finalized and reported on.

If you let additional user on the system during the quiet periods, you can recoup your investment faster, but you risk overloading it when accounting needs the whole machine.
So why not "sell" slices of the machine within the company? Each quarter, you could look at how busy the system was, predict how busy it will be in the next three months, and convert the spare CPU-hours into a "share" of the machine that you can afford to sell. If it's a big Solaris machine, you could literally turn it into a share, an amount of CPU that is guaranteed to a zone or virtual machine.

Put the shares into a spreadsheet of hours that internal customers could buy, but take out the periods at month-, quarter- and year-end , and allow customers to sign up for a certain number of connect hours, possibly for a nominal price, cheap enough to make it cheaper than buying redundant hardware of their own,and save on the company-wide bottom line.

Welcome to the Past

Of course, this isn't a new idea: mainframes were time-shared in much this way in the past, but primarily as a serious money-making method, and usually without having a primary application that occupied the machine at particular times. There's still code in Unix accounting to keep track of connect-hours by user, from the days when no-one had a personal computer.
Now consider something half-way between old-fashioned time-sharing and the sketch above. Find a machine or machines that are under-employed part of the year, and use their spare cycles in a profit-making cloud. Pre-book the busy periods, and offer the rest in the form of virtual-machine time to other companies.
Any company that doesn't have the same peaks as you could benefit from the offer: if they don't have the capital to buy large servers for themselves, a reasonable price for time on yours might make sense.

In particular, it might make sense for uses other than running their critical applications. For that customers would want strong service level guarantees and no unavailable periods. Instead, this might be suitable for their non-critical needs, like development, QA and testing, so long as the costs are comfortably low.

There are as many Clouds as clouds.

This is yet another kind of cloud, the cloud as provider of low-priority, low-cost services, using cycles "left over" on a large, occasional-busy server. And I'm sure there are lots more kinds, so I'm going to go looking...

You might also be interested in:

News Topics

Recommended for You

Got a Question?