Task Cache Breakpoint Management for Multi-Processing Debugging

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvedebugging information accuracyVSAvoidsystem performance
Core Design Contradiction:
Loss of informationVSProductivity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #10Preliminary action

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

Engineering Contradiction:
Improvebreakpoint information consistencyVSAvoidprocessing overhead
Core Design Contradiction:
Stability of the object's compositionVSDevice complexity

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.

Inventive Principle:
Principle #3Local quality

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.

Inventive Principle:
Principle #26Copying

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

Engineering Contradiction:
Improveuser intervention capabilityVSAvoidperformance impact on non-debugged transactions
Core Design Contradiction:
Ease of operationVSProductivity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS7703082B2Controlling user intervention in a multi-processing computer system
Publication Date: 2010.04.20 X CORP
  • US7703082B2 patent drawing
  • US7703082B2 patent drawing
  • US7703082B2 patent drawing

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.