Adaptive Memory Controller Scheduling for PIM Workloads
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
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
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.
Data Source
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.


