Grid computing is a system where multiple interconnected machines collaborate to perform large-scale computational tasks. Each machine in a grid contributes resources, such as processing power, storage, software, or network capacity, which can be shared among users and applications. Grids can vary in size from a few machines in a department to geographically distributed systems spanning organizations or even countries.
A grid comprises machines, also called nodes, members, donors, clients, hosts, or engines, that provide resources to the system which are,
1. Computing Resources:
The main resource is CPU cycles. Applications can run on one machine, in parallel across machines, or multiple times on different machines. Scalability measures efficiency; performance may be limited by dependencies or resource contention.
2. Data Storage:
Grids provide integrated storage (data grids) using memory or secondary storage. Networked file systems (AFS®, NFS, DFS™, GPFS) allow capacity expansion, unified access, and reliable sharing. Database federation can combine multiple storage sources.
3. Communication:
High-speed internal and external communication is crucial for transferring jobs and data. Redundant paths improve reliability, and grid management monitors network bottlenecks.
4. Software & Licenses:
Software may be installed on specific machines to save costs. License management ensures concurrent usage limits are respected.
5. Special Equipment & Policies:
Grid machines vary in architecture, OS, and capabilities. Administrators can define resource types for policies, e.g., machines dedicated to medical or non-military tasks.
Jobs & Applications:
Applications consist of jobs and subjobs. Jobs may run in parallel, have dependencies, and produce outputs combined to complete the application.
Scheduling, Reservation & Scavenging:
Schedulers assign jobs to machines. Resources can be reserved for deadlines. Scavenging uses idle machines without disrupting local users. Heuristics optimize multi-resource scheduling.
Software manages resource allocation, scheduling, and monitoring. Complexity ranges from manual to fully autonomic.
9. Intragrid & Intergrid:
Intragrid: Heterogeneous machines within an organization, with internal policies and scheduling.
Intergrid: Grids across organizations, requiring strong security, dedicated networks, and resource brokering.