Memory Pool Arbitration for Disaggregated Data Center Resources
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Data centers face inefficiencies in memory resource allocation, particularly in managing bandwidth for compute nodes with varying workloads, leading to suboptimal performance and potential downtime due to power failures, especially when using volatile and non-volatile memory systems.
Innovation Solution
Implementing a memory pool architecture with a memory pool controller (MPC) and pool management controller (PMC) that employs a weighted round robin arbitration scheme to prioritize and allocate bandwidth based on workload priority, ensuring that high-priority workloads receive increased bandwidth while optimizing overall memory pool usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a shared memory pool is used to consolidate memory resources, then memory utilization efficiency is improved, but bandwidth allocation fairness deteriorates
Solution Approach 1:
The patent segments the shared memory pool into multiple memory regions, each dedicated to specific compute nodes or workload types. The memory pool controller divides the pool into first memory regions for first compute nodes and second memory regions for second compute nodes, ensuring isolated bandwidth allocation. This segmentation allows efficient resource consolidation while maintaining fair bandwidth distribution through structured regional separation.
2Device complexity
If arbitration is performed without priority consideration, then system simplicity is maintained, but workload performance optimization deteriorates
Solution Approach 1:
The patent implements a dynamic priority arbitration mechanism where compute nodes are assigned different priority levels based on workload characteristics. The memory pool controller dynamically adjusts arbitration behavior by assigning first priority to first compute nodes and second priority to second compute nodes, allowing the system to adapt to varying workload demands while maintaining reasonable complexity through standardized priority handling.
3Reliability
If bandwidth is allocated equally to all compute nodes, then allocation fairness is improved, but critical workload performance deteriorates
Solution Approach 1:
The patent applies local quality by allocating different bandwidth characteristics to different memory regions based on local workload requirements. First memory regions serving critical compute nodes are configured with higher bandwidth priorities, while second memory regions serve less critical workloads. This localized quality differentiation ensures fair overall allocation while optimizing performance for critical workloads through region-specific bandwidth characteristics.
4Productivity
If memory resources are consolidated into a shared pool, then resource efficiency is improved, but vulnerability to power failures deteriorates
Solution Approach 1:
The patent segments the shared memory pool into isolated memory regions that can be independently managed and protected. By dividing the pool into first and second memory regions with distinct allocations, the system maintains resource efficiency through consolidation while reducing vulnerability to power failures through regional isolation. This segmentation allows targeted resource protection and recovery strategies for different workload categories.
Data Source
AI summary
Technology for a memory pool arbitration apparatus is described. The apparatus can include a memory pool controller (MPC) communicatively coupled between a shared memory pool of disaggregated memory devices and a plurality of compute resources. The MPC can receive a plurality of data requests from the plurality of compute resources. The MPC can assign each compute resource to one of a set of compute resource priorities. The MPC can send memory access commands to the shared memory pool to perform each data request prioritized according to the set of compute resource priorities. The apparatus can include a priority arbitration unit (PAU) communicatively coupled to the MPC. The PAU can arbitrate the plurality of data requests as a function of the corresponding compute resource priorities.


