Multi-armed bandit prefetcher balancing memory access and interference

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing prefetcher systems face challenges in balancing prefetching aggressiveness to optimize memory access performance without causing excessive inter-core interference or high power consumption.

Innovation Solution

A system utilizing a multi-armed bandit machine learning agent to dynamically select prefetcher engine configurations based on exploration and exploitation phases, optimizing prefetcher aggressiveness to maximize system performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If aggressive prefetching is used to improve memory access performance, then memory access latency is reduced, but inter-core interference and power consumption increase

Engineering Contradiction:
Improvememory access performanceVSAvoidinter-core interference
Core Design Contradiction:
SpeedVSObject-generated harmful factors

Solution Approach 1:

The patent implements dynamic adjustment of prefetcher aggressiveness by training a neural network model with historical performance data to predict optimal prefetching parameters. The system transitions from static aggressive prefetching to dynamic adaptive prefetching that adjusts its behavior based on predicted workload characteristics and historical performance, thereby maintaining high memory access performance while reducing harmful inter-core interference.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system incorporates feedback mechanisms by collecting historical performance data from multiple cores and using this feedback to train the neural network model. The model continuously learns from past prefetching outcomes and adjusts future prefetching decisions, creating a closed-loop control system that optimizes memory access performance while minimizing negative impacts on other cores.

Inventive Principle:
Principle #23Feedback

2Speed

If aggressive prefetching is used to improve memory access performance, then data fetch latency is reduced, but power consumption increases

Engineering Contradiction:
Improvedata fetch latencyVSAvoidpower consumption
Core Design Contradiction:
SpeedVSUse of energy by moving object

Solution Approach 1:

The patent changes the operational parameters of the prefetcher by using the neural network model to predict optimal prefetching aggressiveness levels. Instead of maintaining high prefetching intensity continuously, the system dynamically adjusts parameters such as prefetch distance and prefetch quantity based on workload predictions, thereby reducing power consumption while maintaining acceptable data fetch latency.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system applies partial prefetching action by training the model to identify when aggressive prefetching is truly necessary versus when conservative prefetching suffices. The neural network learns to apply prefetching intensity proportional to actual need, avoiding excessive prefetching that would waste power, while still providing sufficient prefetching to maintain low latency when required.

Inventive Principle:
Principle #16Partial or excessive action

3Stability of the object's composition

If conservative prefetching is used to reduce inter-core interference, then system stability is improved, but memory access performance deteriorates

Engineering Contradiction:
Improvesystem stabilityVSAvoidmemory access performance
Core Design Contradiction:
Stability of the object's compositionVSSpeed

Solution Approach 1:

The patent resolves this contradiction by making the prefetcher dynamic rather than statically conservative. The neural network model analyzes historical performance data to determine the appropriate level of aggressiveness for each situation, allowing the system to maintain stability through learned patterns while achieving high performance when conditions warrant aggressive prefetching.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system serves itself by using its own historical performance data to train the neural network model. The prefetcher learns from its past behavior and outcomes, automatically optimizing its own parameters without external intervention, thereby achieving both stability and high performance through self-improvement.

Inventive Principle:
Principle #25Self-service

4Use of energy by moving object

If conservative prefetching is used to reduce power consumption, then energy efficiency is improved, but memory access performance deteriorates

Engineering Contradiction:
Improvepower consumptionVSAvoidmemory access performance
Core Design Contradiction:
Use of energy by moving objectVSSpeed

Solution Approach 1:

The patent implements parameter changes by using the neural network to dynamically adjust prefetching parameters based on workload characteristics. The system transitions from fixed conservative parameters to adaptive parameters that optimize both power consumption and performance, achieving energy efficiency without sacrificing memory access speed.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The prefetcher system improves its own energy efficiency through self-learning. By training the neural network on historical data, the system automatically learns when conservative prefetching is sufficient and when more aggressive prefetching is warranted, optimizing its own power consumption characteristics without external control.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS20250181411A1Multi-armed bandit improvement
Publication Date: 2025.06.05 MELLANOX TECHNOLOGIES LTD(IL)
  • US20250181411A1 patent drawing
  • US20250181411A1 patent drawing
  • US20250181411A1 patent drawing

AI summary

In one embodiment, a system includes a processor to control a resource according to policies selected by a multi-armed bandit machine learning agent in exploration phases and in exploitation phases, and execute the multi-armed bandit machine learning agent to select from the policies to control the resource in the exploration phases according to probabilities to explore corresponding one of the policies, wherein the probabilities include different probabilities, perform measurements on the system during execution of the multi-armed bandit machine learning agent, and execute the multi-armed bandit machine learning agent to select from the policies to maximize potential rewards from controlling the resource in exploitation phases based on the performed measurements, and a memory to store data used by the processor.