Shared Device Bandwidth Allocation for CXL Host QoS

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing interconnect fabrics like IntelĀ® CXL do not provide mechanisms for Quality of Service (QoS) management among multiple hosts accessing shared memory, leading to potential throughput bottlenecks and inefficient resource utilization.

Innovation Solution

Implementing a Port Based Memory Bandwidth Allocation (PBMBA) mechanism within the CXL fabric to manage and allocate memory bandwidth dynamically among hosts, using a PBMBA controller and Fabric Manager API commands, ensuring each host's access is limited and adjusted based on workload, with reporting to the Operating System-directed configuration and Power Management (OSPM) via ACPI_DSM methods.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If multiple hosts access shared memory simultaneously in CXL fabric, then memory pooling scalability is improved, but throughput bottlenecks and inefficient resource utilization occur

Engineering Contradiction:
Improvememory pooling scalabilityVSAvoidthroughput efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent segments the shared memory bandwidth into multiple allocation units that can be independently assigned to different hosts. The PBMBA controller divides the total memory bandwidth and manages multiple allocation entries, each corresponding to a host's bandwidth share. This segmentation allows simultaneous access by multiple hosts while preventing any single host from monopolizing the entire bandwidth, thus resolving the throughput bottleneck issue while maintaining scalability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic bandwidth allocation where the PBMBA controller can adjust memory bandwidth assignments based on real-time host requests and workload conditions. The system dynamically creates, modifies, and deletes bandwidth allocation entries through Fabric Manager API commands, allowing the memory bandwidth distribution to adapt to changing system demands. This dynamic adjustment prevents throughput bottlenecks by ensuring fair and efficient resource distribution among multiple hosts.

Inventive Principle:
Principle #15Dynamics

2Device complexity

If no QoS management mechanism is implemented, then device complexity is reduced, but fair resource allocation among hosts cannot be ensured

Engineering Contradiction:
Improvecontrol mechanism complexityVSAvoidresource allocation fairness
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent introduces a PBMBA (Port Based Memory Bandwidth Allocation) controller as an intermediary component between the shared memory and multiple hosts. This controller manages bandwidth allocation by receiving allocation requests from hosts, determining appropriate bandwidth shares, and enforcing these allocations through the interconnect fabric. The PBMBA controller works in conjunction with Fabric Manager API commands to provide centralized QoS management, ensuring fair resource distribution without requiring complex modifications to individual host systems.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of manufacture

If static memory allocation is used, then implementation simplicity is maintained, but adaptability to changing workloads is reduced

Engineering Contradiction:
Improveimplementation simplicityVSAvoidworkload adaptability
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic bandwidth allocation where the PBMBA controller can adjust memory bandwidth assignments based on real-time host requests and workload conditions. The system dynamically creates, modifies, and deletes bandwidth allocation entries through Fabric Manager API commands, allowing the memory bandwidth distribution to adapt to changing system demands. This dynamic adjustment prevents throughput bottlenecks by ensuring fair and efficient resource distribution among multiple hosts.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS20250225099A1Computer-Readable Media, Controllers, Control Devices, Methods, and Computer Programs for a Shared Device and Requester Devices
Publication Date: 2025.07.10 INTEL CORP
  • US20250225099A1 patent drawing
  • US20250225099A1 patent drawing
  • US20250225099A1 patent drawing

AI summary

Some aspects of the present disclosure relate to a non-transitory computer-readable medium storing instructions that, when executed by one or more processing circuitries, cause the one or more processing circuitries to perform a method for a controller of a shared device, the method comprising obtaining (130), from a requester device connected to the shared device via an interconnect fabric, a request for using a functionality of the shared device, and providing (140) access to the functionality of the shared device using a share of performance of the shared device defined by a data structure mapping one or more requester devices to one or more shares of performance of the shared device for the requester device.