Memory Controller QoS Enforcement and Migration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory resource provisioning in data centers is inefficient due to static a priori provisioning, which cannot scale beyond a few high priority tenants and often results in under/over allocation of resources, failing to adapt to varying application performance needs in terms of memory bandwidth and latency.

Innovation Solution

A memory controller that dynamically manages quality of service (QoS) enforcement and migration between local and pooled memory, using performance monitoring and page-based access tracking to identify bottlenecks and adjust resource allocation in real-time, ensuring optimal bandwidth and latency for applications based on cycles per instruction (CPI) measurements.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If static a priori provisioning is used for memory resources, then resource allocation is simple to implement, but resource utilization efficiency deteriorates due to under/over provisioning

Engineering Contradiction:
ImproveEase of implementationVSAvoidResource utilization efficiency
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The patent implements dynamic resource allocation by transitioning from static a priori provisioning to a system that continuously monitors application performance metrics (CPI, memory bandwidth, latency) and adjusts memory resource allocation in real-time. The memory controller dynamically migrates applications between local and pooled memory based on current performance needs, ensuring optimal resource utilization without over or under-provisioning.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system employs feedback mechanisms by monitoring cycles per instruction (CPI) and memory access patterns, then using this information to make informed decisions about memory resource allocation. The memory controller receives performance feedback from applications and adjusts provisioning accordingly, creating a closed-loop system that optimizes resource efficiency based on actual usage patterns.

Inventive Principle:
Principle #23Feedback

2Ease of manufacture

If static a priori provisioning is used for memory resources, then resource allocation is predetermined and simple, but adaptability to varying application performance needs deteriorates

Engineering Contradiction:
ImproveSimplicity of allocationVSAvoidAdaptability to application needs
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

Solution Approach 1:

The system transforms static provisioning into a dynamic allocation mechanism that adapts to varying application performance needs. The memory controller continuously adjusts memory resource allocation based on real-time monitoring of CPI, memory bandwidth, and latency metrics, enabling the system to accommodate different application requirements without predetermined constraints.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the provisioning parameter from fixed static allocation to dynamic allocation based on performance parameters such as cycles per instruction, memory bandwidth utilization, and latency. By monitoring and responding to these parameter changes, the system adapts memory resource allocation to match actual application performance needs rather than following predetermined static rules.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If memory resources are allocated to multiple tenants dynamically, then resource utilization improves, but system complexity increases due to QoS enforcement and migration management

Engineering Contradiction:
ImproveResource utilizationVSAvoidSystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces a memory controller as an intermediary component that manages the complexity of dynamic resource allocation and QoS enforcement. This intermediary layer handles the sophisticated tasks of monitoring application performance, making migration decisions, and enforcing quality of service policies, thereby shielding higher-level system components from the complexity while enabling efficient multi-tenant resource utilization.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system segments memory resources into local memory and pooled memory, with the memory controller managing allocations between these segments. This segmentation allows for organized management of complex multi-tenant environments by dividing the memory hierarchy into distinct regions that can be dynamically allocated based on application needs and QoS requirements.

Inventive Principle:
Principle #1Segmentation

4Reliability

If high priority tenants are served first, then quality of service for high priority applications is maintained, but resource allocation efficiency deteriorates due to potential over-provisioning

Engineering Contradiction:
ImproveQoS guaranteeVSAvoidResource allocation efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent changes the QoS enforcement approach from static priority-based allocation to dynamic parameter-driven allocation. Instead of always serving high priority tenants first regardless of actual needs, the system monitors performance parameters such as CPI and memory bandwidth utilization to determine when QoS enforcement is actually necessary, thereby maintaining reliability only when performance degradation is detected rather than continuously over-provisioning.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system applies partial QoS enforcement by monitoring application performance and only intervening when necessary to maintain quality of service. Rather than always allocating maximum resources to high priority tenants, the memory controller applies QoS measures selectively based on actual performance needs, avoiding excessive resource allocation while still guaranteeing service levels when required.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11994997B2Memory controller to manage quality of service enforcement and migration between local and pooled memory
Publication Date: 2024.05.28 INTEL CORP
  • US11994997B2 patent drawing
  • US11994997B2 patent drawing
  • US11994997B2 patent drawing

AI summary

Systems, apparatuses and methods may provide for a memory controller to manage quality of service enforcement and migration between local and pooled memory. A memory controller may include logic to communicate with a local memory and with a pooled memory controller to track memory page usage on a per application basis, instruct the pooled memory controller to perform a quality of service enforcement in response to a determination that an application is latency bound or bandwidth bound, wherein the determination that the application is latency bound or bandwidth bound is based on a cycles per instruction determination, and instruct a Direct Memory Access engine to perform a migration from a remote memory to the local memory in response to a determination that the quality of service cannot be enforced.