That depends on what the definition of Grid is

I have been doing some reading and a few weeks ago I came across an article by Corey Klaasmeyer on JavaWorld’s website.  He discusses the original definition of what a "grid" is with some of the history.  For example he quotes Ian Foster and Carl Kessellman from The Grid: Blueprint for a New Computing Infrastructure as saying, "A computational grid is a hardware and software infrastructure that provides dependable, consistent, pervasive and inexpensive access to high-end computational capabilities."

By this definition Appistry’s EAF qualifies.  But then Corey goes on to discuss the evolution of the definition and how Ian Foster has defined 3 requirements for being considerred a grid.  According to Ian a grid:

  1. Coordinates resources that are not subject to centralized control;
  2. Uses standard, open, general-purpose protocols and interfaces; and
  3. Delivers nontrivial qualities of service.

So Appistry again easily meets 1 & 3 above.  However 2. is debatable.  We have our own xml based meta-data syntax that we use to coordinate task execution.  We have discussed exposing this as WSDL and BPEL (which would be much more verbose) but then at least it would be "standard".  We are based on good old TCP/IP and UDP/IP so that sounds like general-purpose protocols to me.  So basically if I provided a set of XSLT transforms from our succint meta-data syntax to WSDL and/or BPEL would that then make us a true grid by Ian Foster’s definition?

Corey and I met for lunch today and discussed this idea and other things over awesome food at Illegal Pete’s in downtown Denver.  Ultimately I think we both decided that Appistry isn’t the purist form of a grid, but that we were compatible with it.  We also discussed the industies move toward using the term "grid" in a larger way in the market place.  Fuzzy’s blog discusses this concept and refers to others who attempt to define the classes of grids that exist in the market place today.

We don’t like to call our product an application server or a cluster because that term has so much baggage.  If we just call it a grid then its not clear how we are different than the efforts of the original father’s of grid computing.  So we’ve settled on the term "virutualized grid".  It would be cool to hold a vote to see how developers and architects describe software in this space.  Maybe Slashdot could do a poll.  I would vote for Cowboy Neal Grid.

-j

One Response to “That depends on what the definition of Grid is”

  1. Mike Herrick Says:

    I’m not so sure on virtualized grid. It is tough because as you mentioned and Nikita outlines, there are many flavors of grid. And there have been more than a few failures with more traditional hardware like grids. The problem (perhaps) with using the word “virtualized” is that there is also a virtualization craze on - and from my limited knowledge of your product, you don’t having anything to do with it (certainly can run on it).

    I have also seen the term “application grid”. Not sure I like that either.

Leave a Reply