Automated Resource Profiling for Virtual Machine Placement

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In data center environments, existing technologies face challenges in efficiently managing and optimizing the utilization of computing resources across multiple host computing devices, leading to inefficiencies in resource allocation and utilization, particularly when virtual machine instances have varying resource needs and utilization patterns.

Innovation Solution

The implementation of an automated system that profiles resource usage and operating metrics to assign virtual machine instances to appropriate host computing devices, allowing for dynamic resource allocation and migration based on actual and expected usage patterns, enabling efficient utilization of resources and optimizing placement decisions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If virtual machine instances are instantiated on random host computing devices, then device complexity is reduced and ease of operation is improved, but resource utilization efficiency deteriorates

Engineering Contradiction:
Improveease of operationVSAvoidresource utilization efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The system performs preliminary actions by creating operating profiles that predict future resource usage patterns of virtual machine instances. These profiles are established in advance to guide placement decisions, allowing the system to proactively optimize resource allocation rather than reacting to current usage alone. The profiling process captures historical data and generates predictions about CPU, memory, and storage usage patterns.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback mechanisms by continuously monitoring actual resource usage of virtual machine instances and comparing it against predicted usage in operating profiles. This feedback loop enables the system to learn from discrepancies between expected and actual behavior, refining placement decisions over time. The feedback also triggers migrations when instances deviate significantly from their predicted patterns.

Inventive Principle:
Principle #23Feedback

2Reliability

If predetermined amounts of computing resources are reserved for virtual machine instances, then reliability of resource availability is improved, but resource utilization efficiency deteriorates

Engineering Contradiction:
Improveresource availabilityVSAvoidresource utilization efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system applies dynamics by enabling flexible resource allocation that adapts to changing conditions. Virtual machine instances can be dynamically migrated between hosts based on actual usage patterns versus predicted patterns. The system continuously adjusts resource allocation decisions using real-time monitoring and profile-based predictions, allowing reserved resources to be reallocated to other instances when not fully utilized while maintaining service level agreements.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes parameters by using operating profiles that capture varying resource usage patterns across different time periods and conditions. Instead of static resource reservations, the system adjusts allocation based on temporal patterns (peak/off-peak usage), instance type, workload characteristics, and host-specific conditions. This allows optimized resource distribution that maintains reliability while improving overall utilization.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If automated profiling and dynamic migration systems are implemented, then resource utilization efficiency is improved, but device complexity increases

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system achieves universality by creating a multi-functional management platform that handles profiling, prediction, monitoring, decision-making, and migration operations. The operating profile framework serves multiple purposes: predicting resource usage, guiding initial placement, triggering migrations, and optimizing resource allocation. This universal approach consolidates multiple functions into a unified system, managing complexity through integration rather than proliferation of separate components.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The system implements self-service by enabling virtual machine instances to effectively manage their own resource allocation through the profile-based system. Each instance generates its own operating profile that reflects its unique usage patterns, and the system automatically makes placement and migration decisions based on these self-generated profiles. This reduces the need for manual intervention and complex centralized control, allowing the system to self-optimize resource distribution.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9135048B2Automated profiling of resource usage
Publication Date: 2015.09.15 AMAZON TECH INC
  • US9135048B2 patent drawing
  • US9135048B2 patent drawing
  • US9135048B2 patent drawing

AI summary

Operating profiles for consumers of computing resources may be automatically determined based on an analysis of actual resource usage measurements and other operating metrics. Measurements may be taken while a consumer, such as a virtual machine instance, uses computing resources, such as those provided by a host. A profile may be dynamically determined based on those measurements. Profiles may be generalized such that groups of consumers with similar usage profiles are associated with a single profile. Assignment decisions may be made based on the profiles, and computing resources may be reallocated or oversubscribed if the profiles indicate that the consumers are unlikely to fully utilize the resources reserved for them. Oversubscribed resources may be monitored, and consumers may be transferred to different resource providers if contention for resources is too high.