Server Update Domain Allocation for Distributed Computing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Cloud computing platforms face challenges in efficiently updating services and host operating systems while satisfying update domain constraints, which affect performance, scalability, and fault-tolerance, as existing methods struggle to minimize time and complexity during updates while ensuring availability and adhering to constraints like concurrent reboots.
Innovation Solution
The implementation of server update domains (SUDs) that allow machines with the same SUD to be rebooted simultaneously, with techniques like global SUD (G-SUD) and per-service SUD (PS-SUD) to minimize the number of SUDs, thereby reducing update time and complexity by allocating instances to machines without violating update domain constraints.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If instances are allocated to machines without considering update domains, then allocation flexibility is improved, but update complexity and time increase due to constraint violations
Solution Approach 1:
The system segments machines into distinct update domains (UD0, UD1, UD2, etc.) based on service update domain requirements. Each machine is assigned to a specific UD, creating segmented groups that can be updated independently. This segmentation allows the allocation system to maintain flexibility within each domain while ensuring that updates to one domain do not conflict with others, thereby reducing overall update complexity.
Solution Approach 2:
The patent introduces a new dimension to instance allocation by incorporating update domain constraints as a mandatory attribute in the allocation decision process. Instead of allocating instances based solely on resource availability, the system now operates in an additional dimensional space that includes UD assignments. This allows the allocator to find optimal solutions that satisfy both resource constraints and update domain requirements simultaneously.
2Speed
If machines are updated concurrently without update domain constraints, then update speed is improved, but system reliability deteriorates due to constraint violations
Solution Approach 1:
Machines are segmented into separate update domains that can be updated concurrently without interfering with each other. The system identifies which UDs are safe to update simultaneously based on service configurations and update domain constraints. This segmentation enables parallel updates across multiple UDs, maintaining high update speed while ensuring that each individual UD update maintains system reliability through constraint satisfaction.
Solution Approach 2:
The update domain assignment acts as an intermediary layer between the instance allocation system and the machine update process. This intermediary structure provides the information needed to determine which machines can be updated concurrently, serving as a mediator that enables safe parallel updates while preventing conflicts. The UD assignments mediate between the desire for fast concurrent updates and the need for reliable constraint-satisfying updates.
3Reliability
If the number of update domains is increased to satisfy constraints, then update reliability is improved, but update time increases due to sequential processing
Solution Approach 1:
The system dynamically determines the number and composition of update domains based on current service configurations and allocation requirements, rather than using a fixed UD structure. This dynamic approach allows the system to create the minimum necessary number of UDs to satisfy constraints, avoiding unnecessary sequential processing. The allocator continuously adapts UD assignments to optimize the balance between reliability and update time as services are added, removed, or modified.
Solution Approach 2:
The system applies partial action by updating only the necessary number of update domains at any given time, rather than forcing all machines through sequential updates. By identifying which UDs can be updated in parallel and updating only those that are ready, the system avoids excessive sequential processing while maintaining reliability through constraint satisfaction. This partial update approach reduces total update time without compromising update reliability.
Data Source
AI summary
The techniques and arrangements described herein provide for updating services, host operating systems and other applications while satisfying update domain constraints. In some examples, one or more controller modules may maintain a data structure including a plurality of server update domains, each server update domain including a set of machines of a plurality of machines of a distributed computing system which may be concurrently updated. The one or more controller modules may allocate the plurality of instances to the plurality of machines such that a number of server update domains is minimized.


