Thoughts on Sun's Grid
Since my company's product (Centauri) is a part of Sun's N1 Grid Reference Architecture, I decided to sign up for a Sun Grid account to try out the service. After a few fits and starts (primarily having to do with requiring a PayPal account for some random reason), I finally received a note from Sun last week that my Grid account was set up and ready to go (if you 'd like to try it yourself, go to www.network.com).
Basically, the idea behind a grid is that a large number of computing machines are linked together into a "grid," ready to serve processing needs. There are two main initiatives in this area (well, actually three, but HP's offering isn't even close to baked): Sun's Grid and IBM's Grid. Sun's offering provides CPU facilities on an as-needed basis for $1/CPU hour, with no requirements as to maximum and minimum usage--just like an electric utility, you just use the compute power when you need it. The idea is really germane for large enterprises, which have cyclical/seasonal spikes in compute need (a classic example is retail, which typically needs a lot of resources in the November and December months).
It's a great idea, and since we're a part of Sun's initiative, I thought I'd give their compute utility a spin. Sun makes it sound really easy to use: 1) upload your application, 2) run your job, and 3) get your results. Unfortunately, step #1 is where it gets hairy--it's not easy or intuitive in the least to upload an application to the grid.
First, you have to upload a standalone (no console input), 32- or 64-bit pre-compiled application that will run on the Solaris 10 x86 operating system, or a generic Java binary. This automatically excludes pretty much most of the market, as I for one don't have an application of that type just lying around waiting to be run. There are clearly markets that do--such as life sciences--but this is far from an intuitive way to demonstrate the grid to a casual or business user. Once the application is uploaded, then steps 2 and 3 are pretty straight forward.
Unfortunately, this offering is going to go nowhere with your typical user of technology unless it gets much easier to use. I have an idea that probably involves a lot of coding and would definitely require some guru-level Windows operating system knowledge, but if this is possible, it would open up the Sun Grid to virtually anyone.
I got this idea the other day when I was playing with my sparkling new Dell Latitude laptop, which has an Intel Centrino Duo dual-core processor (basically it's two processors in one chip). One of the neat features of having two processors is the concept of "processor affinity" -- you can easily specify which processor you would like a given Windows task to run on (both or only one, and you can even specify exactly which processor). This is useful if you have an application that uses a lot of CPU (like a video rendering application)--you can tell Windows to allow it to run on only one processor, thereby keeping your system responsive and available for other tasks.
My idea is this--what if Sun provided a "hook" into the Windows OS that allowed the grid to appear in the Windows task list as an additional processor? I could then tell the grid to handle the processing needs of my video rendering application, which would conceivably be a lot faster than my dual core processor, even if I allow it to run on both processors at full tilt. There are of course many loose ends to this idea, such as how to get the data that needs to be processed up to the grid (you probably don't want to try to move gigabytes of data across the Internet), but it's just this sort of simplicity that would open up the grid to a market larger market--there are thousands of "power users" such as myself that would love to offload large processing tasks to the grid, especially if the costs were reasonable, known in advance, and capped somehow.
That actually leads me to utility computing problem #2--how do you estimate costs for a job before you actually incur them, and make sure that costs don't go through the roof? For example, using my video rendering example above, I'd really like to know if offloading the process to the grid is going to cost $1, $10 or $100 *before* I submit it (it would probably be OK if you could at least get an estimate once the job has been sent up to the grid and before processing has begun). I would also want to be able to place a spending cap on the job so that I don't wind up with a $10,000 processing bill.
One last thought on making the grid easier to use and opening it up to a larger market--I've thought for a number of years that if Sun and IBM could open up their grids to so-called "commodity hardware" (vis a vis desktop PCs, etc), they could tap an incredibly large pool of largely unused processor power. For example, I run an application on my laptop called 'Boinc', which allows me to dedicate my unused processor cycles to various causes such as the Search for Extra-Terrestrial Intelligence (SETI) and Rosetta (the former searches radio signals from space for signs of life, and the latter searches for cures to diseases such as cancer).
If you take this concept and apply it to large enterprises, which have tens of thousands of desktop PCs, and consider that most of them are unused 90%+ of the time, and then plug this unused capacity into a grid, they could tap an incredible source of compute power--one that is also basically free (since CapEx costs for the equipment are already incurred--the only additional cost is additional electricity used and possibly some wear-and-tear by running the CPU at high levels).
I can think of one main reason why Sun and IBM haven't tapped this pool of resources--how do you monetize it? If you're in the business of selling computing capacity, why would you want to provide technology that makes it easier *not* to use the commercial grid services? This would make more sense for a startup that would be in the business of selling the grid technology itself, rather than the utility of a grid.
In summary, I think that for utility computing to truly achieve the status of a utility that is available to the common person, it's got a long way to go. In the meantime I'm sure it will begin to be adopted by specialized vertical markets that have heavy compute requirements, like life sciences and entertainment, but I for one am at a loss as to how to make use of my ten free Grid CPU hours that Sun so gracefully provided me...
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment