Transactional Memory Logic for Cache Conflict Resolution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional multiprocessor systems face challenges with deadlock and performance overhead due to locking mechanisms for coordinating concurrent access to shared data, particularly in scenarios where multiple locks are held by a thread, leading to potential deadlocks and unnecessary lock acquisition costs.

Innovation Solution

The implementation of transactional memory logic in a cache memory system, which speculatively checks if a memory access request hits a store footprint of a memory transaction and rejects the request if it does, thereby avoiding conflicts and reducing the need for locks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If locking mechanisms are used to coordinate concurrent access to shared data, then conflict-free access is achieved, but deadlock and performance overhead increase

Engineering Contradiction:
Improveconflict-free accessVSAvoidperformance overhead
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts the conflict detection and resolution logic from traditional locking mechanisms into a separate transactional memory management system. The cache includes dedicated transactional memory logic that monitors and manages transaction footprints independently from the main cache access paths, allowing non-transactional accesses to proceed without lock overhead while still providing conflict-free access when needed.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces transactional memory logic as an intermediary layer between processing units and the cache memory system. This intermediary tracks transaction footprints and coordinates access to shared data locations, mediating conflicts without requiring processing units to directly acquire and manage locks, thereby reducing deadlock potential and lock acquisition overhead.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If locks are held during transaction execution, then atomicity is ensured, but deadlock risk increases

Engineering Contradiction:
ImproveatomicityVSAvoiddeadlock risk
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements preliminary tracking of transaction footprints before actual transaction execution. The transactional memory logic pre-identifies and records all memory locations that will be accessed by a transaction, establishing a complete footprint map in advance. This allows the system to proactively manage conflicts and coordinate access patterns before the transaction begins, ensuring atomicity while reducing the need to hold locks throughout execution.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10169103B2Managing speculative memory access requests in the presence of transactional storage accesses
Publication Date: 2019.01.01 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10169103B2 patent drawing
  • US10169103B2 patent drawing
  • US10169103B2 patent drawing

AI summary

In at least some embodiments, a cache memory of a data processing system receives a speculative memory access request including a target address of data speculatively requested for a processor core. In response to receipt of the speculative memory access request, transactional memory logic determines whether or not the target address of the speculative memory access request hits a store footprint of a memory transaction. In response to determining that the target address of the speculative memory access request hits a store footprint of a memory transaction, the transactional memory logic causes the cache memory to reject servicing the speculative memory access request.