Memory-Access-Multiplexing Controller for Virtual Machine Bandwidth Arbitration
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In multi-core processor systems, existing technologies lack effective methods for fine-grained control over memory access resources, leading to performance degradation due to conflicts between processors, which affects the efficiency of virtual machines in virtualized computing environments.
Innovation Solution
A memory-access-multiplexing memory controller is introduced to manage memory accesses from multiple hardware threads and processors based on externally specified policies, ensuring rational and policy-driven sharing of memory resources among them.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If memory access resources are shared among multiple processors without fine-grained control, then system simplicity is maintained, but memory bandwidth contention increases and performance degrades
Solution Approach 1:
The memory controller is segmented into multiple independent arbitration units, each handling specific memory access streams from different processors or virtual machines. This segmentation enables fine-grained control over memory bandwidth allocation without requiring a completely complex centralized control structure, as each unit can operate semi-independently with its own arbitration logic.
Solution Approach 2:
The patent introduces a new dimension of control by adding virtualization-aware arbitration layers above the traditional processor-memory interface. This dimensional addition allows memory access requests to be tagged and routed based on virtual machine identifiers, enabling fine-grained resource allocation without fundamentally redesigning the entire memory subsystem architecture.
2Productivity
If memory access is allowed without control policies, then ease of operation is maintained, but memory bandwidth contention causes performance degradation
Solution Approach 1:
The memory controller implements self-service mechanisms where arbitration policies are automatically applied based on pre-configured weights and priorities for different virtual machines. The system autonomously manages memory bandwidth allocation without requiring manual intervention or complex external control, as the arbitration logic internally enforces resource allocation policies based on virtual machine needs.
Solution Approach 2:
The patent incorporates feedback mechanisms where the memory controller monitors actual memory bandwidth usage by different virtual machines and dynamically adjusts arbitration decisions. This feedback loop enables the system to respond to changing workloads in real-time, ensuring that virtual machines receive appropriate memory resources based on actual demand rather than static allocations.
3Productivity
If fine-grained memory control is implemented, then memory bandwidth contention is reduced, but device complexity increases
Solution Approach 1:
The memory controller is designed with universal arbitration logic that can handle multiple types of memory access requests from different sources (processors, I/O devices, virtual machines) through a unified framework. This multi-functionality allows the same control structure to manage diverse memory access patterns without requiring separate specialized controllers for each access type, thereby reducing overall complexity.
Solution Approach 2:
The patent introduces an intermediary arbitration layer between the memory interface and the memory controller that handles the complexity of fine-grained resource allocation. This intermediary component translates high-level virtual machine memory requests into detailed arbitration decisions, shielding the main memory controller from complex allocation logic and reducing its architectural complexity while still enabling fine-grained control.
Data Source
AI summary
The present application is directed to a memory-access-multiplexing memory controller that can multiplex memory accesses from multiple hardware threads, cores, and processors according to externally specified policies or parameters, including policies or parameters set by management layers within a virtualized computer system. A memory-access-multiplexing memory controller provides, at the physical-hardware level, a basis for ensuring rational and policy-driven sharing of the memory-access resource among multiple hardware threads, cores, and/or processors.


