Transactional Memory Conflict Detection Using Distributed Access Tables

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In parallel processing systems without global cache or memory space coherence, detecting memory conflicts in shared memory systems is challenging due to the lack of centralized memory management, leading to inefficiencies and potential errors.

Innovation Solution

A transactional shared memory system with nodes connected through an interconnect network uses transaction tables and access tables to identify and manage memory conflicts by initiating memory operations, transmitting store requests, detecting conflicts, and handling abort and commit signals to ensure data integrity across nodes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If transactional memory support is implemented in parallel processing systems without global memory coherence, then concurrency control is facilitated, but memory conflict detection becomes challenging and complex

Engineering Contradiction:
Improveconcurrency control capabilityVSAvoidmemory conflict detection complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system divides the memory conflict detection task into distributed segments at each node. Each node maintains its own access table to track memory operations, and conflict detection is performed locally by checking whether incoming store requests conflict with existing entries in the access table, rather than requiring centralized coordination across the entire system.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The access table acts as an intermediary mechanism between memory operations and conflict detection. It stores information about memory addresses and associated nodes, enabling efficient conflict detection by mediating between the store request signal and the actual memory operations, without requiring direct global coherence protocols.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Device complexity

If centralized memory management is used, then memory conflict detection is simplified, but system scalability and parallel processing capability are reduced

Engineering Contradiction:
Improvememory conflict detection complexityVSAvoidsystem scalability
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The system eliminates centralized memory management by distributing the access table at each node. Each node independently manages its own memory operations and conflict detection, allowing the system to scale horizontally by adding more nodes without increasing the complexity of centralized coordination.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Each node performs self-service by maintaining its own access table and independently detecting memory conflicts. When a store request is received, the node checks its local access table for conflicts and autonomously determines whether to proceed with the memory operation or abort the transaction, without requiring centralized decision-making.

Inventive Principle:
Principle #25Self-service

3Productivity

If eager conflict detection is implemented, then processing overhead is reduced by minimizing unnecessary operations, but system performance may be impacted by increased detection latency

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidconflict detection latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system performs preliminary conflict detection by checking the access table before executing memory operations. When a store request is received, the node first checks whether the memory address conflicts with any existing entries in the access table. This preliminary action identifies conflicts before they can cause incorrect memory operations, allowing for early termination of conflicting transactions.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback through the abort signal mechanism. When a memory conflict is detected by checking the access table, the node sends an abort signal back to the source node to terminate the conflicting transaction. This feedback loop ensures that incorrect operations are prevented while maintaining system progress by allowing non-conflicting operations to proceed.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS8108631B2Transactional memory support for non-coherent shared memory systems using selective write through caches
Publication Date: 2012.01.31 ORACLE AMERICAN INC
  • US8108631B2 patent drawing
  • US8108631B2 patent drawing
  • US8108631B2 patent drawing

AI summary

A method, including: initiating a memory operation at a first node including a first memory controller (MC) and a transaction table configured to store a list of nodes affected by the memory operation, transmitting a store request signal to a second node including a second MC and an access table (AT) where the store request signal includes data from the first MC, storing data to the AT in entries corresponding to memory address(es) (MAs) affected by the memory operation, identifying a memory conflict with one or more nodes in the list of nodes when the MAs affected by the memory operation are also affected by one or more conflicting transactions listed in the AT, transmitting an abort signal from the second node to each of the nodes corresponding to the memory conflict, and transmitting an intent to commit signal from the first node to the second node.