Cache Priority Management in Heterogeneous Multi-Core Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In heterogeneous multi-core systems, the shared cache resource contention between different types of processors leads to reduced cache hit rates and inefficient utilization, as existing cache replacement algorithms fail to account for the distinct memory access characteristics of CPU and GPU applications.

Innovation Solution

A cache replacing method that determines the cache priority of data based on the type of processor and performance parameters of applications, using a dynamic cache replacement algorithm selection between LRU and LFU, and maintains a removal information queue to optimize cache allocation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If multiple processors of different types share the last-level cache, then resource utilization is improved, but contention conflict increases and cache hit rate decreases

Engineering Contradiction:
Improvecache resource sharingVSAvoidcache hit rate
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent applies local quality by assigning different cache priorities to different processor types (CPU vs GPU) and different application types. CPU applications receive higher cache priorities while GPU applications receive lower priorities, allowing each processor type to access cache resources according to its specific needs and characteristics, thereby resolving the contention conflict while maintaining resource sharing

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent changes the cache replacement parameter by introducing a priority-based replacement mechanism instead of traditional LRU or LFU algorithms. The cache controller dynamically adjusts replacement parameters based on processor type, application type, and access patterns, enabling adaptive cache management that improves hit rates in heterogeneous multi-core systems

Inventive Principle:
Principle #35Parameter changes

2Device complexity

If traditional cache replacement algorithms are used, then implementation is simple, but they fail to account for distinct memory access characteristics of CPU and GPU applications

Engineering Contradiction:
Improvecache replacement algorithmVSAvoidmemory access characteristic adaptation
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent implements a dynamic cache replacement algorithm that adapts to different processor types and application characteristics in real-time. The cache controller dynamically adjusts replacement strategies based on whether the accessing processor is CPU or GPU, and further refines decisions based on application-type detection and access pattern analysis, making the system flexible and adaptive without excessive complexity

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent incorporates feedback mechanisms where the cache controller continuously monitors access patterns, detects application types, and adjusts replacement policies accordingly. The system uses feedback from access frequency, access time, and application-type detection to dynamically optimize cache replacement decisions, improving adaptability while maintaining manageable complexity through intelligent control

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11086792B2Cache replacing method and apparatus, heterogeneous multi-core system and cache managing method
Publication Date: 2021.08.10 BEIJING BOE OPTOELECTRONCIS TECH CO LTD
  • US11086792B2 patent drawing
  • US11086792B2 patent drawing
  • US11086792B2 patent drawing

AI summary

This disclosure provides a cache replacing method applied to a heterogeneous multi-core system, the method including: determining whether a first application currently running is an application running on the GPU; when it is determined that the first application currently running is an application running on the GPU, determining a cache priority of first data accessed by the first application according to a performance parameter of the first application, the cache priority of the first data including a priority other than a predefined highest cache priority; and caching the first data into a cache queue of the shared cache according to a predetermined cache replacement algorithm and the cache priority of the first data, and replacing data in the cache queue.