Adaptive Memory Controller Scheduling for PIM Workloads

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional computer architectures with processing-in-memory (PIM) components face performance degradation due to sub-optimal scheduling of PIM and non-PIM requests, resulting in increased computational resource consumption, latency, and power consumption, as they rely on static thresholds that do not account for irregular request arrival rates and burst patterns.

Innovation Solution

An adaptive scheduling system that uses a three-stage arbitration system and dynamically updates stall thresholds based on historical metrics to optimize the switching between PIM and non-PIM modes, ensuring efficient execution of both types of requests without affecting quality of service.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If static timing thresholds are used for scheduling PIM and non-PIM requests, then the scheduling mechanism is simple to implement, but system performance degrades due to inability to adapt to irregular request arrival rates and burst patterns

Engineering Contradiction:
Improveease of implementationVSAvoidsystem performance
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The patent applies dynamics by transitioning from static timing thresholds to dynamic adaptive thresholds that automatically adjust based on observed request patterns. The scheduling mechanism learns from historical data and modifies its behavior in real-time to match the actual workload characteristics, thereby resolving the contradiction between implementation simplicity and system performance.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent implements feedback mechanisms where the scheduling system continuously monitors request arrival patterns and uses this information to adjust future scheduling decisions. The performance metrics and request patterns feed back into the scheduling algorithm, enabling it to adapt and optimize over time, thus improving system performance without significantly complicating the implementation.

Inventive Principle:
Principle #23Feedback

2Adaptability or versatility

If the system switches between PIM and non-PIM modes frequently to handle diverse requests, then request handling flexibility improves, but resource consumption and latency increase due to mode switching overhead

Engineering Contradiction:
Improverequest handling flexibilityVSAvoidlatency
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by predicting future request patterns based on historical data and proactively preparing the system in advance. The adaptive scheduler anticipates when mode switches will be beneficial and prepares accordingly, reducing the actual switching overhead and latency when switches do occur, thus maintaining flexibility while minimizing time loss.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements periodic action through rhythmic evaluation cycles where the scheduler periodically assesses request patterns and determines optimal switching points. This periodic evaluation allows the system to maintain steady-state operation longer between switches, reducing frequent mode transitions and their associated overhead, while still maintaining the ability to adapt when necessary.

Inventive Principle:
Principle #19Periodic action

3Device complexity

If conventional scheduling techniques are extended to handle both PIM and non-PIM requests, then the scheduling mechanism remains simple, but system performance degrades due to sub-optimal scheduling decisions

Engineering Contradiction:
Improvescheduling mechanism complexityVSAvoidsystem performance
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent applies parameter changes by modifying key scheduling parameters such as timing thresholds and priority weights based on observed system behavior. Instead of fundamentally changing the scheduling architecture, the system adjusts parameters dynamically to optimize performance for different workload types, thereby improving system performance without significantly increasing scheduling mechanism complexity.

Inventive Principle:
Principle #35Parameter changes

4Productivity

If the system uses adaptive scheduling with dynamic threshold adjustment, then system performance and resource efficiency improve, but the scheduling mechanism becomes more complex

Engineering Contradiction:
Improvesystem performanceVSAvoidscheduling mechanism complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies self-service by enabling the scheduling mechanism to automatically adjust its own parameters based on observed performance and request patterns. The system monitors itself and makes autonomous decisions about threshold adjustments without requiring external intervention or complex manual configuration, thereby improving performance while keeping the increase in mechanism complexity manageable through self-configuration capabilities.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS12131026B2Adaptive scheduling of memory and processing-in-memory requests
Publication Date: 2024.10.29 ADVANCED MICRO DEVICES INC
  • US12131026B2 patent drawing
  • US12131026B2 patent drawing
  • US12131026B2 patent drawing

AI summary

Adaptive scheduling of memory requests and processing-in-memory requests is described. In accordance with the described techniques, a memory controller receives a plurality of processing-in-memory requests and a plurality of non-processing-in-memory requests from a host. The memory controller schedules an order of execution for the plurality of processing-in-memory requests and the plurality of non-processing-in-memory requests based at least in part on a processing-in-memory request stall threshold and a non-processing-in-memory request stall threshold. In response to a system switching (e.g., from executing processing-in-memory requests to executing non-processing-in-memory requests or from executing non-processing-in-memory requests to executing processing-in-memory requests), the memory controller modifies the processing-in-memory request stall threshold and the non-processing-in-memory request stall threshold. The memory controller continues scheduling an order of execution for subsequent requests received from the host using the modified stall thresholds.