Flat Cache Simulation for Multi-Core Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Simulating complex memory-centric multi-core processing systems is challenging due to the high latency and complexity associated with sequential cache line comparisons in software-based simulators, which fail to accurately model cache coherence and result in inefficient processing.

Innovation Solution

A single cache line map is created and stored in a hash table indexed by cache line addresses to efficiently determine data location across multiple cache levels and cores, leveraging protocols like MESI to maintain cache coherence, allowing for parallel-like performance in simulations without the overhead of parallel processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If sequential cache line comparisons are used in software-based simulators, then cache coherence can be maintained, but processing latency increases and simulation efficiency decreases

Engineering Contradiction:
Improvecache coherenceVSAvoidsimulation latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

A directory-based intermediary structure is introduced to manage cache coherence. The directory maintains metadata about cache line locations and states, acting as a mediator that coordinates access across multiple cores and cache levels. This eliminates the need for sequential comparisons by providing direct lookup paths, thus maintaining coherence while reducing simulation latency.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent replaces the mechanical sequential comparison process with a software-based directory lookup mechanism. Instead of physically comparing cache lines in sequence across multiple cores, the system uses a data structure (directory) that provides O(1) or O(log n) lookup time, substituting the mechanical comparison process with a more efficient information retrieval process.

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

2Measurement precision

If detailed cache hierarchy simulation is implemented, then simulation accuracy improves, but processing complexity increases from O(1) to O(n)

Engineering Contradiction:
Improvesimulation accuracyVSAvoidprocessing complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent creates a virtual copy of the cache hierarchy in software, represented by directory structures that mirror the physical cache organization. This virtual model allows accurate simulation of cache behavior without implementing the full physical complexity, enabling detailed simulation at O(1) or O(log n) complexity rather than O(n).

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The cache hierarchy is segmented into discrete cache lines, each tracked independently in the directory structure. This segmentation allows the simulation to handle complex multi-level caches by breaking them down into manageable units that can be efficiently tracked and managed, reducing overall processing complexity while maintaining accuracy.

Inventive Principle:
Principle #1Segmentation

3Productivity

If parallel processing is used to speed up simulations, then processing speed increases, but system overhead and complexity increase

Engineering Contradiction:
Improvesimulation speedVSAvoidsystem overhead
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The directory structure is designed to be self-sufficient, maintaining all necessary coherence information internally without requiring external coordination or communication overhead. Each cache access can be resolved independently through directory lookup, enabling efficient sequential processing that achieves parallel-like performance without the overhead of actual parallel processing mechanisms.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11392495B2Flat cache simulation
Publication Date: 2022.07.19 HEWLETT PACKARD ENTERPRISE DEV LP
  • US11392495B2 patent drawing
  • US11392495B2 patent drawing
  • US11392495B2 patent drawing

AI summary

Systems and methods are provided for accurately simulating memory operations of a multi-compute-engine system, such as a multi-core system. Simulation speed can be increased by consolidation location and state information associated with data stored in one or more caches of a simulated cache hierarchy. This consolidation of information can be reflected in a single cache line map or flat cache. Accordingly, searches for data (and copies of the data) in each and every cache of the simulated cache hierarchy can be performed fast and with greater efficiency than conventional simulation systems that operate using sequential, cache-by-cache searching, while maintaining data coherency.