Sun’s MacRunnels doesn’t think customers will view her product in traditional outsourcing terms at all in a few years. “We
want it to be as easy as simply purchasing CPU cycles,” she says. Sun claims it’s talking to electronic trading exchange Archipelago
about allowing Sun Grid customers to trade excess purchased CPU cycles to each other during down cycles.
Getting on the grid
Grids provide a perfect entry into the utility-computing space because they follow the golden rule of offering more for less:
namely, the power of a supercomputer for the price of a few workstations. They offer unheard of flexibility and they don’t
require you to rip out existing infrastructure. And these benefits extend to outsourcers as well as those running grids in-house.
Don Becker, CTO of Penguin Computing, a manufacturer of Linux-based grid solutions, offers a succinct definition of grid computing.
“A grid cluster is a collection of independent machines connected together by a private network with a specific software layer
on top,” Becker explains. “This software layer has to make the entire cluster look like a single computing resource.”
A master node controls a varying number of such processing nodes with the ultimate goal being that, to the operator of the
master node, the entire ensemble looks like a single processing unit. The most common example of a grid in action is that
of the suddenly stressed Web server.
“E-tailers, for example,” Pund-It’s King explains, “have 30 percent of their business happening between January and October
and 70 percent occurring between October and December because of holiday sales.” If the e-tailer is running a grid, the master
node administrator can simply spawn off several more virtualizations of Apache in early October, and thus handle the additional
traffic. Even better, he can do it all in a few minutes or even schedule it to happen automatically based on a performance
policy.
Although the standards for hardware grid management are evolving rapidly, they’re still missing a critical component. “One
of the big challenges in running software in any grid environment amounts to reorganizing your software,” says Brian Chee,
a senior programmer on a 90-node utility cluster being built for the bioinformatics department at the University of Hawaii.
“The problem needs to be divided up into chunks and assigned to each processing node, and the transfers of data and results
needs to be organized synchronously or asynchronously. When you’re linking two grids, the problem gets divided into two, sent
to each grid, and is there again subdivided onto those grids. Results are reassembled the same way.”
That means designing software for use on a grid is difficult and time-consuming because it requires a rewrite to comply with
an MPI (message passing interface), the foundation of grid computing. “That’s not something you can just bolt on,” says David
Aubrey, a software architectural consultant. “That’s a ground-up rewrite and a very difficult one because of the communication
issues.”
By itself, this is reason enough for most enterprises to have ignored grid computing. During the past year or so, however,
new toolkits -- such as the one from the Globus Alliance -- have arrived to help this process.