Cache-Aware Task Scheduling with Migration Cost Ranking

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing scheduling methods for tasks on clusters of processor cores sharing caches do not provide optimal performance over time, especially when considering dynamic changes and cache interactions.

Innovation Solution

A dynamic scheduling method that determines task relationships and migration costs to optimize task placement, using a controller to rank combinations based on cache performance and migration costs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If static definitions are used for task placement, then optimal placement can be achieved, but big effort is required in careful studies of working-set behavior

Engineering Contradiction:
Improvetask placement optimizationVSAvoidanalysis effort
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system performs self-service by automatically analyzing working-set behavior and dynamically adjusting task placements without requiring external manual analysis. The scheduler autonomously monitors cache performance metrics and repositions tasks based on observed patterns, eliminating the need for manual working-set studies while maintaining optimal placement.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system implements feedback mechanisms by continuously monitoring cache hit/miss rates and task execution performance. This feedback loop enables the scheduler to detect cache aliasing effects in real-time and automatically adjust task placements, replacing static definitions with dynamic, data-driven decisions that reduce analysis effort while maintaining optimization.

Inventive Principle:
Principle #23Feedback

2Measurement precision

If system simulations are used to capture characteristics, then required characteristics can be captured, but big computational resources are required

Engineering Contradiction:
Improvecharacteristic capture accuracyVSAvoidcomputational resource consumption
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

Instead of performing exhaustive system simulations to capture all characteristics, the system applies partial action by monitoring only the most critical performance metrics (cache hit rates, task execution times). This selective measurement approach captures essential characteristics sufficient for optimization while avoiding the computational overhead of comprehensive simulations.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system performs preliminary action by pre-calculating and caching task relationships and cache performance metrics during idle periods or between scheduling decisions. This preliminary computation stores characterization data that can be quickly retrieved and applied during actual scheduling, avoiding the need for resource-intensive real-time simulations.

Inventive Principle:
Principle #10Preliminary action

3Measurement precision

If static analysis methods are used, then working-set usage can be analyzed, but dynamic effects cannot be captured

Engineering Contradiction:
Improveworking-set usage analysisVSAvoiddynamic effect capture
Core Design Contradiction:
Measurement precisionVSAdaptability or versatility

Solution Approach 1:

The system transitions from static to dynamic analysis by continuously monitoring task execution and cache performance in real-time. The scheduler adapts task placements based on observed dynamic effects such as changing working-set patterns and cache aliasing that occur during runtime, enabling both precise working-set analysis and capture of dynamic behavioral effects.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentEP4315054B1Task scheduling
Publication Date: 2025.10.08 TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
  • EP4315054B1 patent drawingFigure 1
  • EP4315054B1 patent drawingFigure 2
  • EP4315054B1 patent drawingFigure 3A~3B

AI summary

A method for scheduling a first task (150) for a cache (190) of a cluster of processor cores (180) executing one or more tasks, the method being performed by a controller (200), the method comprising: determining (415) task relationships for the one or more tasks being executed; determining (420) ranking for at least one combination of tasks based on the one or more tasks being executed, taking into account the first task to be scheduled; selecting (430) a best ranked combination out of the at least one combination of tasks; and scheduling (460) the first task according to the selected combination, wherein the method is characterized in that the method further includes: determining the ranking for the at least one combination of tasks by further determining a migration cost for at least one task to be migrated to accomplish the at least one combination.