Interprocessor Memory Status Communication via Probe Requests

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 limitations in hardware interconnects, leading to sub-linear scalability and frequent transactional aborts.

Innovation Solution

A method involving a computer-implemented process where a first processor identifies a memory location and sends a probe request to additional processors, generating an indication of the location's usage status, which is then sent back to the first processor to inform its actions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If fine-grained locking is implemented in software to improve scalability, then software scalability improves, but device complexity increases and error-proneness increases

Engineering Contradiction:
Improvesoftware scalabilityVSAvoidlocking mechanism complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces hardware transactional memory as an intermediary mechanism that mediates access to shared memory locations between multiple processors. Instead of using complex software locking protocols, the hardware TM system automatically manages transaction isolation and conflict detection, thereby improving scalability while reducing software complexity and error-proneness.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent replaces the mechanical/software-based locking system with a hardware-based transactional memory system. This substitution moves the complexity from software to hardware, where the hardware interconnect and TM logic automatically handle concurrency control, thereby simplifying software and improving scalability.

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

2Productivity

If hardware interconnects are used to support more CPU cores, then processing capacity increases, but latency increases due to physical dimensions and speed of light limitations

Engineering Contradiction:
Improveprocessing capacityVSAvoidinterconnect latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent segments the memory access operations into transactional units that can be executed locally and committed atomically. By dividing the processing into discrete transactions with local memory operations, the system reduces the need for frequent long-distance interconnect communications, thereby mitigating latency while supporting more CPU cores.

Inventive Principle:
Principle #1Segmentation

3Reliability

If traditional semaphores are used to protect shared data structures, then data consistency is maintained, but scalability becomes sub-linear due to hot spots

Engineering Contradiction:
Improvedata consistencyVSAvoidscalability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements local quality by allowing different processors to access different memory locations independently through hardware transactional memory. Each processor can perform transactions on its own local memory locations without acquiring global locks, eliminating hot spots and enabling linear scalability while maintaining data consistency through hardware-enforced isolation.

Inventive Principle:
Principle #3Local quality

4Ease of operation

If hardware transactional memory is used to simplify concurrency control, then ease of operation improves, but transactional aborts increase due to conflicts

Engineering Contradiction:
Improveconcurrency control simplicityVSAvoidtransaction success rate
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent applies preliminary action by having processors declare their intended memory access patterns before executing transactions. The hardware TM system uses this advance information to predict potential conflicts and take preventive actions, such as serializing conflicting transactions before they execute, thereby reducing aborts while maintaining the simplicity of hardware TM operation.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9563467B1Interprocessor memory status communication
Publication Date: 2017.02.07 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US9563467B1 patent drawing
  • US9563467B1 patent drawing
  • US9563467B1 patent drawing

AI summary

In a transactional memory environment including a first processor and one or more additional processors, a computer-implemented method includes identifying a memory location and sending a probe request from the first processor to the additional processors. The probe request includes the memory location. The computer implemented method further includes generating, by each additional processor, an indication including whether the memory location is in use for a transaction by the additional processor. The computer-implemented method further includes sending the indication from each additional processor to the first processor and proceeding, by the first processor, based on the indication.