Transactional Memory Status Communication in Multiprocessor Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multiprocessor computing environments with transactional memory, efficiently communicating memory usage status between processors is challenging due to the complexity of fine-grained locking and limited hardware interconnect latencies, leading to sub-linear scalability and frequent transactional aborts.

Innovation Solution

A method involving a computer-implemented process where a first processor sends a transaction query to all processors in a processor set, generating an indication of current transaction execution status, which is then sent back to the first processor to inform further actions, utilizing TPROBE, TSPROBE, and XI Probe programs to manage transactional memory status communication.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If fine-grained locking is implemented to improve software scalability, then concurrency control is enhanced, but system complexity and error-proneness increase significantly

Engineering Contradiction:
Improvesoftware scalabilityVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces hardware transactional memory as an intermediary mechanism that mediates concurrency control between multiple processors. Instead of software implementing complex fine-grained locking, the hardware TM system automatically manages transaction isolation and conflict detection, reducing software complexity while maintaining scalability. The hardware TM acts as a mediator that handles synchronization transparently to the software layer.

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 interconnect latencies and transactional aborts increase due to physical dimension limitations

Engineering Contradiction:
Improveworkload capacityVSAvoidinterconnect latencies
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent segments the memory access space into transactional boundaries, allowing processors to execute multiple memory operations atomically within a transaction without incurring interconnect latencies between each operation. By grouping operations into transactions, the system reduces the frequency of interconnect communications while maintaining consistency across multiple memory locations, thereby mitigating the impact of interconnect latencies in multi-core systems.

Inventive Principle:
Principle #1Segmentation

3Ease of operation

If hardware transactional memory is used to simplify concurrency management, then ease of operation is improved, but communication overhead between processors increases due to transaction status queries

Engineering Contradiction:
Improveconcurrency managementVSAvoidcommunication overhead
Core Design Contradiction:
Ease of operationVSUse of energy by moving object

Solution Approach 1:

The patent implements preliminary action by having processors proactively query transaction status before initiating memory operations. By checking whether other processors are currently executing transactions that might conflict, the system can prevent aborts before they occur. This preliminary status checking allows processors to make informed decisions about whether to proceed with transactions, reducing the overall communication overhead caused by repeated aborts and retries.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10261827B2Interprocessor memory status communication
Publication Date: 2019.04.16 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10261827B2 patent drawing
  • US10261827B2 patent drawing
  • US10261827B2 patent drawing

AI summary

A transactional memory environment includes a first processor and a processor set. The processor set includes one or more additional processors. In the transactional memory environment, a computer-implemented method includes sending a transaction query from the first processor to all processors in the processor set, and generating an indication by each additional processor in the processor set. The indication includes whether the additional processor is executing a current transaction. The computer-implemented method further includes sending the indication from each additional processor in the processor set to the first processor and proceeding, by the first processor, based on the indication. A corresponding computer program product and computer system are also disclosed.