Memory Controller Scheduling via Bandwidth-Aware QoS Prioritization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-processor systems, memory bandwidth contention among processors leads to inefficient memory request scheduling, as existing techniques fail to effectively prioritize and manage memory requests across multiple memory controllers, resulting in suboptimal memory response times and quality-of-service violations.

Innovation Solution

A method and apparatus that locally schedule memory requests based on quality-of-service priority, determined by a central manager using system-wide memory bandwidth usage information, which resets and accumulates priority values within timeframes to ensure fair allocation and reduce contention, employing techniques like congested-bank-first and time-frame-based quality-of-service scheduling to optimize memory access.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Volume of stationary object

If multiple processors access main memory through multiple memory controllers, then physical memory space is increased, but memory bandwidth contention occurs

Engineering Contradiction:
Improvephysical memory spaceVSAvoidmemory bandwidth
Core Design Contradiction:
Volume of stationary objectVSProductivity

Solution Approach 1:

The system segments memory management by dividing main memory into multiple portions, each controlled by a dedicated memory controller. Each processor can access any memory portion through the appropriate controller, enabling parallel memory operations while maintaining organized memory space segmentation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic memory request scheduling where the memory controller adapts scheduling decisions based on real-time system state information, including memory bandwidth usage metrics and quality-of-service requirements, allowing the system to dynamically adjust to changing workload conditions.

Inventive Principle:
Principle #15Dynamics

2Ease of operation

If memory requests are scheduled without quality-of-service prioritization, then scheduling simplicity is maintained, but quality-of-service targets are violated

Engineering Contradiction:
Improvescheduling simplicityVSAvoidquality-of-service compliance
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The memory controller implements feedback mechanisms by monitoring memory bandwidth usage information and using this feedback to adjust scheduling decisions. The controller collects usage metrics, compares them against quality-of-service targets, and modifies request prioritization accordingly to ensure compliance while maintaining operational simplicity.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent introduces an intermediary scheduling mechanism within the memory controller that acts as a mediator between multiple processors and the memory subsystem. This intermediary layer handles the complexity of quality-of-service enforcement, translating high-level QoS requirements into concrete scheduling decisions without requiring complex changes at the processor level.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Device complexity

If local memory bandwidth usage is monitored without system-wide information, then monitoring complexity is reduced, but scheduling optimality deteriorates

Engineering Contradiction:
Improvemonitoring complexityVSAvoidscheduling efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent merges local monitoring capabilities at each memory controller with system-wide monitoring functions. Each controller monitors its local memory bandwidth usage and combines this information with system-wide metrics to form a comprehensive view, enabling optimized scheduling decisions that consider both local conditions and overall system state.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system transitions from purely local monitoring to a multi-dimensional monitoring approach that incorporates both local memory controller metrics and system-wide aggregation. This dimensional expansion allows the scheduling algorithm to make more informed decisions by considering usage patterns across multiple levels of the memory hierarchy.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS8522244B2Method and apparatus for scheduling for multiple memory controllers
Publication Date: 2013.08.27 ADVANCED MICRO DEVICES INC
  • US8522244B2 patent drawing
  • US8522244B2 patent drawing
  • US8522244B2 patent drawing

AI summary

In at least one embodiment, a method includes locally scheduling a memory request requested by a thread of a plurality of threads executing on at least one processor. The memory request is locally scheduled according to a quality-of-service priority of the thread. The quality-of-service priority of the thread is based on a quality of service indicator for the thread and system-wide memory bandwidth usage information for the thread. In at least one embodiment, the method includes determining the system-wide memory bandwidth usage information for the thread based on local memory bandwidth usage information associated with the thread periodically collected from a plurality of memory controllers during a timeframe. In at least one embodiment, the method includes at each mini-timeframe of the timeframe accumulating the system-wide memory bandwidth usage information for the thread and updating the quality-of-service priority based on the accumulated system-wide memory bandwidth usage information for the thread.