Grid Computing is a subset of a more general class of Distributed Computing.
I personally find that Distributed Computing sits at the top of the Parallel Computing food chain, and Grid Computing is the next most general class of distributed systems. This is then followed by Cluster of workstations, otherwise known as COWs, and the most specific of the lot, Cluster Computing. In my opinion, all these are classes of High Performance Computing or Super Computing.
In each of these stages, the complexity of the system decreases as the underlying assumptions increases. For example, in Grid, systems are heterogenous, while in clusters, the systems are homogenous. Also, in Grids, issues in security are hard to resolve while in Clusters, security is assumed to be transparent.
Grid can be defined as a â€œco-ordinated resource sharing and problem solving in dynamic, multi-institutional virtual organizations.â€ – Anatomy of the Grid
i find the above definition one of the most agreeable to what i understand of Grids.
Tools and Software for Grid Computing
There are several available tools for Grid Computing. This includes things such as schedulers, middle-ware and even applications. All these things needs to work together in order to create an environment that is suitable for Grid. Some of these tools relates closely with High Performance Computing as Grid Computing has many of its roots from that very same area. Below are some information that i have either written or found with respect to Grid Computing. For HPC guides, please refer to my Guides for High Performance Computing.
- Globus Toolkit
- Condor Scheduler
- Platform LSF