Compute Node Batch Upgrade Scheduling Under Application Availability Budgets
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing network computing platforms face challenges in efficiently upgrading components while minimizing application downtime, as traditional methods often result in prolonged downtime due to serial upgrades of compute nodes.
Innovation Solution
Implementing batch upgrade schemes that upgrade a maximum quantity of compute nodes in parallel, considering factors like storage replication, redundant nodes, resource availability, and pod disruption budgets, using a batch upgrade algorithm to ensure applications remain live during the upgrade process.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If compute nodes are upgraded in parallel to reduce total upgrade time, then productivity is improved, but application availability may be compromised
Solution Approach 1:
The system segments compute nodes into different upgrade batches or groups, allowing parallel upgrades within each segment while maintaining availability through segmentation. The upgrade process is divided into manageable units that can be executed concurrently without compromising overall system availability.
Solution Approach 2:
The system performs preliminary actions by pre-scheduling and pre-planning upgrade batches, determining optimal upgrade sequences before execution. This allows the system to prepare replacement nodes and route traffic in advance, ensuring availability is maintained during the actual upgrade process.
2Loss of time
If a maximum quantity of compute nodes are upgraded in parallel, then total upgrade time is reduced, but complexity of managing the upgrade process increases
Solution Approach 1:
The system implements feedback mechanisms by continuously monitoring the status of parallel upgrade operations, tracking which nodes are available, which are being upgraded, and which are offline. This feedback enables dynamic adjustment of upgrade batches and traffic routing to manage complexity while maintaining parallel execution.
Solution Approach 2:
The upgrade scheme is made dynamic by allowing the system to adjust batch sizes, upgrade sequences, and resource allocation in real-time based on system conditions. This dynamic approach enables the system to handle the complexity of parallel upgrades adaptively rather than following a rigid predetermined sequence.
3Reliability
If compute nodes are upgraded serially to maintain application availability, then reliability is improved, but total upgrade time increases
Solution Approach 1:
The system merges multiple upgrade operations by combining them into coordinated batches that can execute in parallel. By merging upgrade tasks across multiple nodes and coordinating them through a unified management system, the platform achieves both availability (through maintained redundancy) and efficiency (through parallel execution).
Data Source
AI summary
Systems and methods for efficient batch upgrading of compute nodes within a network computing platform. A method includes identifying a plurality of compute nodes scheduled to undergo an upgrade process and identifying an application executed by one or more of the plurality of compute nodes. The method includes determining a minimum node availability budget for the application and generating a batch upgrade scheme for the plurality of compute nodes, wherein the batch upgrade scheme upgrades a maximum quantity of the plurality of compute nodes in parallel while complying with the minimum node availability budget for the application.


