Hierarchical Cache Transaction Conflict Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The increasing number of CPU cores in modern computing systems leads to scalability issues due to shared memory access conflicts, which traditional synchronization mechanisms like semaphores cannot efficiently manage, resulting in sub-linear performance and frequent transactional aborts in hardware Transactional Memory (TM) systems.

Innovation Solution

A hierarchical cache system is introduced to detect and manage transaction conflicts by setting read-set and write-set indicators in a higher level cache, allowing for aborts and commit operations based on cache line access, thereby optimizing transaction execution in multi-processor environments.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the number of CPU cores is increased to support growing workload capacity demand, then processing power and workload capacity are improved, but shared memory access conflicts increase leading to sub-linear scaling and frequent transactional aborts

Engineering Contradiction:
Improveworkload capacityVSAvoidtransactional aborts
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments the cache system into multiple levels (L1, L2, L3 caches) with each level handling different aspects of memory access. The L1 cache is privately associated with each CPU core, while L2 and L3 caches serve as shared resources. This segmentation allows concurrent access by multiple cores without immediate conflicts, as each core has dedicated L1 cache space, reducing transactional aborts while maintaining high productivity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a hierarchical dimension to the cache system, organizing caches in multiple levels rather than a single flat structure. This dimensional organization allows memory access requests to be handled at appropriate levels, with L1 handling fast local access, L2 handling core-shared access, and L3 handling system-wide access, thereby reducing conflicts and improving both productivity and reliability.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Reliability

If traditional synchronization mechanisms like semaphores are used to manage shared memory access, then memory access coordination is achieved, but performance degrades due to hot spots and sub-linear scaling

Engineering Contradiction:
Improvememory access coordinationVSAvoidscaling performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent replaces traditional software-based synchronization mechanisms (semaphores, locks) with a hardware-based cache coherence system. The cache controllers automatically manage memory access coordination through hardware protocols, eliminating the performance penalties of software synchronization while maintaining proper coordination. This substitution enables linear scaling performance while ensuring reliable memory access coordination.

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

Solution Approach 2:

The patent introduces cache controllers as intermediary components between CPU cores and shared memory. These controllers manage memory access requests, handle cache coherence, and coordinate access to shared cache lines, replacing the need for software synchronization primitives. This intermediary layer improves scaling performance by handling coordination in hardware without the overhead of software lock management.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If fine-grained locking is implemented in software to improve software scalability, then scaling performance is improved, but system complexity and error-proneness increase significantly

Engineering Contradiction:
Improvesoftware scalabilityVSAvoidsynchronization complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements self-service memory access coordination through hardware cache coherence protocols. The cache controllers automatically detect and resolve conflicts, manage cache line states, and coordinate access without requiring software intervention. This self-service approach maintains software scalability while eliminating the complexity of fine-grained locking implementations.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent introduces cache controllers as hardware intermediaries that automatically manage memory access coordination. These controllers handle cache coherence, conflict detection, and access arbitration, replacing complex software synchronization logic with automated hardware management. This reduces system complexity while maintaining or improving scalability performance.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10157131B2Transactional execution processor having a co-processor accelerator, both sharing a higher level cache
Publication Date: 2018.12.18 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10157131B2 patent drawing
  • US10157131B2 patent drawing
  • US10157131B2 patent drawing

AI summary

A higher level shared cache of a hierarchical cache of a multi-processor system utilizes transaction identifiers to manage memory conflicts in corresponding transactions. The higher level cache is shared with two or more processors. A processor may have a corresponding accelerator that performs operations on behalf of the processor. Transaction indicators are set in the higher level cache corresponding to the cache lines being accessed. The transaction aborts if a memory conflict with the transaction's cache lines from another transaction is detected, and the corresponding cache lines are invalidated. For a successfully completing transaction, the corresponding cache lines are committed and the data from store operations is stored.