Virtual Machine Allocation for Compute Node Resource Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In cloud computing environments, virtual machines often operate with underutilized processor and memory resources due to maximizing input/output capacity, leading to inefficiencies in resource allocation.
Innovation Solution
A method that monitors resource utilization on compute nodes, allocates virtual machines to maximize input/output capacity, and then allocates additional virtual machines to utilize unused processor and memory resources without over-allocating the input/output capacity, by identifying and migrating virtual machines based on their resource intensiveness.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If virtual machines are allocated to maximize input/output capacity, then input/output utilization is improved, but processor and memory resources become underutilized
Solution Approach 1:
The patent implements dynamic resource allocation by continuously monitoring resource utilization metrics and adjusting virtual machine placement decisions in real-time. The system transitions from static allocation to dynamic adaptation, allowing compute nodes to optimize their resource mix based on current workload conditions and resource availability
Solution Approach 2:
The system changes allocation parameters by considering multiple resource dimensions (CPU, memory, I/O) simultaneously rather than optimizing for a single parameter. The patent modifies the allocation algorithm to evaluate and balance multiple resource utilization parameters, enabling trade-offs between different resource types to achieve overall optimization
2Productivity
If additional virtual machines are allocated to increase processor and memory utilization, then resource utilization is improved, but input/output capacity may become overloaded
Solution Approach 1:
The patent implements feedback mechanisms by continuously monitoring resource utilization levels and using this information to guide subsequent allocation decisions. The system measures actual resource usage and adjusts virtual machine placement to maintain balanced utilization across all resource types, preventing overload conditions
Solution Approach 2:
The system applies partial allocation strategies by allocating virtual machines to compute nodes only when specific resource thresholds are met. Rather than aggressive full utilization, the patent uses conservative allocation that stops before reaching overload conditions, maintaining headroom for load variations
Data Source
AI summary
A computer implemented method is provided, including monitoring the utilization of resources available within a compute node, wherein the resources include an input/output capacity, a processor capacity, and a memory capacity. The method further comprises allocating virtual machines to the compute node to maximize use of a first one of the resources; and then allocating an additional virtual machine to the compute node to increase the utilization of the resources other than the first one of the resources without over-allocating the first one of the resources. In a web server, the input/output capacity may be the resource to be maximized. However, unused memory capacity and/or processor capacity of the compute node may be used more effectively by identifying an additional virtual machine that is memory intensive or processor intensive to be allocated or migrated to the compute node. The additional virtual machine(s) may be identified in new workload requests or from analysis of virtual machines running on other compute nodes accessible over the network.


