Cache-Aware Thread Scheduling for Chip Multithreading Processors

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In computer networks, particularly in multithreaded processors, managing shared cache resources efficiently is challenging due to varying thread cache miss rates, leading to potential bottlenecks and increased latency when threads wait for data from memory.

Innovation Solution

A method and apparatus for a chip multithreading processor that determines and compares the shared cache miss rate of threads with the maximum shared cache miss rate of each hardware context, assigning threads to the context that minimizes cache miss rates, thereby optimizing the use of shared cache resources and reducing latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If threads are assigned to hardware contexts without considering cache miss rates, then processor utilization may be maintained, but cache contention increases and latency increases

Engineering Contradiction:
Improvecache latencyVSAvoidscheduling complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent applies parameter changes by monitoring and comparing cache miss rate parameters to dynamically adjust thread-to-context assignments. The scheduler changes the assignment parameter based on cache performance metrics, assigning threads to contexts where they will experience lower cache miss rates, thereby reducing latency without requiring complete redesign of the scheduling mechanism

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent implements feedback by continuously monitoring cache miss rates and using this information to make scheduling decisions. The system measures cache performance, compares actual miss rates against thresholds, and adjusts thread assignments accordingly, creating a closed-loop control system that reduces latency while maintaining manageable scheduling complexity

Inventive Principle:
Principle #23Feedback

2Productivity

If cache-greedy threads are allowed to execute freely, then thread diversity is maintained, but shared cache resources are contended and overall processor performance decreases

Engineering Contradiction:
Improveinstruction throughputVSAvoidshared cache resource availability
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent applies local quality by assigning threads to specific hardware contexts based on their cache characteristics. Instead of uniform treatment, each thread is evaluated and placed in a context matched to its cache miss rate profile, creating localized optimization where cache-greedy threads are isolated to contexts where they cause minimal contention, thereby protecting overall instruction throughput while preserving thread diversity

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent segments the shared cache resources by creating distinct hardware contexts with different cache characteristics. By dividing the processing space into multiple contexts and assigning threads selectively, the system prevents any single thread from monopolizing cache resources, ensuring both high instruction throughput and adequate cache availability for all threads

Inventive Principle:
Principle #1Segmentation

3Productivity

If multiple threads are executed in parallel on fewer processors, then processor utilization improves, but cache contention increases

Engineering Contradiction:
Improveprocessor utilizationVSAvoidcache performance consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent maintains reliable cache performance by dynamically adjusting thread assignment parameters based on monitored cache miss rates. As processor utilization increases with more parallel threads, the system adapts by reassigning threads to contexts with better cache characteristics, ensuring that cache performance consistency is maintained even under high utilization conditions

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent implements dynamic scheduling that adapts to changing cache conditions. The system continuously monitors cache performance and adjusts thread-to-context assignments in real-time, allowing the scheduler to respond to varying cache contention levels and maintain consistent cache performance as processor utilization fluctuates with different thread workloads

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS7818747B1Cache-aware scheduling for a chip multithreading processor
Publication Date: 2010.10.19 ORACLE AMERICAN INC
  • US7818747B1 patent drawing
  • US7818747B1 patent drawing
  • US7818747B1 patent drawing

AI summary

A chip multithreading processor schedules and assigns threads to its processing cores dependent on estimated miss rates in a shared cache memory of the threads. A cache miss rate of a thread is estimated by measuring cache miss rates of one or more groups of executing threads, where at least one of the groups includes the thread of interest. Using a determined estimated cache miss rate of the thread, the thread is scheduled with other threads to achieve a relatively low cache miss rate in the shared cache memory.