Gang Scheduling - Group Scheduling
In the context of z/OS, "Gang Scheduling" or "Group Scheduling" refers to the operating system's capability, primarily through the Workload Manager (WLM), to manage and dispatch a collection of related work units (e.g., transactions, batch jobs, address spaces) as a coordinated group. This approach aims to achieve specific performance goals or resource allocations for an entire application or business service rather than individual tasks in isolation. It is not a direct, named scheduling algorithm like in High-Performance Computing (HPC), but rather a conceptual approach to workload management.
Key Characteristics
-
- WLM-Driven: The implementation of group scheduling in z/OS is fundamentally driven by the Workload Manager (WLM), which defines and manages performance goals for groups of work.
- Goal-Oriented: Focuses on meeting defined performance objectives for entire service classes or report classes, allowing WLM to dynamically adjust resources for the collective group.
- Resource Coordination: Ensures that related components of a distributed application or interdependent tasks receive necessary resources concurrently or in a prioritized manner to optimize overall throughput and response time.
- Dynamic Adjustment: WLM dynamically adjusts dispatching priorities, CPU, I/O, and memory allocations based on system conditions, resource availability, and the defined performance goals for the work group.
- Application-Centric: Prioritizes the performance of an entire application or business service, which often comprises multiple interdependent tasks, rather than just individual threads or processes.
Use Cases
-
- CICS Transaction Processing: Ensuring that all transactions within a critical CICS region, or specific types of CICS transactions, receive high dispatching priority to meet stringent response time goals for a business service.
- Batch Job Dependencies: Managing a series of interdependent batch jobs where the timely completion of the entire chain is critical, often by assigning them to a high-priority WLM service class.
- DB2 Stored Procedures/URs: Coordinating the execution of multiple related DB2 threads or stored procedures that are part of a single business transaction, ensuring they are dispatched efficiently.
- Parallel Sysplex Workload: Managing distributed workloads across multiple z/OS LPARs in a Parallel Sysplex, where WLM ensures coordinated resource allocation and dispatching for applications spanning the sysplex.
Related Concepts
This concept is intrinsically linked to the z/OS Workload Manager (WLM), which is the primary mechanism for implementing group-based resource management and dispatching. It leverages dispatching priorities, service classes, and report classes to achieve its goals. It also relates to address spaces and enclaves, as WLM can manage these entities as part of a larger group, especially for distributed applications. In a Parallel Sysplex, WLM extends this coordination across multiple LPARs,