Hardware Accelerator Access Mode Control for Cache Pollution Prevention

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Hardware accelerators in multi-user and multi-task operating systems face inefficiencies due to cache pollution and varying memory access patterns, as they often operate in non-temporal locality access mode, which can lead to suboptimal performance and cache pollution, while temporal locality access mode is not always utilized effectively.

Innovation Solution

A processing system that dynamically determines the access mode of a hardware accelerator based on instruction behavior, allowing it to switch between non-temporal and temporal access modes, thereby preventing cache pollution and improving access efficiency by directly accessing the host memory in non-temporal mode and the cache in temporal mode.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If the hardware accelerator operates in non-temporal access mode, then the access speed for non-repeated data is improved, but cache pollution occurs

Engineering Contradiction:
Improveaccess speedVSAvoidcache pollution
Core Design Contradiction:
SpeedVSObject-generated harmful factors

Solution Approach 1:

The hardware accelerator dynamically switches between non-temporal access mode and temporal access mode based on the access behavior characteristics of instructions. The controller determines whether to use non-temporal access or temporal access by analyzing instruction patterns, enabling the system to adaptively optimize performance while preventing cache pollution when non-temporal access is appropriate

Inventive Principle:
Principle #15Dynamics

2Productivity

If the hardware accelerator operates in temporal access mode, then the cache utilization is improved, but the access efficiency for non-temporal data deteriorates

Engineering Contradiction:
Improvecache utilizationVSAvoidaccess efficiency
Core Design Contradiction:
ProductivityVSSpeed

Solution Approach 1:

The system dynamically adjusts the access mode based on instruction characteristics. When instructions exhibit temporal locality patterns, the hardware accelerator switches to temporal access mode to utilize cache effectively. When instructions show non-temporal access patterns, it switches to non-temporal mode to maintain high access efficiency, thus optimizing both cache utilization and access speed under different workloads

Inventive Principle:
Principle #15Dynamics

3Adaptability or versatility

If the hardware accelerator shares the cache with multiple CPU cores, then the resource utilization is improved, but the cache pollution from non-temporal access increases

Engineering Contradiction:
Improveresource utilizationVSAvoidcache pollution
Core Design Contradiction:
Adaptability or versatilityVSObject-generated harmful factors

Solution Approach 1:

In a multi-core CPU shared cache environment, the hardware accelerator controller analyzes instruction access behaviors to dynamically determine the appropriate access mode. By switching between temporal and non-temporal access modes based on actual instruction patterns, the system maximizes shared cache resource utilization while preventing cache pollution that would occur with unconditional non-temporal access

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The controller monitors instruction access behaviors and uses this feedback to dynamically adjust the access mode. By analyzing whether instructions exhibit temporal or non-temporal locality patterns, the system makes informed decisions about cache access strategies, thereby optimizing resource utilization while minimizing harmful cache pollution effects

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11263139B2Hardware accelerators and access methods thereof
Publication Date: 2022.03.01 VIA ALLIANCE SEMICON CO LTD
  • US11263139B2 patent drawing
  • US11263139B2 patent drawing
  • US11263139B2 patent drawing

AI summary

A processing system includes a cache, a host memory, a CPU and a hardware accelerator. The CPU accesses the cache and the host memory and generates at least one instruction. The hardware accelerator operates in a non-temporal access mode or a temporal access mode according to the access behavior of the instruction. The hardware accelerator accesses the host memory through an accelerator interface when the hardware accelerator operates in the non-temporal access mode, and accesses the cache through the accelerator interface when the hardware accelerator operates in the temporal access mode.