There are three things that nobody can ignore: the rising of the sun, the changing of the seasons and Oracle announcing a new product. This time, it's Oracle 10g -- where g stands for grid. Just like the Enterprise, the company proclaims it is boldly going where no-one's gone before. But just like Kirk, wherever Captain Ellison goes, there's always someone there already.
Grid computing is so called as an explicit metaphor to electric power: you don't know where your power comes from when you turn on the light, nor do you care. It's perhaps not the most felicitous of comparisons at the moment, with London and New York both graphically aware of just how dark it gets when the grid goes down and you've no local resources. But the principle's sound: arrange for any computer on your network to accept processing tasks from any other, and spare capacity can quickly be put to use when you need it.
There's nothing particularly revolutionary about the idea. It's closely related to the standard way you build supercomputers these days, with sweating rows of processors chained to the oars of computation as they sail oceanic quantities of data. Grid computing isn't as tightly coupled as massively parallel systems, but it does require co-ordination and management of many remote resources. It's also inherently robust. Providing the network stays up, you can easily map a request to a spare node if the one you're using stops working.
All this gets you a rather attractive set of features: high powered management tools, inherent reliability and tons of otherwise spare computing power being put to good use. It's not all gravy, however. The reason that grid computing hasn't taken world by storm is that it's only really useful for certain classes of application. So far, those have been big science and engineering tasks, where enormous amounts of data can be partitioned out and chomped through over time. If you need to do lots of very different things to lots of data very quickly, the overhead of parcelling the instructions and data out then getting the results back makes the process unattractive compared to more centralised processing. Grid computing straddles the spectrum of processor usage, with the single-user, single CPU PC sitting quietly at one end, multiprocessor systems in the middle, and massively parallel magic at the other. Grid is a nice mix of them all, but it's not scooting off into a whole new dimension.
You might not know this if you listen to Oracle. Oracle has always been quick to highlight the similarities between what it does and grid computing, but this time the company's got religion -- and they're praising grid to the skies. Oracle's new 10g database technology is all about grid, and with typical marketing flair -- some might say overarching hyperbole -- this means that everything's all about grid.
"We've slashed the cost of management by making software manage itself", Benny Souder, VP Distributed Technologies says. According to the irrepressible Ellison, "after 40 years, we've created a whole new approach to enterprise computing". He pauses only to slag off IBM for doing nothing in that time except make bigger mainframes. Which would be a damning slap-down, had IBM not spent millions of dollars and many years creating, publicising and vigorously implementing huge swathes of grid technology.
The centre of the grid -- if you pardon the geometric faux-pas -- is the Globus Alliance. Over the past six years, this team of academic, government and commercial researchers have assiduously explored and tested the technology, creating the open-source Globus Toolkit of interfaces and source code. Corporate sponsors have been IBM and Microsoft, with other companies quick to follow. Including Oracle, which when it wasn't "resonating with the Grid" had created the Oracle Globus Development Kit for Oracle9i.
So one aspect of the grid, we must assume, is corporate amnesia. You might also wonder how Oracle, grid girdlers supreme, will cope with the following list of current shortcomings in the great plan as enumerated by Globus: a lack of end-to-end resource management and adaptation techniques able to provide application-level performance guarantees despite dynamic resource properties, poor automated techniques for negotiation of resource usage, policy, and accounting in large-scale grid environments, and few high-performance communication methods and protocols. In other words, how do you make something work fast and consistently over a network that may be neither, and how do you manage checking, charging for and controlling corporate resources when your entire modus operandi depends on extreme flexibility. You might wonder, but as yet there are no answers forthcoming from the mighty O.
It's trite and shop-worn to say Oracle is better at hype than delivery. Doubtless it means what it says. But the cynical will want to watch for existing ideas rebranded as new, shiny, grid-based innovations -- load balancing, storage virtualisation and resource synchronisation are all existing concepts that could be g'd up. The careful will want to see evidence of general applicability, which Oracle's promotion of existing sites such as CERN -- doing high energy physics on huge databases of result -- may not provide. And the outright suspicious may care to do their own research into the huge and ever-growing grid community that, pace Ellison, has been getting things done that way for more than half a decade.