What is Grid Computing?
By Josh Simons on Sep 08, 2006
The term "grid" has become confusing as the landscape has evolved, which is a shame because the ideas embodied in "the grid" and "grid computing" are extremely important. In my view, the essence of grid computing can be defined with three words:
This is sharing on a grand or global scale across multiple organizations, across heterogeneous computing resources, across a wide geographic scale, and across trust boundaries. The vision was motivated at least in part by the desire by the national (and international) research community and, perhaps more important, by their funding agencies, to share access to the extremely large and expensive supercomputer sites being established around the country. The TeraGrid is perhaps the best known of these grids.
This vision of a global grid is alive and well in the Globus Alliance and Global Grid Forum and elsewhere. It is still mostly, but not solely, a vision being driven by the research community. And it is yet another example of pioneering work begun in the High Performance Computing (HPC) community that is migrating into the mainstream. Lots of hard problems get solved by the HPC community and we all benefit.
At Sun, we recognized the value of the big vision of the global grid, but also saw a need to define some smaller visions that would appeal more directly to our customers, both technical and non-technical. To that end, we talk about three levels of grid computing.
The lowest level is the so-called departmental or cluster grid, which is most often instantiated as a set of horizontally-scaled resources in a single machine room with access to those resources mediated by a software framework called a distributed resource manager. Our DRM is called Sun Grid Engine . A departmental grid is usually under a single point of administrative control--it is owned by a group or department.
The next level is the campus or enterprise grid, which embraces a geographically distributed set of resources--in many cases, a group of departmental grids. As in the case of a departmental grid, the resources within an enterprise grid are all within a single organization's firewall. Unlike a departmental grid, the resources within an enterprise grid are often owned by separate groups or departments, although they are all ultimately under the control of the enterprise or organization to which they all belong.
The third and highest level of the grid hierarchy is the global grid as discussed earlier. The resources in a global grid are widely distributed geographically and owned by separate organizations.
Q: Are the terms "cluster" and "grid" synonymous?
A: No, they aren't. The former refers to a set of horizontally scaled resources (a pile of boxes), while the latter is a statement about how resources are made available--a statement about sharing. A grid infrastructure can and often does support sharing of cluster resources. But a grid can also enable sharing of other resources like massive amounts of storage or very high-end visualization capabilities. When you hear "grid," think "sharing" or "participation."
Q: What about Sun Grid Engine?
A: Using Sun Grid Engine to mediate access to a set of distributed resources creates a departmental grid. Potentially a very large departmental grid with thousands of processors.
Q: Is the
Sun Grid Utility actually a grid?
A: Yes, because the Sun Grid Utility enables resources to be shared remotely. But what kind of a grid resource is it? This is a bit tricky to answer due to our hierarchical definition of grids. Right now, access to Sun Grid Utility is via a portal through which users upload and launch their computations. To a user accessing the portal, the Sun Grid Utility looks like a departmental grid resource. As the Sun Grid Utility's capabilities continue to grow beyond portal access, it will be fair to view it as a global grid component.
Q: Is grid computing the same as utility computing?
A: No, it isn't. The initial choice of the term "grid" to describe sharing of distributed compute resources was driven by analogy to an electrical grid with power generated at large sites made available for local use over a wide area, ideally without the local consumer having to worry about the details of where or how the power is actually generated. That's the viewpoint of the utility consumer. When for-profit vendors think about a utility, they think about it from the provider's standpoint: they think about the billing model. Which I think has contributed to conflating the idea of utility computing with grid computing.
Grid computing is a statement about (let's all say it together) sharing, i.e., making resources available via remote access. Utility computing is a business model--it's about how you charge a customer for using your resources. Those resources might be extra CPUs or memory in a server that are made available to a customer on a metered basis. Or the resources might be a grid resource like the Sun Grid Utility.