Grid Computing
Grid computing is a computing infrastructure that combines computer resources spread over different geographical locations to achieve a common goal. All unused resources on multiple computers are pooled together and made available for a single task. Grid Computing can be defined as a network of computers working together to perform a task that would rather be difficult for a single machine. All machines on that network work under the same protocol to act as a virtual supercomputer. The task that they work on may include analyzing huge datasets or simulating situations that require high computing power. Computers on the network contribute resources like processing power and storage capacity to the network.
Grid Computing is a subset of distributed computing, where a virtual supercomputer comprises machines on a network connected by some bus, mostly Ethernet or sometimes the Internet. It can also be seen as a form of Parallel Computing where instead of many CPU cores on a single machine, it contains multiple cores spread across various locations. The concept of grid computing isn’t new, but it is not yet perfected as there are no standard rules and protocols established and accepted by people.
When a computer makes a request for resources to the control node, the control node gives the user access to the resources available on the network. When it is not in use it should ideally contribute its resources to the network. Hence a normal computer on the node can swing in between being a user or a provider based on its needs. The nodes may consist of machines with similar platforms using the same OS called homogeneous networks, else machines with different platforms running on various different OSs called heterogeneous networks. This is the distinguishing part of grid computing from other distributed computing architectures.
For controlling the network and its resources a software/networking protocol is used generally known as Middleware. This is responsible for administrating the network and the control nodes are merely its executors. As a grid computing system should use only unused resources of a computer, it is the job of the control node that any provider is not overloaded with tasks.
Another job of the middleware is to authorize any process that is being executed on the network. In a grid computing system, a provider gives permission to the user to run anything on its computer, hence it is a huge security threat to the network. Hence a middleware should ensure that there is no unwanted task being executed on the network.
The meaning of the term Grid Computing has changed over the years, according to “The Grid: Blueprint for a new computing infrastructure” by Ian Foster and Carl Kesselman published in 1999, the idea was to consume computing power like electricity is consumed from a power grid. This idea is similar to the current concept of cloud computing, whereas now grid computing is viewed as a distributed collaborative network. Currently, grid computing is being used in various institutions to solve a lot of mathematical, analytical, and physics problems.