Transactional Execution Facility for Multiprocessor Atomicity

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multiprocessing environments, updating multiple storage locations simultaneously by multiple CPUs is challenging due to the need for serialization, which often results in coarse-grained locking mechanisms that can lead to deadlocks and recovery issues, and existing instructions like TEST AND SET and COMPARE AND SWAP provide only interlocked updates for single storage locations.

Innovation Solution

A transactional execution facility that allows for the execution of a sequence of instructions as a single atomic operation, enabling updates to multiple storage locations without special locking, through the use of instructions like TRANSACTION BEGIN, TRANSACTION END, and TRANSACTION ABORT, which manage storage accesses as block-concurrent and commit or abort them as a whole.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If lock words are used to serialize multiple storage location updates, then atomicity of updates is improved, but device complexity and potential for deadlocks increases

Engineering Contradiction:
Improveatomicity of updatesVSAvoidcomplexity of locking mechanism
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the locking mechanism into fine-grained lock points associated with individual storage locations rather than using a single coarse-grained lock word. This allows different parts of the data structure to be locked independently, reducing the complexity of the overall locking mechanism while maintaining atomicity for each specific update operation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by implementing lock points at specific storage locations rather than a global lock. Each storage location has its own lock point, allowing the locking mechanism to be applied locally only where needed, thereby reducing overall device complexity while ensuring atomicity for each specific update operation.

Inventive Principle:
Principle #3Local quality

2Reliability

If coarse-grained lock words are used for serialization, then atomicity of multiple storage location updates is improved, but productivity decreases due to serialization overhead

Engineering Contradiction:
Improveatomicity of updatesVSAvoidmultiprocessor performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the serialization mechanism into fine-grained lock points at individual storage locations, allowing multiple processors to operate concurrently on different storage locations without mutual exclusion. This segmentation reduces serialization overhead and improves productivity while maintaining atomicity for each specific update operation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies partial action by implementing locking only at the specific storage locations that require atomic updates, rather than serializing all operations across the entire data structure. This partial application of locking reduces the overhead of serialization and improves multiprocessor performance while maintaining atomicity where needed.

Inventive Principle:
Principle #16Partial or excessive action

3Productivity

If finer-grained serialization with hierarchy of lock points is used, then productivity is improved by reducing serialization scope, but device complexity and risk of deadlocks increases

Engineering Contradiction:
Improvemultiprocessor performanceVSAvoidcomplexity of lock hierarchy
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements self-service by having each storage location independently manage its own lock point without requiring a complex hierarchical locking protocol. The lock points are simple indicators that can be independently acquired and released, eliminating the need for complex lock hierarchy management and reducing device complexity while improving productivity.

Inventive Principle:
Principle #25Self-service

4Reliability

If TEST AND SET or COMPARE AND SWAP instructions are used, then atomicity of single storage location update is improved, but adaptability for multiple storage location updates decreases

Engineering Contradiction:
Improveatomicity of updateVSAvoidcapability for multiple location updates
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent creates a universal mechanism that handles both single and multiple storage location updates through the same fine-grained lock point approach. The lock points can be applied to individual locations using simple instructions or to multiple locations through transactional execution, providing adaptability and versatility while maintaining atomicity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent introduces lock points as intermediary indicators between the processor and storage locations. These lock points mediate access to storage locations, providing a unified mechanism that works for both single-location updates (similar to TEST AND SET) and multi-location updates (through transactional execution), thereby increasing adaptability while maintaining atomicity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9740521B2Constrained transaction execution
Publication Date: 2017.08.22 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US9740521B2 patent drawing
  • US9740521B2 patent drawing
  • US9740521B2 patent drawing

AI summary

Constrained transactional processing is provided. A constrained transaction is initiated by execution of a Transaction Begin constrained instruction. The constrained transaction has a number of restrictions associated therewith. Absent violation of a restriction, the constrained transaction is to complete. If an abort condition is encountered, the transaction is re-executed starting at the Transaction Begin instruction. Violation of a restriction may cause an interrupt.