Nontransactional Store Instruction for Multiprocessor Atomic Updates

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multiprocessing environments, updating multiple storage locations simultaneously by multiple central processing units (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 do not efficiently handle exception conditions without complex recovery setups.

Innovation Solution

A transactional execution facility that allows CPUs to execute a sequence of instructions as a single atomic operation, using instructions like TRANSACTION BEGIN, TRANSACTION END, and NONTRANSACTIONAL STORE, enabling block-concurrent updates without special locking and providing mechanisms for handling exception conditions within the transactional execution mode.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If coarse-grained locking mechanisms are used to ensure safe updates to storage locations, then reliability is improved, but device complexity and performance are worsened due to serialization overhead and deadlock risks

Engineering Contradiction:
Improvesafe updates to storage locationsVSAvoidlocking mechanism complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the locking mechanism from the update operation itself, separating the atomicity guarantee into a dedicated transactional execution facility. Instead of embedding locks in every update instruction, the system uses transaction boundaries (TBEGIN/TEND) to encapsulate multiple operations, allowing updates to proceed without intermediate locking while maintaining overall atomicity through transaction commit/abort mechanisms.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces a transactional execution facility as an intermediary layer between individual update instructions and the underlying hardware/OS locking mechanisms. This facility provides atomic transaction support through special instructions (TBEGIN, TEND, TABORT) that manage the atomicity of multiple storage operations without requiring traditional locks, thereby reducing complexity while maintaining reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Stability of the object's composition

If traditional interlocked update instructions are used, then atomicity is improved, but adaptability is worsened because they handle only single storage locations and require separate mechanisms for multiple locations

Engineering Contradiction:
Improveatomic update capabilityVSAvoidhandling of multiple storage locations
Core Design Contradiction:
Stability of the object's compositionVSAdaptability or versatility

Solution Approach 1:

The patent merges multiple single-location interlocked update instructions into a single transactional operation that can atomically update multiple storage locations. By combining several operations within a transaction boundary, the system achieves atomicity for complex multi-location updates without requiring separate lock words or serialization points for each location, thereby improving versatility while maintaining atomicity.

Inventive Principle:
Principle #5Merging (Combining)

3Productivity

If fine-grained serialization is implemented through lock hierarchies, then productivity is improved, but reliability is worsened due to potential deadlocks and recovery issues

Engineering Contradiction:
Improveupdate throughputVSAvoiddeadlock and recovery handling
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent extracts the deadlock and recovery management concerns from the fine-grained locking implementation and transfers them to the transactional execution facility. Individual update operations within a transaction do not require separate locks, eliminating deadlock risks associated with lock hierarchies. The transactional facility manages atomicity and recovery at the transaction level, allowing fine-grained updates to proceed without the reliability issues of traditional hierarchical locking.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS10606597B2Nontransactional store instruction
Publication Date: 2020.03.31 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10606597B2 patent drawing
  • US10606597B2 patent drawing
  • US10606597B2 patent drawing

AI summary

A NONTRANSACTIONAL STORE instruction, executed in transactional execution mode, performs stores that are retained, even if a transaction associated with the instruction aborts. The stores include user-specified information that may facilitate debugging of an aborted transaction.