Utilization-Aware Memory Allocation for Channel Parallelism

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In memory systems, uneven distribution of memory pages across channels leads to degraded performance, increasing tail latency, reducing bandwidth utilization, and decreasing channel parallelism.

Innovation Solution

A utilization-aware memory allocation scheme that distributes memory pages across channels based on their relative utilization, using device selection logic, channel selection logic, and page allocation logic to select devices and channels with lower utilization, implementing policies like balanced random or least used channel first service.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If memory pages are allocated without considering channel utilization, then allocation simplicity is maintained, but channel parallelism and bandwidth utilization deteriorate

Engineering Contradiction:
Improvechannel parallelismVSAvoidallocation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The memory allocation system dynamically adjusts channel selection based on real-time utilization metrics. The allocator monitors channel utilization and adapts its allocation strategy accordingly, switching between different policies (round-robin, weighted random, least utilized) based on current system state, thereby improving channel parallelism without requiring static complex infrastructure

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system implements feedback mechanisms by continuously monitoring channel utilization metrics and using this information to guide subsequent allocation decisions. The allocator receives feedback about channel usage patterns and adjusts its behavior to balance workloads, improving bandwidth utilization and channel parallelism through informed decision-making

Inventive Principle:
Principle #23Feedback

2Loss of time

If memory pages are allocated without considering channel utilization, then allocation speed is maintained, but tail latency increases

Engineering Contradiction:
Improvetail latencyVSAvoidallocation speed
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The system performs preliminary actions by pre-calculating and maintaining utilization metrics for each channel before allocation decisions are needed. This advance preparation allows the allocator to quickly select appropriate channels without performing complex calculations at the moment of allocation, thereby reducing tail latency while maintaining allocation speed

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The allocator changes allocation parameters dynamically by adjusting which channels are selected based on utilization thresholds and patterns. By modifying allocation parameters (such as weights, priorities, or selection criteria) based on current system state, the system optimizes for both low latency and high allocation speed under different workload conditions

Inventive Principle:
Principle #35Parameter changes

3Productivity

If memory pages are allocated without considering channel utilization, then bandwidth utilization is reduced, but allocation simplicity is maintained

Engineering Contradiction:
Improvebandwidth utilizationVSAvoidallocation mechanism complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The memory allocation mechanism is designed with multi-functionality, serving multiple purposes: it tracks utilization metrics, makes allocation decisions, and provides load balancing across channels. By consolidating these functions into a single universal allocator, the system improves bandwidth utilization without proportionally increasing overall system complexity

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The allocation mechanism acts as an intermediary layer between memory requests and physical channels, intelligent enough to balance workloads and optimize bandwidth utilization. This intermediary performs the complex task of utilization-aware allocation, shielding the rest of the system from complexity while maximizing bandwidth efficiency

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS12008248B2Systems, methods, and devices for utilization aware memory allocation
Publication Date: 2024.06.11 SAMSUNG ELECTRONICS CO LTD
  • US12008248B2 patent drawing
  • US12008248B2 patent drawing
  • US12008248B2 patent drawing

AI summary

A method may include receiving, from a process, a memory allocation request for a memory system comprising a first channel having a first channel utilization and a second channel having a second channel utilization, selecting, based on the first channel utilization and the second channel utilization, the first channel, and allocating, to the process, a page of memory from the first channel. The selecting may include selecting the first channel based on a balanced random policy. The selecting may include generating a ticket based on a random number and a number of free pages, comparing the ticket to a number of free pages of the first channel, and selecting the first channel based on the comparing. The selecting may include selecting the first channel based on a least used channel policy.