Grid Computing Unit Two: Summary of Concepts and Case Studies
This unit covers the fundamental building blocks of a grid, from the types of resources it manages to the software that orchestrates it, and concludes with case studies that apply these concepts.
Part 1: Core Grid Concepts and Terminology
A grid is a collection of machines (nodes, resources, donors) that contribute various resources. These can be shared by all users or have specific restrictions.
2. Computational Resources
The most common resource is computing cycles from processors. Grids exploit computation in three primary ways:
- Running existing applications on a remote machine.
- Parallel processing: Splitting an application into parts that run simultaneously on different processors.
- Parameter sweeping:Running the same application many times on different machines.
- Scalability measures how efficiently adding processors improves performance. Perfect scalability means doubling the processors halves the execution time.
3. Storage Resources (Data Grid)
A grid providing an integrated view of data storage is a **data grid**.
- Types: Fast, volatile memory (for caching) and persistent secondary storage (hard disks).
- Unifying File Systems: Systems like AFS, NFS, or GPFS can combine storage from multiple machines to increase capacity, provide a single, uniform namespace, and eliminate file size limits.
- Advanced Features:
- Data Striping: Spreading data across multiple disks to increase transfer speeds for large, sequential data (e.g., from scientific experiments).
- Journaling and Synchronization: Improves data reliability after failures and manages concurrent data access by multiple users.
4. Communications Resources
High-bandwidth communication is critical for grid computing.
- Internal Communication: Needed to send jobs and data between grid nodes. This is often a key bottleneck.
- External Communication: Internet access is valuable for applications like search engines.
- Network Management: Redundant paths and high-speed networks are used to handle failures and traffic demands.
Grids enable efficient use of expensive software.
- License-aware Scheduling: Jobs are sent only to machines where the required (and often costly) software is installed.
- Concurrency Management: For software with limited concurrent licenses, the scheduler tracks usage and queues jobs to prevent exceeding the license limit.
6. Specialized Equipment, Architectures, and Policies
- Hardware/OS Constraints: Jobs often require specific architectures (e.g., x86 vs. PowerPC) or operating systems.
- Artificial Resource Types: Administrators can create logical resources based on policy, such as tagging machines for "medical research only" or excluding them from "military" work. The scheduler then uses these tags to enforce policies.
- Application: A top-level piece of work, often broken down into smaller units.
- Job: A single executable program, command, or task. This is the fundamental unit of work scheduled on the grid.
- Subjobs: Further breakdown of a job.
- Dependencies: Jobs may depend on others (waiting for their output) or require specific data to be present, creating a complex workflow.
8. Scheduling, Reservation, and Scavenging
These are the core mechanisms for assigning work to resources.
- Scheduling: Automatically finds the most appropriate machine for a job based on current resource availability.
- Scavenging: Uses idle cycles from machines (e.g., student labs). Grid jobs run at the lowest priority and are suspended if the local user becomes active. This is unobtrusive but leads to unpredictable completion times.
- Reservation: Resources are booked in advance to guarantee quality of service and meet deadlines, similar to reserving a conference room.
- Optimization: Advanced schedulers consider multiple resources (e.g., CPU and data location) to reduce network traffic and improve performance, often using heuristics to solve complex scheduling problems.
A range of software manages grid functions, from simple manual procedures to sophisticated, autonomous (self-managing) systems.
- Cluster: A simple, often homogeneous group of machines.
- Intragrid: A grid within a single organization. It can span multiple departments and locations, introducing needs for heterogeneous support, policies, and security.
- Intergrid: A grid that crosses organizational boundaries, used for collaboration. It requires the highest levels of security and may involve resource trading or brokering.
Part 2: Case Study Analysis (Applying the Concepts)
The following case studies demonstrate the practical application of key grid computing concepts in real-world scenarios.
1. Medical Imaging Grid
Core Concepts: Specialized Equipment, Policies, Security
Key Discussion Points:
-
The scheduler must match MRI processing jobs to GPU-enabled nodes.
-
Nodes must have the required licensed medical imaging software installed.
-
Strict access controls and security policies are essential to protect sensitive patient data.
-
Compliance with healthcare data protection standards is mandatory.
2. Student Scavenging Grid
Core Concept: Scavenging
Key Discussion Points:
-
Grid software runs at the lowest system priority.
-
Jobs must be instantly suspended when a student logs in.
-
The local user’s experience must never be degraded.
-
Automatic job resumption occurs when the machine becomes idle again.
3. Weather Prediction Data Grid
Core Concept: Storage (Data Striping)
Key Discussion Points:
-
Data striping enables high-speed parallel reads of massive climate datasets.
-
Improves performance for large-scale simulations.
-
Risk: A single node failure may corrupt or render striped data inaccessible.
-
Redundancy mechanisms (e.g., replication or parity) are required to ensure reliability.
4. Multi-Cluster Campus Grid
Core Concepts: Intragrid, Scalability, Hierarchical Management
Key Discussion Points:
-
Distributed management avoids a single point of failure.
-
Improves scalability across multiple departments or campuses.
-
Cross-cluster scheduling is complex due to:
-
Different local policies
-
Resource ownership boundaries
-
Network latency variations
-
5. Software Licensing Bottlenecks
Core Concept: Software and Licenses
Key Discussion Points:
-
Software licenses are treated as limited, schedulable resources.
-
Jobs requiring a license must be queued if all licenses are in use.
-
Jobs without license requirements should be redirected to available nodes.
-
Prevents unnecessary idle hardware while waiting for licenses.
6. CPU Donation Program
Core Concepts: Scavenging, Software Components
Key Discussion Points:
-
Donor software must run only when the system is idle.
-
It must remain unobtrusive to avoid disrupting users.
-
Strong sandboxing is required to prevent access to local files.
-
Secure execution ensures user data privacy.
7. Remote Sensor Data Aggregation
Core Concepts: Storage, Communications
Key Discussion Points:
-
Prioritize storage on nodes with high capacity and fast write speeds.
-
Reduce latency using edge processing (process data near collection source).
-
Schedule large data transfers during off-peak hours.
-
Optimize bandwidth usage to prevent congestion.
8. Research Lab Reserved Resources
Core Concepts: Reservation, Policies
Key Discussion Points:
-
Resource reservations guarantee availability for critical projects.
-
Risk of resource waste if reserved resources remain idle.
-
Policy solution:
-
Allow scavenging by lower-priority jobs.
-
Immediate preemption when reserved job begins.
-
9. Distributed Rendering
Core Concepts: Specialized Equipment, Scheduling
Key Discussion Points:
-
Scheduler must recognize GPU types and hardware capabilities.
-
Rendering tasks must match compatible GPU models.
-
GPU-rich nodes may receive higher priority for rendering workloads.
-
Proper matching maximizes throughput and reduces render time.
10. Financial Institution Grid
Core Concepts: Security, Architectures, Policies
Key Discussion Points:
-
Jobs restricted to nodes meeting strict compliance requirements.
-
Scheduler must enforce security-level constraints.
-
Architecture compatibility (e.g., specific OS requirements) must be respected.
-
Isolation mechanisms may be required for sensitive workloads.
11. Mixed OS Environment
Core Concepts: Architectures, Scheduling
Key Discussion Points:
-
Scheduler maintains an inventory of node operating systems and architectures.
-
Jobs are assigned only to compatible environments.
-
Virtualization may be used to abstract OS differences.
-
Ensures reliability and prevents runtime failures.
12. Synchronized Scientific Subjobs
Core Concepts: Communications, Jobs
Key Discussion Points:
-
MPI-based jobs require low latency and high bandwidth.
-
Subjobs must be assigned to physically or logically close nodes.
-
Poor placement can cause synchronization delays.
-
Network topology awareness is critical for performance.
13. Grid Facing Network Congestion
Core Concepts: Communications, Scheduling
Key Discussion Points:
-
Network bandwidth treated as a schedulable resource.
-
Large data transfers scheduled during off-peak periods.
-
Apply data locality: move computation to data instead of data to computation.
-
Reduces congestion and improves overall efficiency.
14. Real-Time Disaster Response
Core Concepts: Scheduling, Resource Matching
Key Discussion Points:
-
Requires precise resource matching:
-
Fast CPU nodes → real-time analytics
-
High-storage nodes → data aggregation
-
-
Dynamic, priority-based scheduling is essential.
-
Rapid scaling required under emergency conditions.
15. Grid Failure & Autonomic Recovery
Core Concept: Grid Software Components
Key Discussion Points:
-
Autonomic systems detect management node failures automatically.
-
Failover to redundant backup node occurs immediately.
-
Lost jobs are reassigned.
-
Redundancy in critical components ensures resilience and high availability.