Transaction Conflict Priority Assignment in Multi-Processor Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-processor transactional execution environments, the increasing number of CPU cores leads to conflicts over shared memory locations, causing sub-linear scalability and inefficiency due to the need for complex and error-prone fine-grained locking mechanisms, which are limited by physical constraints and result in frequent transactional aborts and wasted cycles.

Innovation Solution

A method for assigning conflict priorities to transactions, allowing higher-priority transactions to continue while aborting lower-priority ones upon encountering conflicts, thereby optimizing transactional execution and reducing aborts in a multi-processor transactional execution environment.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If fine-grained locking mechanisms are implemented to improve software scalability, then concurrency control is enhanced, but system complexity increases and errors become more frequent

Engineering Contradiction:
Improvesoftware scalabilityVSAvoidlocking mechanism complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent replaces traditional mechanical locking mechanisms with a hardware-based transactional memory system. The transactional execution unit and conflict detection logic are implemented in hardware, substituting complex software locking protocols with a more streamlined hardware-managed approach that automatically handles concurrency control without requiring manual lock management.

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

Solution Approach 2:

The patent introduces a hardware transactional execution unit as an intermediary between processors and shared memory. This intermediary layer manages conflicts and ensures atomicity without requiring processors to directly implement complex locking logic, thereby reducing system-wide complexity while maintaining scalability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If the number of CPU cores is increased to support growing workload capacity, then processing power is improved, but conflict frequency over shared memory locations increases

Engineering Contradiction:
Improveworkload capacityVSAvoidconflict frequency
Core Design Contradiction:
ProductivityVSObject-generated harmful factors

Solution Approach 1:

The patent implements preliminary conflict detection by tracking read and write sets of transactions before they commit. The hardware transactional execution unit monitors potential conflicts in advance, allowing the system to detect and resolve conflicts before they manifest as harmful aborts or deadlocks, thereby enabling higher core counts without proportionally increasing conflict frequency.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments memory access operations into atomic transactions with defined read and write sets. By dividing memory access patterns into discrete, trackable transaction units, the system can manage conflicts more efficiently across multiple cores, reducing the harmful effects of increased conflict frequency that would otherwise result from higher core counts.

Inventive Principle:
Principle #1Segmentation

3Speed

If hardware interconnect latencies are reduced to improve transaction execution, then speed is improved, but physical dimension constraints and speed of light limitations remain

Engineering Contradiction:
Improvetransaction execution speedVSAvoidphysical dimension
Core Design Contradiction:
SpeedVSLength of moving object

Solution Approach 1:

The patent performs preliminary validation and conflict detection within the hardware transactional execution unit before transactions complete. By resolving potential conflicts early in the transaction lifecycle rather than waiting for full execution, the system reduces the effective time transactions spend accessing shared memory, thereby improving speed without requiring physical shortening of interconnects.

Inventive Principle:
Principle #10Preliminary action

4Ease of operation

If optimistic transaction execution is used to simplify operations, then ease of operation is improved, but transaction aborts increase due to conflicts

Engineering Contradiction:
Improvetransactional execution simplicityVSAvoidtransaction commit success rate
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent implements feedback mechanisms where the hardware transactional execution unit continuously monitors transaction progress and detects conflicts. When conflicts are detected, the system provides feedback to abort affected transactions and retry them, maintaining the simplicity of optimistic execution while improving the commit success rate through automated conflict management and retry logic.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9323568B2Indicating a low priority transaction
Publication Date: 2016.04.26 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US9323568B2 patent drawing
  • US9323568B2 patent drawing
  • US9323568B2 patent drawing

AI summary

Accessing at least one memory location by one of a plurality of transactions in a multi-processor transactional execution environment is provided. Included is assigning, by a computer system, a conflict priority to a transaction; based on encountering a conflict with another process for a memory location, comparing, by the computer system, the assigned conflict priority of the transaction with another priority of the another process; and based on the conflict priority of the transaction being the higher priority continuing the transaction; and based on the conflict priority of the transaction being the lower priority, aborting the transaction.