Transactional Execution Facility for Fine-Grained Locking

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multiprocessor environments, updating multiple storage locations simultaneously is challenging due to the need for serialization, which can lead to coarse-grained locking issues and potential deadlocks, and managing exception conditions in transactional processing is costly and complex.

Innovation Solution

A transactional execution facility that allows for nested transactions with constrained and nonconstrained execution modes, enabling block-concurrent storage accesses that appear atomic to other CPUs and the I/O subsystem, and provides controls for managing registers and exception handling.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If lock words are used to serialize multiple storage location updates, then atomicity is ensured, but serialization granularity becomes coarse leading to reduced productivity

Engineering Contradiction:
ImproveatomicityVSAvoidserialization granularity
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the serialization mechanism by introducing multiple lock words (first lock word and second lock word) corresponding to different storage locations. Each lock word can be independently acquired and released, allowing fine-grained control over which specific storage locations are being updated. This enables concurrent execution of instructions updating different locations without requiring all locations to be serialized together, thus improving productivity while maintaining atomicity for each location.

Inventive Principle:
Principle #1Segmentation

2Productivity

If hierarchy of lock points is used for finer-grained serialization, then productivity improves, but system complexity increases due to potential deadlocks and recovery issues

Engineering Contradiction:
Improveserialization granularityVSAvoidlock management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements self-service lock management where the system automatically handles lock acquisition and release through hardware-supported transactional instructions. The transactional execution facility automatically manages the state of lock words and determines whether to commit or abort transactions, eliminating the need for complex software-based deadlock detection and recovery mechanisms. This reduces device complexity while maintaining fine-grained serialization capability.

Inventive Principle:
Principle #25Self-service

3Reliability

If recovery environment is established for exception handling, then reliability improves, but device complexity and cost increase

Engineering Contradiction:
Improveexception handling capabilityVSAvoidrecovery environment complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent replaces complex software-based recovery environments with hardware-supported transactional execution mechanisms. The transactional execution facility in the processor automatically manages exception conditions through hardware-level transaction commit/abort logic, eliminating the need for elaborate software recovery stacks and exception handling routines. This substitution reduces device complexity while improving reliability through more efficient exception management.

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

Data Source

PatentEP2862071B1Selectively controlling instruction execution in transactional processing
Publication Date: 2019.02.27 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • EP2862071B1 patent drawingFigure 1
  • EP2862071B1 patent drawingFigure 2A~3B
  • EP2862071B1 patent drawingFigure 4~5

AI summary

Execution of instructions in a transactional environment is selectively controlled. A TRANSACTION BEGIN instruction initiates a transaction and includes controls that selectively indicate whether certain types of instructions are permitted to execute within the transaction. The controls include one or more of an allow access register modification control and an allow floating point operation control.