Transactional Execution Restricted Instructions

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multiprocessor programming, updating multiple storage locations simultaneously by multiple CPUs is challenging due to the need for serialization, which often results in coarse-grained locking, leading to potential deadlocks and recovery issues, and existing instructions do not efficiently handle exception conditions in transactional execution.

Innovation Solution

A computer program product that enables transactional execution with instructions like TRANSACTION BEGIN, TRANSACTION END, and TRANSACTION ABORT, allowing for nested transactions and controlling access to storage locations, thereby enabling finer-grained serialization and managing exception conditions within a transactional context.

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 leading to reduced productivity

Engineering Contradiction:
ImproveatomicityVSAvoidserialization granularity
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent divides the serialization mechanism into multiple fine-grained lock points distributed across different storage locations, replacing the traditional single coarse-grained lock word. Each lock point can be independently acquired and released, allowing concurrent access to different portions of data structures without requiring all locations to be serialized together, thus improving productivity while maintaining atomicity where needed

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces lock point data structures as intermediaries between CPUs and storage locations. These lock points act as mediators that manage access rights to specific storage locations or data structure portions, enabling finer control over serialization compared to traditional lock words that serialize entire data structures or queues

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If fine-grained serialization is implemented through data structure hierarchy, then productivity improves, but system complexity increases due to potential deadlocks and recovery issues

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

Solution Approach 1:

The patent implements automatic deadlock detection and resolution mechanisms that operate without requiring complex manual lock hierarchy management. The system automatically monitors lock point acquisition patterns, detects potential deadlocks, and resolves them through predefined protocols, reducing the complexity burden on programmers while maintaining fine-grained serialization capabilities

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent incorporates feedback mechanisms where the system continuously monitors the state of lock points and transaction execution, using this information to dynamically adjust serialization behavior and prevent deadlock conditions before they occur, thereby simplifying the overall system management

Inventive Principle:
Principle #23Feedback

3Ease of manufacture

If traditional serialization methods are used, then implementation is simple, but exception handling becomes complicated and costly

Engineering Contradiction:
Improveimplementation simplicityVSAvoidexception handling
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The patent establishes a recovery environment and defines exception handling protocols before transaction execution begins. By pre-configuring how exceptions should be handled at each lock point and establishing rollback mechanisms in advance, the system simplifies exception handling during actual transaction execution while maintaining high reliability, avoiding the need for complex runtime exception management

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10684863B2Restricted instructions in transactional execution
Publication Date: 2020.06.16 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10684863B2 patent drawing
  • US10684863B2 patent drawing
  • US10684863B2 patent drawing

AI summary

Restricted instructions are prohibited from execution within a transaction. There are classes of instructions that are restricted regardless of type of transaction: constrained or nonconstrained. There are instructions only restricted in constrained transactions, and there are instructions that are selectively restricted for given transactions based on controls specified on instructions used to initiate the transactions.