Transactional Execution Abort Controls for Multiprocessor Debugging

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multiprocessor programming, updating multiple storage locations safely and efficiently is challenging due to the need for serialization, which often results in coarse-grained locking and potential deadlocks, and handling exception conditions in transactional execution is costly and complex.

Innovation Solution

A transactional execution facility that allows for the initiation of transactions with controls to determine whether they should be aborted randomly for testing purposes, enabling finer-grained serialization and nested transactional processing without the need for explicit locking, and providing mechanisms for handling exception conditions within the transactional mode.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If lock words are used for interlocked update of multiple storage locations, then atomicity is ensured, but serialization granularity becomes coarse and productivity decreases

Engineering Contradiction:
ImproveatomicityVSAvoidserialization overhead
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the serialization mechanism into multiple lock words, each protecting a specific storage location or small group of locations. This allows finer-grained locking where only the specific locations being updated need to be serialized, rather than serializing an entire data structure. The segmentation enables concurrent access to different parts of the data structure, improving productivity while maintaining atomicity for each update operation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by making each lock word location-specific, where each storage location has its own associated lock word. This allows the locking mechanism to be applied locally to only the necessary locations rather than globally to the entire data structure. The local quality enables selective serialization that reduces contention and improves concurrent access efficiency.

Inventive Principle:
Principle #3Local quality

2Productivity

If fine-grained serialization is implemented with hierarchy of lock points, then productivity improves, but device complexity increases and deadlock risk arises

Engineering Contradiction:
Improveserialization efficiencyVSAvoidlock hierarchy management
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements self-service by automatically managing the lock hierarchy through hardware-supported transactional execution. The system automatically acquires, holds, and releases appropriate locks based on the transaction's access patterns, eliminating the need for manual lock management code. This self-service mechanism reduces the complexity burden on programmers while maintaining fine-grained serialization efficiency.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces the mechanical lock management system with a transactional execution model where the hardware automatically manages serialization. Instead of manually implementing lock acquisition and release sequences, the system uses transaction boundaries and hardware-supported atomic operations to achieve the same serialization effect with less complexity and reduced deadlock risk.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Reliability

If explicit locking mechanisms are used for exception handling, then reliability is maintained, but ease of operation deteriorates due to recovery complexity

Engineering Contradiction:
Improveexception handlingVSAvoiderror recovery
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent applies preliminary action by establishing a recovery environment before exceptions occur through transactional execution boundaries. The system prepares rollback mechanisms and save areas in advance, so that when an exception occurs, the recovery process is already structured and ready. This preliminary preparation simplifies error recovery operations while maintaining reliability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary transactional execution layer that mediates between the program and the locking mechanisms. This intermediary automatically handles exception propagation and recovery, translating complex lock management issues into simple transaction commit/abort decisions. The intermediary shields programmers from the complexity of explicit lock management while maintaining reliability through automatic recovery mechanisms.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Productivity

If multiple CPUs access the same storage location simultaneously, then productivity improves through parallelism, but reliability decreases due to serialization requirements

Engineering Contradiction:
ImproveparallelismVSAvoiddata consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent merges multiple fine-grained locks into a unified transactional execution model that provides the same data consistency guarantees. By combining the serialization benefits of locking with the parallelism benefits of transactional execution, the system allows multiple CPUs to access different storage locations simultaneously while maintaining consistency through atomic transaction boundaries. This merging eliminates the need for explicit lock management code while preserving reliability.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS10719415B2Randomized testing within transactional execution
Publication Date: 2020.07.21 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10719415B2 patent drawing
  • US10719415B2 patent drawing
  • US10719415B2 patent drawing

AI summary

Task specific diagnostic controls are provided to facilitate the debugging of certain types of abort conditions. The diagnostic controls may be set to cause transactions to be selectively aborted, allowing a transaction to drive its abort handler routine for testing purposes. The controls include, for instance, a transaction diagnostic scope and a transaction diagnostic control. The transaction diagnostic scope indicates when the transaction diagnostic control is to be applied, and the transaction diagnostic control indicates whether transactions are to selectively aborted.