Two-Tiered Virtual Instance Scheduler for Network Saturation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing virtual computing instance schedulers often make sub-optimal placement decisions due to insufficient information about resource demands and availability, leading to host overload, network saturation, and inefficient resource utilization, as they typically do not consider networking resources and handle compute, storage, and memory independently.
Innovation Solution
A two-tiered scheduler is introduced, comprising a coarse-grained scheduler that selects hosts based on resource optimization and a fine-grained scheduler that relocates communicating virtual machines to minimize penalty scores, thereby improving resource allocation and network efficiency by considering multiple resource metrics, including networking requirements.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a scheduler selects hosts for VM placement based on limited resource information, then the scheduling process is simple and fast, but the resource utilization becomes inefficient and hosts become overloaded
Solution Approach 1:
The scheduling system is segmented into multiple independent scheduler components, each responsible for specific resource types (compute resources, storage resources, networking resources). This allows parallel processing of different resource dimensions while maintaining comprehensive resource awareness, resolving the contradiction between scheduling speed and resource utilization efficiency.
Solution Approach 2:
The patent introduces a multi-dimensional resource evaluation framework that considers compute, storage, and networking resources simultaneously. By adding networking resource dimension to traditional compute-only scheduling, the system achieves more accurate host selection without sacrificing scheduling speed, as each dimension is evaluated independently by dedicated scheduler components.
2Reliability
If VMs are relocated frequently to balance resource utilization, then host load balancing improves, but system stability deteriorates due to excessive migrations
Solution Approach 1:
The scheduler implements dynamic thresholds for triggering VM migrations based on current cluster conditions. Instead of fixed migration triggers, the system adjusts migration criteria dynamically considering multiple resource dimensions and communication patterns, allowing load balancing while minimizing unnecessary migrations that would disrupt system stability.
Solution Approach 2:
The system incorporates feedback mechanisms that monitor migration impacts and adjust scheduling decisions accordingly. By tracking communication penalties and resource utilization changes after migrations, the scheduler learns optimal migration timing and can prevent excessive migrations, balancing load distribution with system stability.
3Device complexity
If VM placement decisions are made without considering networking resources, then the scheduling process is simpler, but network saturation and link overloading occur
Solution Approach 1:
The scheduling system is segmented into multiple independent scheduler components, each responsible for specific resource types (compute resources, storage resources, networking resources). This allows parallel processing of different resource dimensions while maintaining comprehensive resource awareness, resolving the contradiction between scheduling speed and resource utilization efficiency.
Solution Approach 2:
The multi-resource scheduler serves multiple functions simultaneously: it performs traditional compute-based VM placement while also optimizing for storage and networking resources. This universal scheduler handles diverse resource types through a unified multi-dimensional evaluation framework, preventing network saturation without significantly increasing overall scheduling complexity.
Data Source
AI summary
Examples provide two-tiered scheduling within a cluster. A coarse-grained analysis is performed on a candidate set of hosts to select a host for a virtual computing instance based on optimization of at least one resource. A host is selected based on the analysis results. The identified virtual computing instance is placed on the selected host. A fine-grained analysis is performed on a set of communication graphs for a plurality of virtual computing instances to generate a set of penalty scores. A set of communicating virtual computing instances are selected based on the set of penalty scores. A first virtual computing instance from a first host is relocated to a second host to minimize a distance between the first virtual computing instance and a second virtual computing instance. Relocating the first virtual computing instance reduces at least one penalty score for the set of communicating virtual computing instances.


