Cache-Aware Task Scheduling in SMP Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In Symmetric Multi-Processing (SMP) environments, complex cache hierarchies lead to cache misses and increased application execution time due to uncontrolled cache usage by real-time tasks, especially when they access shared cache levels, causing contention and impacting worst-case execution time estimation.

Innovation Solution

A method and apparatus for cache-aware task scheduling that reduces cache misses by managing shared data between processing cores, using a scheduler to add tasks to core-specific lists, and transmitting decision data via interrupts to optimize scheduling and restrict access to core-specific data structures, thereby minimizing cache miss probability and Snoop Control Unit load.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If real-time tasks access shared cache levels in SMP environment, then task execution flexibility is improved, but cache contention increases and worst-case execution time estimation is impacted

Engineering Contradiction:
Improvetask execution flexibilityVSAvoidworst-case execution time estimation
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent segments the cache access by introducing core-specific data structures (core-local ready lists, core-local task management units) that are confined to individual processing cores. This segmentation prevents cross-core cache contention while maintaining task scheduling flexibility, as each core manages its own task queue locally without accessing shared cache resources.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary mechanism (the core-local data structures and the schedule assist queue) that mediates between task scheduling requirements and cache hierarchy. Instead of direct access to shared cache, tasks are scheduled through core-local structures, and inter-core communication is minimized to only essential data (one cache line width), thus reducing cache contention while preserving scheduling adaptability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If multiple data structures are accessed across processing cores, then task management functionality is improved, but cache miss probability increases

Engineering Contradiction:
Improvetask management functionalityVSAvoidcache miss probability
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent divides task management data structures into core-specific segments (core-local ready lists, core-local task management units) rather than using shared structures. Each processing core has its own dedicated data structures, eliminating the need for cross-core access to multiple data structures and thereby reducing cache miss probability from N accesses to 1 local access.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements local quality by making data structures core-specific rather than globally shared. Each core has locally optimized data structures that are accessed only by that core, ensuring fast local access without the performance penalty of cross-core cache accesses. The local ready list and local task management unit are optimized for their respective cores' execution contexts.

Inventive Principle:
Principle #3Local quality

3Adaptability or versatility

If shared data is accessed by multiple processing cores, then inter-core communication is improved, but Snoop Control Unit load increases

Engineering Contradiction:
Improveinter-core communicationVSAvoidSnoop Control Unit load
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent extracts the inter-core communication overhead by minimizing shared data to only one cache line width that is essential for schedule assistance. By taking out unnecessary shared data structures and replacing them with core-local alternatives, the Snoop Control Unit load is dramatically reduced while retaining essential inter-core scheduling coordination capabilities.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent applies partial action by implementing only the minimum necessary shared data (one cache line width) for inter-core communication rather than full shared data structures. This partial implementation provides sufficient schedule assistance functionality while avoiding the excessive cache coherence traffic that would burden the Snoop Control Unit.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11687364B2Methods and apparatus for cache-aware task scheduling in a symmetric multi-processing (SMP) environment
Publication Date: 2023.06.27 SAMSUNG ELECTRONICS CO LTD
  • US11687364B2 patent drawing
  • US11687364B2 patent drawing
  • US11687364B2 patent drawing

AI summary

An apparatus is configured to collect information related to a first activity and analyze the collected information to determine decision data. The information is stored in a first list of the source processing core for scheduling execution of the activity by a destination processing core to avoid cache misses. The source processing core is configured to transmit information related to the decision data using an interrupt, to a second list associated with a scheduler of the destination processing core, if the destination processing core is currently executing a second activity having a lower priority than the first activity.