Scheduler Event Tracking with Shared-Memory Failover
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In IBM Z Workload Scheduler configurations, tracker system failures lead to delays in processing due to unavailability of job completion messages, causing the scheduler to pause execution of subsequent jobs until the tracker becomes operational again.
Innovation Solution
Implementing a controller that monitors the operational status of tracker systems, stores job status in shared memory and ECSA, and uses a coupling facility (CF) to access job completion information when the tracker is unavailable, allowing the scheduler to continue processing dependent jobs.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If the tracker system is used to record and report job status, then job tracking accuracy is improved, but processing availability deteriorates when the tracker fails
Solution Approach 1:
The patent creates a copy of the job status record in the coupling facility memory space that is accessible by the controller even when the tracker is unavailable. This copy allows the controller to continue processing without waiting for the tracker to recover, thus maintaining processing availability while preserving job status tracking accuracy through the replicated data.
Solution Approach 2:
The coupling facility memory space acts as an intermediary between the tracker and the controller. It stores job status information in a way that the controller can access directly, eliminating the need for the tracker to be operational for the controller to obtain job status information. This intermediary mechanism resolves the dependency and maintains system reliability.
2Stability of the object's composition
If the controller waits for tracker recovery before continuing job execution, then data consistency is improved, but processing time increases
Solution Approach 1:
The job status record is copied to the coupling facility memory space in advance during tracker operation. This preliminary action ensures that the controller has access to current job status information even before the tracker recovers from a failure. The controller can immediately use this pre-copied data to continue processing, eliminating the need to wait for tracker recovery and reducing processing delays.
Solution Approach 2:
The patent enables the controller to continue executing jobs continuously by accessing job status information from the coupling facility memory space rather than waiting for the tracker to recover. This maintains the continuity of useful action (job execution) and eliminates the interruption that would otherwise occur while waiting for tracker recovery, thus reducing processing time while maintaining data consistency through the replicated status records.
3Quantity of substance
If event records are stored only in ECSA queue, then storage efficiency is improved, but system reliability deteriorates during tracker failure
Solution Approach 1:
The patent copies event records from the ECSA queue to the coupling facility memory space. This creates a redundant copy that remains accessible even when the tracker is unavailable. The copying operation maintains storage efficiency by using the existing ECSA queue structure while adding the coupling facility copy to ensure event availability during tracker failures, thus improving reliability without significantly increasing storage requirements.
Solution Approach 2:
The coupling facility memory space serves as a cushioning mechanism that captures event records before the tracker fails. This beforehand cushioning ensures that event information is preserved and remains accessible to the controller even when the primary storage location (ECSA queue accessed through the tracker) becomes unavailable. This prior cushioning of event data in the coupling facility memory space maintains system reliability during tracker failures.
Data Source
AI summary
Aspects include monitoring, by a controller, an operational status of a tracker system that is configured to track and record a current status of a job being executed and to report completion of the job to the controller. The recording includes storing two copies of the current status, where a first copy is stored in a shared memory location accessible by the controller. In response to determining, based on the monitoring, that the tracker system is operational, waiting to receive a job completion message for the job from the tracker system and performing a job completion action based on receiving the job completion message. In response to determining that the tracker system is not operational, obtaining the current status of the job from the shared memory location and performing the job completion action based on the current status indicating that the job has completed.


