Load Balancer Dynamic Virtual Machine Scaling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In distributed server networks, servers often become overloaded during peak hours, leading to idle servers during low usage periods, which consume significant power and are not fully utilized, resulting in inefficient resource allocation and increased energy costs.
Innovation Solution
A load balancer dynamically starts up additional virtual machines based on the loading of active virtual machines in physical machines, activating inactive virtual machines or creating new ones to handle increased workloads, while also deactivating or shutting down idle machines to optimize resource usage and reduce power consumption.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If operators plan for a sufficient number of servers to handle worst-case loading scenarios, then server reliability is improved, but power consumption increases due to idle servers consuming substantial power
Solution Approach 1:
The system dynamically adjusts the number of active servers based on real-time load conditions. The load balancer monitors workload and automatically activates or deactivates servers, transforming the static server configuration into a dynamic one that adapts to changing demands, thereby reducing power consumption while maintaining reliability
Solution Approach 2:
The load balancer autonomously manages server activation and deactivation without human intervention. It self-monitors load conditions, self-decides which servers to activate or deactivate, and self-adjusts the distribution of requests, enabling the system to serve itself and optimize resource allocation automatically
2Adaptability or versatility
If idle servers are maintained in the network, then resource availability is improved, but energy waste increases due to substantial power consumption of idle servers
Solution Approach 1:
The load balancer periodically monitors load conditions and periodically adjusts server activation status. Instead of maintaining servers in a constant idle state, the system implements periodic checks and adjustments, activating servers only when needed and deactivating them when not required, thereby reducing energy waste while preserving resource availability
Solution Approach 2:
The system changes the operational state parameter of servers from 'always on' to 'conditionally active'. By modifying the power state parameter based on load conditions, the system reduces energy consumption while maintaining the capability to provide resources when needed
3Use of energy by stationary object
If virtual machines are dynamically started and deactivated based on load, then power consumption is reduced, but system complexity increases due to dynamic management requirements
Solution Approach 1:
The load balancer serves as an intermediary between the external request stream and the pool of virtual machines. It absorbs the complexity of dynamic management by acting as a buffer and controller, managing the activation and deactivation of VMs while presenting a simple interface for request distribution, thereby isolating the complexity from the rest of the system
4Productivity
If the load balancer monitors and responds to loading conditions in real-time, then resource allocation efficiency is improved, but computational overhead increases
Solution Approach 1:
The load balancer implements a feedback mechanism where it continuously monitors load conditions on active virtual machines and uses this feedback to make informed decisions about activating or deactivating additional VMs. This feedback loop enables efficient resource allocation by responding to actual system state rather than using fixed rules, optimizing the balance between allocation efficiency and computational overhead
Data Source
AI summary
A system has plural physical machines that contain virtual machines. A load balancer receives a request from a client. In response to the request, it is determined whether at least one additional virtual machine should be started up. In response to determining that at least one additional virtual machine should be started up, the load balancer sends at least one command to start up the at least one additional virtual machine in at least one of the physical machines.


