Grid computing is a distributed architecture that uses a group of computers connected by networks to work together to accomplish a joint task. It can be thought of as a distributed system with non-interactive workloads that involve many files. Grid computing is distinguished from conventional high-performance computing systems such as cluster computing in that grid computers have each node set to perform a different task/application. Grid computers also tend to be more heterogeneous and geographically dispersed than cluster computers.
Grid computing works by running specialized software on every computer that participates in the data grid. The software acts as the manager of the entire system and coordinates various tasks across the grid. Specifically, the software assigns subtasks to each computer so they can work simultaneously on their respective subtasks. After the completion of subtasks, the outputs are gathered and aggregated to complete a larger-scale task.
Grid computing can be viewed as a subset of distributed computing, where a virtual supercomputer integrates the resources of several independent computers that are distributed across geographies. Computers participating in a grid contribute resources such as processing power, network bandwidth, and storage capacity to perform operations requiring high computational power. Grid computing can be used in various industry verticals, such as IT, automotive, aerospace, astronomy, physical sciences, life science, and even the media industry.
Some key components of grid computing include:
- Data Grid: A system that operates on a data grid where computers collaborate under a common protocol and work as a single virtual supercomputer to get complex tasks done.
- Grid Middleware: A specialized software that connects and controls computing resources in the grid network. The software handles the requests from the user nodes, manages resources, and provides security to the system by preventing misuse of results and resources.
- Grid Architecture: Represents the structure of each computer within the network. Each node has four layers: high-level applications, middleware, operating system, and hardware.
Grid computing allows for breaking down an enormous, complex task into smaller, easy-to-handle tasks performed on different computers simultaneously. This results in computations being completed within shorter time frames and with an efficient use of available resources. Grid computing also allows the reuse of existing hardware resources to handle different tasks, which eliminates the need to purchase extra resources.