Market-Based Virtual Machine Allocation in Cloud Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Cloud computing systems face challenges in efficiently allocating resources due to the scale and heterogeneity of underlying hardware, leading to suboptimal resource utilization and performance variations, especially in multi-tenancy environments where resources are dynamically created and destroyed.
Innovation Solution
Implementing a market-based resource allocation scheme with local intelligence on each computing device, where virtual machines are managed by local agents that collect metadata and make independent optimization decisions to optimize resource usage and allocation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If centralized resource allocation is used in cloud computing systems, then resource management is simplified, but resource utilization efficiency deteriorates due to scale and heterogeneity of underlying hardware
Solution Approach 1:
The patent divides the centralized resource allocation system into distributed segments by implementing local optimization agents on individual computing devices. Each agent independently manages resources on its host device, breaking the monolithic centralized control into autonomous local units that can make decisions based on real-time local conditions, thereby improving resource utilization efficiency while maintaining manageable complexity through modular architecture
Solution Approach 2:
The patent applies local quality by enabling each computing device to have its own optimization agent with local intelligence that makes allocation decisions based on device-specific metadata and conditions. This localized decision-making allows each segment of the system to optimize resources according to its unique characteristics, hardware capabilities, and current load, improving overall resource utilization while avoiding the bottlenecks of centralized control
2Stability of the object's composition
If traditional allocation methods are used, then system stability is maintained, but adaptability to changing loads and capacities deteriorates
Solution Approach 1:
The patent implements dynamics by creating a system where optimization agents continuously monitor metadata and dynamically adjust virtual machine allocations in real-time. The agents respond to changing loads and capacities by making adaptive decisions about resource allocation, migration, and scaling, allowing the system to flexibly adapt to varying conditions while maintaining stability through controlled, incremental adjustments rather than abrupt changes
Solution Approach 2:
The patent applies feedback by establishing continuous monitoring loops where optimization agents collect metadata about system state, analyze performance metrics, and use this information to make informed allocation decisions. The agents receive feedback from the system environment about resource utilization, load conditions, and capacity changes, and adjust their strategies accordingly, creating a closed-loop control system that maintains stability while adapting to changing conditions
3Measurement precision
If manual resource provisioning is used, then control precision is high, but operational efficiency deteriorates due to lack of automation
Solution Approach 1:
The patent implements self-service by empowering optimization agents with autonomous decision-making capabilities to manage resource allocation without human intervention. The agents independently collect metadata, analyze system conditions, and execute allocation decisions based on predefined optimization goals, enabling the system to self-manage resources with high operational efficiency while maintaining precise control through algorithmic decision-making that embodies the precision previously requiring manual intervention
Data Source
AI summary
A cloud computing system management system including a plurality of computing devices configured to host virtual machine instances, each computing device in the plurality of computing devices including a local agent that continuously evaluates the observed load relative to a utility maximization function. If observed load is higher than a calculated optimal level, individual loading processes are offered for “sale” via a market scheduler. If observed load is lower than a calculated optimal level, then available capacity is offered as a bid via the market scheduler. The market scheduler matches bids with available processes and coordinates the transfer of load from the selling device to the buying device. The offered prices and utility maximization functions can be employed to optimize the performance of the cloud system as a whole.


