Virtual Machine Allocation for Compute Node Resource Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveinput/output utilizationVSAvoidprocessor and memory resource waste
Core Design Contradiction:
ProductivityVSLoss of energy

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

Inventive Principle:
Principle #15Dynamics

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

Inventive Principle:
Principle #35Parameter changes

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

Engineering Contradiction:
Improveprocessor and memory utilizationVSAvoidinput/output overload
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

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

Inventive Principle:
Principle #23Feedback

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

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS8418185B2Memory maximization in a high input/output virtual machine environment
Publication Date: 2013.04.09 LENOVO INT LTD
  • US8418185B2 patent drawing
  • US8418185B2 patent drawing
  • US8418185B2 patent drawing

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.