Multithreaded Processor Throughput Estimation via Cache Miss Rates

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The relationship between the performance of on-chip processor cache memories and overall processor performance is not well understood for multithreaded processors, which hinders efficient scheduling and optimization in memory-intensive applications.

Innovation Solution

An estimate of multithreaded processor throughput is calculated based on cache miss rates, considering probabilities of different thread states and the effects of memory bus delays, using a hierarchical cache memory system with read and write miss rates, and accounting for the impact of a write buffer.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multithreaded processor architecture is used to hide memory latency, then processor throughput is improved, but understanding the relationship between cache performance and overall processor performance becomes difficult

Engineering Contradiction:
Improveprocessor throughputVSAvoidrelationship understanding complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces cache miss rate as an intermediary metric that mediates between complex multithreaded processor operations and overall throughput measurement. By focusing on cache miss rate as a key indicator, the system simplifies the complex relationship between multiple threads, cache hierarchy, and processor throughput into a manageable measurement and estimation framework.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If cache miss rate measurement is used to estimate throughput, then measurement precision is improved, but device complexity increases due to hierarchical cache and multiple thread states

Engineering Contradiction:
Improvethroughput estimation accuracyVSAvoidhierarchical cache structure
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent extracts the essential performance indicator (cache miss rate) from the complex multithreaded processor system and uses it as the primary basis for throughput estimation. By taking out cache miss rate measurement as the focal point and building the estimation model around it, the system achieves accurate throughput measurement without being overwhelmed by the full complexity of the hierarchical cache and multithreaded architecture.

Inventive Principle:
Principle #2Taking out (Extraction)

3Productivity

If probabilities of multiple thread states are calculated to estimate throughput, then productivity measurement is improved, but calculation complexity increases

Engineering Contradiction:
Improvethroughput measurement accuracyVSAvoidcalculation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the complex multithreaded processor state into discrete, manageable thread execution states (e.g., number of active threads, cache hit/miss states). By dividing the continuous complex state space into segmented categories and calculating probabilities for each segment, the system achieves accurate throughput measurement while keeping calculations tractable through structured state classification.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS7363450B1Method and apparatus for estimating multithreaded processor throughput based on processor cache performance
Publication Date: 2008.04.22 ORACLE AMERICAN INC
  • US7363450B1 patent drawing
  • US7363450B1 patent drawing
  • US7363450B1 patent drawing

AI summary

An estimate is calculated of the throughput of a multi-threaded processor having N threads based on measured miss rates of a cache memory associated with the processor by calculating, based on the cache miss rates a probability that the processor is in a state with one thread running, a probability that the processor is in a state with two threads are running and continuing to a probability that the processor is in a state with N threads running, multiplying each probability by a measured throughput of the processor when it is in the corresponding state and summing the resulting products. This estimate may also be corrected for bus delays in transferring information between the cache memory and main memory. The estimate can be used for thread scheduling in a multiprocessor system.