Transactional Memory Cache Footprint Tracking

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

Implementing a cache memory system with tracking logic that groups entries into congruence classes and updates the replacement order to promote cache lines within the transaction footprint, allowing for transactional memory access requests to manage conflicts and reduce the need for locks by aborting and restarting transactions instead of holding 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 occur

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 subsystem. The cache tracks transaction footprints independently, allowing transactions to execute without acquiring locks, and only intervenes when conflicts are detected through footprint tracking, thereby eliminating lock acquisition overhead while maintaining conflict-free access.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The cache acts as an intermediary between multiple processor cores and shared memory, tracking transaction footprints and mediating conflicts. Instead of threads directly coordinating through locks, the cache monitors memory access patterns and aborts transactions only when actual conflicts occur, eliminating the need for locking protocols while ensuring conflict-free access.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If multiple locks are held by a thread, then complex coordination is achieved, but deadlock possibility increases

Engineering Contradiction:
Improvecoordination capabilityVSAvoiddeadlock freedom
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent removes the locking mechanism entirely from the coordination process. Instead of threads acquiring and holding multiple locks to coordinate access, the system uses transactional memory with footprint tracking that automatically detects conflicts and aborts transactions, eliminating deadlock possibilities while maintaining complex coordination capabilities through transaction semantics.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent replaces the mechanical locking system (acquire-lock, hold-lock, release-lock) with a transactional system based on memory access tracking and conflict detection. The cache monitors footprint overlaps and aborts transactions programmatically, substituting the mechanical lock hierarchy with a software-managed transaction system that cannot deadlock.

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

3Reliability

If lock acquisition is performed, then conflict coordination is ensured, but unnecessary performance cost occurs when no conflicts exist

Engineering Contradiction:
Improveconflict coordinationVSAvoidlock acquisition time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The cache performs preliminary tracking of transaction footprints as transactions execute, building a record of memory locations accessed without requiring lock acquisition. This preliminary footprint tracking allows the system to detect conflicts only when they actually occur, avoiding unnecessary lock acquisition time when no conflicts exist while ensuring conflict coordination when needed.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The transactional memory system is self-servicing through automatic footprint tracking and conflict detection by the cache. Transactions execute without external lock management, and the cache autonomously monitors for conflicts and aborts transactions when necessary, eliminating lock acquisition overhead while maintaining reliable conflict coordination.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9367348B2Protecting the footprint of memory transactions from victimization
Publication Date: 2016.06.14 GLOBALFOUNDRIES US INC
  • US9367348B2 patent drawing
  • US9367348B2 patent drawing
  • US9367348B2 patent drawing

AI summary

A processing unit includes a processor core and a cache memory. Entries in the cache memory are grouped in multiple congruence classes. The cache memory includes tracking logic that tracks a transaction footprint including cache line(s) accessed by transactional memory access request(s) of a memory transaction. The cache memory, responsive to receiving a memory access request that specifies a target cache line having a target address that maps to a congruence class, forms a working set of ways in the congruence class containing cache line(s) within the transaction footprint and updates a replacement order of the cache lines in the congruence class. Based on membership of the at least one cache line in the working set, the update promotes at least one cache line that is not the target cache line to a replacement order position in which the at least one cache line is less likely to be replaced.