From this unit, I understood that grid computing is a system where many different machines (also called nodes or resources) are connected together to share their resources. These resources can include processing power (CPU), storage, data, communication bandwidth, and even licensed software. All these machines work together as one large system to solve bigger problems faster and more efficiently.
One important thing I learned is that the most common resource in a grid is computing power. A grid can use multiple processors to complete tasks. There are three main ways to use grid computing:
-
Running an application on another machine instead of locally.
-
Splitting an application into parts that run in parallel on different machines.
-
Running the same application many times on different machines.
The concept of scalability was also very important. If adding more processors reduces the execution time proportionally, then the system is scalable. However, scalability can be limited when tasks depend on each other or compete for shared resources.
Another major resource in grid computing is data storage. A grid can combine storage from many machines to increase capacity and performance. This is sometimes called a data grid. Technologies like Andrew File System, Network File System, Distributed File System, and General Parallel File System help in sharing and managing files across different machines. I also understood concepts like data striping, which improves performance by spreading data across multiple disks, and journaling, which improves reliability.
Communication is another key part of grid computing. Machines need strong network connections to send jobs and data between each other. If bandwidth is limited, it can reduce performance. Sometimes redundant communication paths are used to improve reliability and avoid failures.
The unit also explained how software licenses can be managed in a grid. Instead of installing expensive software on every machine, jobs can be sent only to machines that have the required software installed. License management tools ensure that only the allowed number of users run the software at the same time.
I also learned about jobs and applications. An application can be divided into many jobs and sub-jobs. Some jobs can run in parallel, while others depend on the output of previous jobs. The grid system uses a scheduler (or resource broker) to decide which machine should run each job. There are different approaches like:
-
Manual scheduling
-
Automatic scheduling
-
Scavenging (using idle machines)
-
Reservation (booking resources in advance)
Scavenging grids use idle machines without disturbing their normal users, but this can make completion times unpredictable. Dedicated grid machines provide more stable performance.
Finally, I understood that grids can exist at different levels:
-
A small homogeneous grid (similar to a cluster)
-
A heterogeneous grid within one organization (intragrid)
-
A grid across multiple organizations (intergrid)
As the grid grows, policies and security become more important, especially when sharing resources between departments or organizations.
Overall, this unit helped me understand how grid computing combines multiple distributed resources to improve performance, storage capacity, and efficiency. It also showed me that managing a grid requires careful scheduling, resource management, security, and communication planning.