Transactional Memory Cache Line Backup and Conflict Handling

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, and transactional memory offers a solution but requires efficient handling of transaction footprints and conflicts.

Innovation Solution

The higher level cache transmits a backup copy of an unaltered target cache line to the lower level cache during a transactional store request, updates the cache line, and records the real address as part of the transaction footprint, signaling failure and invalidating the cache line if a conflict occurs before the transaction completes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If locking mechanisms are used to coordinate concurrent access to shared data, then conflicts between memory accesses are prevented, but deadlock and performance overhead occur

Engineering Contradiction:
Improveconflict preventionVSAvoidperformance overhead
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent introduces a transaction manager as an intermediary layer between the processor core and the cache hierarchy. This transaction manager handles conflict detection and resolution for transactional memory operations, allowing concurrent accesses to proceed without traditional locking overhead while maintaining reliability through automated conflict management.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent replaces the mechanical locking system with a software-based transactional memory system. Instead of using hardware locks that require acquisition and release operations, the system uses transactional memory semantics where operations are grouped into transactions that automatically manage conflicts through hardware-supported atomicity and isolation mechanisms.

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

2Reliability

If locking mechanisms are used to coordinate concurrent access, then conflicts are prevented, but the system complexity increases

Engineering Contradiction:
Improveconflict preventionVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The transactional memory system is self-managing through automatic conflict detection and resolution. The hardware transactional memory mechanism automatically tracks transaction footprints, detects conflicts with other transactions, and manages commit or abort decisions without requiring external lock management, thereby reducing system complexity while maintaining reliability.

Inventive Principle:
Principle #25Self-service

3Reliability

If backup copies of cache lines are transmitted to lower level cache, then transaction atomicity is maintained, but memory bandwidth is consumed

Engineering Contradiction:
Improvetransaction atomicityVSAvoidmemory bandwidth consumption
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent performs preliminary actions by transmitting backup copies of cache lines to the lower level cache before the transaction commits. This ensures that if the transaction aborts due to conflicts, the original data is already preserved in the lower level cache, maintaining atomicity while allowing the upper level cache to be cleared of stale data to free up space and reduce future eviction overhead.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system discards the backup copies in the lower level cache after successful transaction commit, recovering the memory bandwidth for other uses. The lower level cache selectively retains or discards backup data based on transaction outcome, optimizing the trade-off between maintaining atomicity and conserving bandwidth resources.

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentUS9514049B2Cache backing store for transactional memory
Publication Date: 2016.12.06 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US9514049B2 patent drawing
  • US9514049B2 patent drawing
  • US9514049B2 patent drawing

AI summary

In response to a transactional store request, the higher level cache transmits, to the lower level cache, a backup copy of an unaltered target cache line in response to a target real address hitting in the higher level cache, updates the target cache line with store data to obtain an updated target cache line, and records the target real address as belonging to a transaction footprint of the memory transaction. In response to a conflicting access to the transaction footprint prior to completion of the memory transaction, the higher level cache signals failure of the memory transaction to the processor core, invalidates the updated target cache line in the higher level cache, and causes the backup copy of the target cache line in the lower level cache to be restored as a current version of the target cache line.