Trace-Based Coherent Cache Memory Traffic Generator

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing processor core performance simulators struggle to accurately model memory traffic and heterogeneous processor performance due to their reliance on synthetic memory access patterns and limited core modeling capabilities.

Innovation Solution

A trace-based coherent cache driven memory traffic generator is used in a core simulator to model actual memory traffic by receiving workload traces and simulating data exchanges with a shared memory subsystem, excluding core elements irrelevant to system-level performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If synthetic memory access patterns are used to model memory traffic, then the simulation can be performed with limited core modeling, but the representativeness of memory traffic modeling deteriorates

Engineering Contradiction:
Improvecore modeling complexityVSAvoidmemory traffic representativeness
Core Design Contradiction:
Device complexityVSMeasurement precision

Solution Approach 1:

The patent uses workload traces (actual recorded memory access patterns from real processors) to copy realistic memory traffic behavior into the simulation environment. Instead of generating synthetic patterns, the system imports actual trace data that captures genuine memory access characteristics, thereby improving representativeness without requiring complex core modeling.

Inventive Principle:
Principle #26Copying

2Measurement precision

If full core elements are modeled in the simulator, then measurement precision improves, but computation intensity increases

Engineering Contradiction:
Improveprocessor performance measurement accuracyVSAvoidcomputation intensity
Core Design Contradiction:
Measurement precisionVSPower

Solution Approach 1:

The patent extracts only the essential components needed for memory traffic simulation (memory subsystem, cache hierarchy, interconnect) while excluding irrelevant core elements (instruction decoding, execution units, register files). This extraction allows accurate memory subsystem performance measurement without the computational overhead of modeling complete processor cores.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The simulation system is segmented into independent functional modules: workload trace processor, memory traffic generator, memory subsystem model, and performance analyzer. This segmentation allows each module to be optimized independently and enables parallel processing of multiple workload traces, reducing overall computation intensity.

Inventive Principle:
Principle #1Segmentation

3Productivity

If multiple workload traces are processed simultaneously, then productivity improves, but device complexity increases

Engineering Contradiction:
Improvesimulation throughputVSAvoidtraffic generator complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The traffic generator is designed as a universal module that can process multiple different workload trace formats simultaneously. It implements a standardized interface that accepts various trace types (instruction traces, data traces, mixed traces) and generates corresponding memory traffic patterns, enabling multi-functional operation without proportionally increasing complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS12293137B2Processor core simulator including trace-based coherent cache driven memory traffic generator
Publication Date: 2025.05.06 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US12293137B2 patent drawing
  • US12293137B2 patent drawing
  • US12293137B2 patent drawing

AI summary

A core simulator includes one or more simulated processors, a trace-based traffic generator, and a simulated memory subsystem. Each simulated processor includes a core element and at least one lower-level cache excluded from the core element. The trace-based traffic generator includes a plurality of modeled caches that model the at least lower-level cache without modeling the core element. The trace-based traffic generator is configured to receive at least one workload trace and based on the workload trace simulate actual memory traffic to be processed by the simulated memory subsystem. The simulated memory subsystem is shared between the at least one simulated processor and the trace-based traffic generator. The trace-based traffic generator performs a data exchange with the memory subsystem based on the at least one workload trace. The data exchange impacts a measured performance of the at least one simulated processor.