Computational Instance Batching Algorithm for Data Center Automation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Automating data center operations such as moving computational instances between data centers and initiating application nodes can be resource-intensive and lead to infrastructure overload due to bottlenecks in central instance capacity, network bandwidth, and simultaneous automation demands.
Innovation Solution
Implementing a batching algorithm that schedules automations by grouping computational instances into batches based on resource utilization and prioritizing high-priority tasks, with a predetermined percentage of application nodes initiated with high priority to manage load and health status of server devices.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If automations are executed simultaneously for multiple computational instances, then productivity is improved, but infrastructure overload occurs due to bottlenecks in central instance capacity, network bandwidth, and server resources
Solution Approach 1:
The patent segments computational instances into batches based on their priority levels and resource requirements. High-priority instances are processed separately from low-priority ones, allowing the system to maintain high productivity for critical operations while preventing infrastructure overload during mass automations. This segmentation enables controlled parallel execution that respects infrastructure capacity limits.
Solution Approach 2:
The system implements periodic action by scheduling automations in time-separated batches rather than simultaneous execution. Batched automations are executed in intervals, with delays between batch start times calculated based on infrastructure capacity. This periodic approach maintains productivity while preventing resource exhaustion and infrastructure overload.
2Productivity
If batch size is increased to improve productivity, then more instances can be processed in parallel, but resource contention and infrastructure load increase
Solution Approach 1:
The patent applies dynamics by making batch sizes adaptive rather than fixed. Batch sizes are dynamically adjusted based on real-time infrastructure capacity, current load conditions, and priority requirements. This allows the system to maximize productivity when resources are available while reducing batch sizes to prevent overload during high-demand periods, optimizing the balance between throughput and resource consumption.
Solution Approach 2:
The system changes parameters by adjusting batch size, delay intervals, and priority thresholds based on infrastructure monitoring. When infrastructure capacity is high, larger batch sizes and shorter delays are used to maximize productivity. When load increases, parameters are adjusted to reduce batch sizes and increase delays, thereby controlling resource consumption while maintaining operational efficiency.
3Reliability
If high-priority automations are executed first, then critical operations are completed reliably, but low-priority tasks experience delays
Solution Approach 1:
The patent applies local quality by assigning different processing characteristics to different subsets of computational instances based on their priority. High-priority instances receive preferential treatment with smaller batch sizes, shorter delays, and guaranteed execution slots, ensuring reliable completion of critical operations. Low-priority instances are processed in separate batches with adjusted parameters, accepting longer wait times in exchange for system stability. This local differentiation optimizes both reliability for critical tasks and overall system throughput.
Data Source
AI summary
An embodiment may involve server devices arranged into pods, each server device hosting computational instances, and a central computational instance configured to: (i) obtain per-pod lists of the instances hosted by the pods; (ii) determine a maximum number of the instances to arrange into batches; (iii) determine a group size for groups of the instances that are to be placed into the batches; (iv) execute a first phase that involves removing per-pod groups from the per-pod lists and adding them to the batches, until less of the instances than the group size remains in each of the per-pod lists; (v) execute a second phase that involves removing one of the instances from the per-pod lists and adding it to the batches, until none of the instances remains in any of the per-pod lists; and (vi) schedule one or more of the automations to take place in the data center.


