Agile VM Load Balancing via Micro-Checkpointing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing virtual machine (VM) load balancing techniques either lead to underutilization of resources due to over-provisioning or degrade performance during peak loads due to resource-intensive migration, violating service level agreements (SLAs).
Innovation Solution
Implementing adaptive micro-checkpointing and load balancing across multiple nodes, where secondary VMs are periodically updated and activated to handle peak loads, with optional processor architecture emulation to dynamically redistribute VM processing and maintain SLA compliance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If resources are over-provisioned to handle peak loads, then VM performance during peak loads is maintained, but resource utilization deteriorates resulting in higher costs
Solution Approach 1:
The system performs preliminary actions by creating secondary VM instances in advance and maintaining them in a suspended state with periodic micro-checkpointing. When peak load is detected, these pre-prepared secondary VMs can be rapidly activated without needing to provision resources in advance, thus maintaining VM performance during peak loads while avoiding the waste of continuously running underutilized resources.
Solution Approach 2:
The system dynamically adjusts resource allocation by transitioning VMs between primary and secondary states based on real-time load conditions. The load balancer continuously monitors load metrics and dynamically activates or deactivates secondary VMs, allowing the system to adapt resource utilization to actual demand rather than maintaining static over-provisioned resources.
2Productivity
If VM migration is performed to balance load, then load distribution is improved, but VM performance deteriorates due to resource consumption during migration
Solution Approach 1:
The system segments the VM migration process into micro-checkpointing operations that occur in small increments during normal operation. Instead of performing a single large-scale migration that consumes significant resources, the VM state is divided into multiple small checkpoints that can be rapidly transferred and applied, improving load distribution while minimizing the resource overhead and performance impact of each individual migration operation.
Solution Approach 2:
The system creates secondary copies of VMs that are maintained in a suspended state with periodic state updates. When load balancing is needed, these pre-existing copies can be rapidly activated rather than performing a full migration from scratch. This copying approach improves load distribution by enabling fast VM deployment while reducing the resource consumption and performance degradation associated with traditional live migration processes.
3Loss of energy
If secondary VMs are activated to handle peak loads, then resource utilization is improved, but system complexity increases due to multi-architecture emulation
Solution Approach 1:
The system implements universal secondary VM images that can run on multiple processor architectures through emulation. A single secondary VM image can be activated on different hardware platforms (x86, ARM, etc.) without requiring architecture-specific versions, improving resource utilization across diverse hardware while managing complexity through a unified image format that works across multiple architectures.
Solution Approach 2:
The system introduces an emulation layer as an intermediary between the secondary VM and the underlying hardware architecture. This emulation layer translates instructions from the original architecture to the host architecture, allowing secondary VMs to be activated on different hardware platforms without modifying the VM images themselves. This mediator approach improves resource utilization by enabling flexible deployment while containing complexity within the emulation layer rather than requiring complex architecture-specific VM management.
Data Source
AI summary
Methods and systems for agile load balancing include detecting an increased load for a first primary virtual machine (VM) on a first node that has a plurality of additional primary VMs running on a processor; deactivating one or more of the additional primary VMs, reducing said one or more deactivated VMs to a secondary state, to free resources at the first node for the first primary VM; and activating secondary VMs, located at one or more additional nodes, that correspond to the one or more deactivated VMs, raising said secondary VMs to a primary state. Activation and deactivation through micro-checkpointing may involve nodes of different CPU architectures during transient periods of peak load.


