Unit 2 : Summary Understanding unit 2 content

Unit 2 : Summary Understanding unit 2 content

by Pacifique TUYIZERE -
Number of replies: 0

Part 1: Overview of Grid Computing

A grid is a collection of interconnected machines  also called nodes, resources, members, donors, clients, hosts, or engines  that collectively contribute resources to a shared pool. These resources may be used by all grid users or restricted to specific groups.

 

Grid computing leverages heterogeneous machines that differ in processor speed, architecture, software platform, memory, storage, and connectivity. The fundamental value proposition of a grid is that it can aggregate the idle or underutilised capacity of many machines into a powerful shared infrastructure.

 

Three Primary Ways to Exploit Grid Computation

The lecture identifies three distinct modes of exploiting grid computing resources:

 

1.    Mode 1: Direct Execution — Running an existing application on an available machine in the grid rather than locally — the simplest approach requiring no application redesign.

2.    Mode 2: Parallel Execution — Using a specially designed application that splits its work so separate parts execute in parallel on different processors simultaneously.

3.    Mode 3: Distributed Repetition — Running an application that needs to be executed many times across many different machines simultaneously.

 

Scalability

Scalability measures how efficiently multiple processors are utilised. Perfect scalability means doubling processors halves execution time. In practice, limits arise when applications cannot be split beyond a certain number of parts, or when those parts experience interdependencies such as resource contention.

 

Part 2: Grid Resources

1. Computational Resources

The most common grid resource is computing cycles provided by processors. Jobs can be assigned to available processors across the grid, enabling work that would be infeasible on a single machine.

 

2. Data Storage Resources

Each machine typically contributes some quantity of storage — either primary memory (fast but volatile) or secondary storage (hard drives, persistent media).

 

       Memory is best used as a cache or temporary storage for running applications due to its speed but volatility.

       Secondary storage can increase capacity, performance, sharing, and reliability of data across the grid.

 

Networked File Systems

Grid systems commonly use mountable networked file systems including:

       AFS (Andrew File System)

       NFS (Network File System)

       DFS (Distributed File System)

       GPFS (General Parallel File System)

 

These file systems offer varying degrees of performance, security, and reliability. A unifying file system provides a single uniform namespace so users can reference grid data without knowing its exact physical location.

 

Data Striping

Data striping distributes data sequentially across multiple storage devices, creating the virtual effect of faster storage than any single drive could provide. This is critical for use cases such as multimedia streaming, CAT scan data collection, or particle physics experiments where data volumes and rates are extreme.

 

Journaling and Synchronisation

Grid file systems may also implement journaling (enabling recovery after failures) and advanced synchronisation mechanisms (reducing contention when data is shared by many users simultaneously).

 

3. Communication/Bandwidth Resources

The rapid growth in network capacity has made grid computing practical. Grid communication resources include:

       Internal grid communications: sending jobs and data between grid nodes. Bandwidth is often a critical limiting factor for grid utilisation.

       External communications: Internet access for tasks like building search engines, providing additional total bandwidth through non-overlapping connection paths.

       Redundant communication paths: needed to handle network failures and excessive traffic. Grid management systems can visualise topology and highlight bottlenecks.

 

4. Software Licences as Resources

Some software is too expensive to install on every machine. Grid systems can route jobs requiring licensed software to the specific machines where it is installed, saving costs. Licence management software tracks concurrent usage and prevents over-usage. Schedulers can be configured to factor software licence availability into their job assignment decisions.

 

5. Special Equipment, Architectures, and Policies

Different machines may have distinct hardware architectures, operating systems, specialist devices, and capacities. Administrators can create artificial resource types to enforce policy constraints. For example, machines may be tagged as available only for medical research or restricted from military applications, with a certification procedure ensuring jobs are correctly classified.

 

Part 3: Jobs and Applications

The hierarchy of work in a grid is: Application > Job > Subjob. The grid industry also uses terms such as transaction, work unit, or submission to describe jobs.

 

       Applications are the highest-level unit of work, consisting of one or more jobs scheduled on the grid.

       Jobs are programs executed at appropriate grid points. They may compute, run system commands, move data, or operate machinery.

       Subjobs are further subdivisions spawned by jobs based on the data they process, forming a dynamic hierarchy.

 

Jobs may have dependencies: they may require specific input data copied to their assigned machine, or they may depend on the output of other jobs that must complete first. Managing this workflow — and assembling the final output — is a core challenge of grid application design.

 

Part 4: Scheduling, Reservation, and Scavenging

Scheduling

Schedulers automatically find appropriate machines for waiting jobs, reacting to current resource availability. Advanced schedulers implement job priority systems (using multiple queues), policy constraints (e.g., time-of-day restrictions), and heuristics to optimise multi-resource scheduling. A resource broker extends the scheduler concept with bartering capabilities.

 

Optimal multi-resource scheduling is mathematically complex; heuristics are used to find practical solutions. It is desirable to assign jobs to machines nearest to the required data, reducing network traffic and improving scalability.

 

Scavenging

Scavenging grids use otherwise idle machines by reporting idle status to a management node, which assigns queued jobs. Grid jobs run at the lowest OS priority level, yielding instantly when the host machine resumes local activity. This creates somewhat unpredictable completion times but is non-disruptive to host machine users.

 

Reservation

Resources can be reserved in advance, like a calendar booking system for conference rooms. This meets deadlines and guarantees quality of service. Reserved-but-idle resources may be used for lower-priority scavenged work, yielding when the reservation period begins. Combinations of scheduling, reservation, and scavenging maximise grid utilisation.

 

Dedicated vs. Scavenged Resources

Dedicated grid machines (not preempted by outside work) enable schedulers to compute approximate completion times, supporting more predictable service levels.

 

Part 5: Grid Software Components

Management Components

4.    Resource and user registry — tracks available resources and grid members, used to decide job assignment.

5.    Measurement components — assess node capacity and current utilisation; support scheduling, health monitoring, alerting, usage statistics, and accounting.

6.    Autonomic/recovery-oriented computing — automatically recovers from failures and outages without manual intervention.

 

Donor Software

Software installed on each contributing machine handles enrolment, authentication (commonly using certificates from Certificate Authorities), user ID mapping across different machines, resource monitoring, and job execution. Advanced implementations support dynamic priority adjustment, job suspension, checkpointing, and migration to other machines.

 

Submission Software

Any grid member can typically submit jobs. In dedicated-resource grids, submission software is installed separately on user desktops or workstations.

 

Schedulers

Range from simple round-robin assignment to sophisticated systems with priority queues, policy constraints, failure recovery, and multi-resource optimisation. Schedulers may be hierarchical, with meta-schedulers submitting to lower-level cluster schedulers.

 

Communications Software

Enables subjobs to communicate with each other — finding, connecting to, and exchanging data with specific peers. The Message Passing Interface (MPI) standard is widely used for this purpose.

 

Observation and Measurement

Load sensors measure machine activity using OS facilities or direct measurement. This data drives scheduling decisions, reveals usage trends, informs capacity planning, enables better job resource prediction, supports accounting, and powers grid visualisation dashboards.

 

Part 6: Grid Topology  Intragrid to Intergrid

Grids can range from a few departmental machines to global hierarchical systems.

 

Type

Characteristics

Key Concerns

Cluster (Homogeneous)

Same hardware/OS, local network, few machines

Minimal — simple scheduling, no special security

Intragrid (Heterogeneous)

Mixed machines, multiple departments, scheduling components

Policy enforcement, data access control, VPN/WAN links

Intergrid (Cross-organisation)

Hierarchical, global, resource brokering/trading

Highest security standards, inter-org trust, utility model