Task Cache Breakpoint Management for Multi-Processing Debugging
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In multi-processing computer systems, particularly in distributed environments like CICS Transaction Server for z/OS, the current debugging techniques suffer from significant performance issues due to the need for frequent access to a shared repository for breakpoint information, leading to prolonged elapsed times and increased processing overhead, which is unacceptable in large-scale environments.
Innovation Solution
A method that involves initializing task caches with relevant repository data during startup, allowing tasks to determine interruption conditions locally within their caches, and updating these caches upon resumption, thereby reducing the need for constant repository access and minimizing performance impact on non-debugged transactions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of information
If frequent access to shared repository for breakpoint information is implemented, then debugging information accuracy is improved, but system performance deteriorates due to prolonged elapsed times and increased processing overhead
Solution Approach 1:
The patent divides the centralized repository data into distributed task-specific caches, where each task maintains its own cache of breakpoint information relevant to that task. This segmentation eliminates the need for frequent centralized repository access while maintaining debugging information accuracy for each individual task.
Solution Approach 2:
The patent performs preliminary action by pre-loading breakpoint information into task caches before tasks need to access it. During task initialization or before breakpoint evaluation, the relevant repository data is fetched and stored in local caches, eliminating the need for frequent real-time repository access during task execution.
2Stability of the object's composition
If centralized repository access is used for all tasks, then breakpoint information consistency is improved, but processing overhead increases significantly in multi-processing environments
Solution Approach 1:
The patent applies local quality by making breakpoint information access local to each task rather than centralized. Each task has its own cache containing the specific breakpoint information it needs, allowing local evaluation without requiring centralized repository access. This maintains consistency for each task while eliminating the processing overhead of centralized access for all tasks.
Solution Approach 2:
The patent uses copying by creating task-specific copies of repository data in local caches. Instead of all tasks accessing the original centralized repository, each task works with its own copy of the relevant breakpoint information, eliminating the need for frequent centralized access while maintaining data integrity for that task.
3Ease of operation
If debugging operations are enabled in multi-processing environment, then user intervention capability is improved, but performance impact on non-debugged transactions increases
Solution Approach 1:
The patent segments the debugging overhead by creating task-specific caches rather than having all tasks share a common debugging mechanism. Only tasks that need debugging access their local caches, while non-debugged tasks operate without cache management overhead. This segmentation isolates the performance impact to only those tasks undergoing debugging.
Solution Approach 2:
The patent extracts the debugging functionality from the general task execution path by implementing separate cache management for debugging information. Non-debugged transactions do not incur cache initialization or maintenance overhead, as they simply operate without engaging the debugging cache mechanism. This extraction removes debugging-related performance impact from non-debugged transactions.
Data Source
AI summary
A computer program implemented method controls interruption of execution of tasks running in a multi-processing computer system to permit user intervention. The system includes a repository of data identifying preselected tasks for interruption and identifying the user defined circumstances for such interruption. It also has a plurality of task caches for storing subsets of the repository data for respective tasks. According to the method, the repository is scanned during an initiation phase of any task for data relevant to the task. Any such relevant data is stored in the respective task cache. The task is then executed and if a defined circumstance for the task arises by reference to the task cache, the task is interrupted to enable user intervention. This can include updating the repository to redefine the circumstances for interruption. Execution is then resumed and the respective task cache refreshed with any relevant repository updates.


