Percentile-Based Memory Performance Control for Heterogeneous Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current computer systems face challenges in managing memory performance requirements for applications, particularly in heterogeneous memory architectures, where existing solutions lack adaptability and dynamicity, leading to inefficient data placement and performance optimization across different memory tiers.

Innovation Solution

A processor apparatus and method that provide a percentile-based memory performance requirement interface, allowing for flexible control of memory performance by allocating resources based on specific requirements, and a memory performance controller that monitors and adjusts data placement across different memory tiers to meet these requirements, using bitmap information and telemetry data to optimize memory access.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If existing memory management solutions are used in heterogeneous memory architectures, then basic memory operations can be performed, but adaptability and dynamicity are insufficient leading to inefficient data placement and performance optimization

Engineering Contradiction:
ImproveadaptabilityVSAvoidperformance optimization
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent implements dynamic memory management by continuously monitoring memory access patterns and performance metrics, then automatically adjusting data placement decisions. The system transitions from static to dynamic control by adapting memory allocation strategies based on real-time workload characteristics and performance requirements, enabling optimal data placement across heterogeneous memory tiers.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes key parameters including memory allocation policies, data placement decisions, and performance thresholds based on monitored workload characteristics. By dynamically adjusting these parameters according to actual system state and performance requirements, the system achieves both adaptability to different workloads and optimized performance across diverse memory architectures.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If memory resources are allocated to meet specific performance requirements, then application performance can be guaranteed, but resource utilization efficiency may be reduced

Engineering Contradiction:
Improveperformance requirement satisfactionVSAvoidresource utilization efficiency
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent applies local quality by providing differentiated memory service levels to different data structures based on their specific performance requirements. Critical data structures receive guaranteed performance through reserved memory resources and priority allocation, while non-critical data uses available capacity efficiently. This localized quality of service approach ensures performance requirements are met for essential operations while maintaining overall resource utilization efficiency.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system implements partial resource reservation by allocating memory resources proportionally to performance requirements rather than fully reserving capacity. This allows the system to guarantee minimum performance levels while leaving excess resources available for dynamic allocation to other workloads, thereby balancing reliability with resource utilization efficiency.

Inventive Principle:
Principle #16Partial or excessive action

3Productivity

If data structures are moved across memory tiers to optimize performance, then memory performance requirements can be met, but system complexity increases

Engineering Contradiction:
Improvememory performanceVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements self-service by enabling the memory management system to automatically monitor its own performance metrics, make placement decisions, and execute data migration operations without external intervention. The system services itself by detecting performance bottlenecks and autonomously optimizing data placement across memory tiers, thereby achieving improved memory performance while managing complexity through automation rather than manual control mechanisms.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system employs feedback mechanisms by continuously monitoring memory access patterns, performance metrics, and workload characteristics, then using this information to guide data placement decisions. The feedback loop enables the system to adapt to changing conditions and optimize performance dynamically, managing complexity through information-driven automation rather than predetermined complex control logic.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11340832B2Concept for controlling a memory performance in a computer system
Publication Date: 2022.05.24 INTEL CORP
  • US11340832B2 patent drawing
  • US11340832B2 patent drawing
  • US11340832B2 patent drawing

AI summary

Examples relate to a processor apparatus, device, method and computer program, to a memory performance controller apparatus, device, method and computer program and to a memory controller apparatus, device, method and computer program. The processor apparatus comprises interface circuitry for communicating with other components of the computer system. The processing circuitry is configured to provide an interface for controlling a memory performance requirement of a data structure stored within a memory of the computer system. The memory performance requirement is a percentile-based memory performance requirement comprising at least a first memory performance requirement valid for a first portion of access operations and a second memory performance requirement valid for a second portion of access operations. The processing circuitry is configured to control a memory system of the computer system to provide the memory performance indicated by the memory performance requirement in response to an instruction obtained via the interface for controlling the memory performance requirement of the data structure.