Virtual Partition CPU Binding Retention Across Reboots
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In computer systems with non-uniform memory architecture, CPU assignment to virtual partitions is not retained across reboots, leading to inefficient memory access and flexibility issues in CPU migration.
Innovation Solution
A method and system for soft binding preferred CPUs to virtual partitions, allowing fine-grained control over CPU migration and retention across reboots, using a virtual partition monitor and database to manage CPU assignments based on hardware paths and attributes, ensuring preferred CPUs are assigned and retained.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If CPUs are randomly assigned to virtual partitions using count-based CPU assignment, then resource flexibility is improved, but memory access time increases and CPU assignments are not retained across reboots
Solution Approach 1:
The system performs preliminary CPU binding by identifying and designating specific CPUs as preferred for each virtual partition before runtime based on NUMA topology. This preliminary assignment ensures that when the virtual partition starts, it immediately receives optimal CPU assignments without requiring random allocation, thus reducing memory access time while maintaining flexibility through the preferred CPU list mechanism.
Solution Approach 2:
The patent applies local quality by binding CPUs to virtual partitions based on their physical location in the NUMA architecture. Specifically, CPUs that are locally connected to or proximal to the virtual partition's memory are identified and preferred, creating a localized optimal assignment that reduces memory access time. This is achieved through analyzing hardware paths and NUMA topology to determine which CPUs have the fastest access to specific memory regions.
2Loss of time
If specific CPU identifiers are directly specified for assignment, then memory access time is reduced, but CPU assignments are not retained across reboots
Solution Approach 1:
The system creates a persistent copy of the CPU assignment information by storing the preferred CPU list in a database associated with the virtual partition configuration. When the virtual partition manager reads the virtual partition definition, it retrieves this stored CPU assignment information, ensuring that the optimal CPU bindings are reproduced and retained across reboots without requiring manual re-specification.
Solution Approach 2:
The patent introduces an intermediary mechanism - the virtual partition manager and its associated database - that mediates between the static CPU assignment requirements and the dynamic reboot environment. This intermediary stores and manages the preferred CPU list, acting as a persistent record that survives reboots and ensures consistent CPU assignments are applied each time the virtual partition is instantiated.
3Adaptability or versatility
If CPUs are dynamically added or deleted from virtual partitions, then resource flexibility is improved, but optimal CPU assignments may be lost
Solution Approach 1:
The system implements dynamic CPU management with preferred binding by allowing the virtual partition manager to modify the preferred CPU list at runtime. When CPUs are dynamically added or deleted, the manager can update the virtual partition's preferred CPU list to reflect current availability, ensuring that optimal assignments are maintained. The binding mechanism itself is dynamic, allowing flexibility while preserving optimality through the preferred list approach.
Data Source
AI summary
A method and system for binding a preferred CPU to a virtual partition of a computer is disclosed. In one embodiment, a preferred CPU for a virtual partition of a computer is determined upon a receipt of a request to assign a CPU to the virtual partition. Then, the preferred CPU is assigned to the virtual partition when the preferred CPU is available for assignment. Further, the preferred CPU is retained in the virtual partition when the virtual partition is rebooted.


