Live Partition Migration via In-Memory Cache Transfer
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing distributed computing environments face challenges in efficiently migrating partitions between servers, leading to prolonged unavailability and impact on load balancing and user experience due to the need for rebuilding persistent state from disk, which can take minutes or tens of minutes, and are prone to downtime during failovers.
Innovation Solution
Implementing live migration by delegating coordination and control to source and destination servers using point-to-point communications, allowing the source server to transfer its in-memory cache to the destination server while continuing to serve the partition, reducing the need for disk operations and minimizing downtime.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the destination server rebuilds persistent state from disk during partition migration, then data consistency is ensured, but migration time increases significantly (minutes or tens of minutes)
Solution Approach 1:
The source server performs preliminary actions by stopping all destructive operations before migration begins. This ensures that the persistent state in the in-memory cache remains valid and can be directly transferred to the destination server without requiring time-consuming reconstruction from disk, thus reducing migration time while maintaining data consistency
Solution Approach 2:
Instead of rebuilding persistent state from disk at the destination server, the patent copies the valid persistent state directly from the source server's in-memory cache to the destination server's in-memory cache. This copying approach eliminates the time-consuming reconstruction process while ensuring data consistency through the preliminary stopping of destructive operations
2Reliability
If the source server stops serving the partition during migration, then data integrity is maintained, but service availability decreases
Solution Approach 1:
The source server continues to serve the partition throughout the migration process by stopping only destructive operations while maintaining service operations. This allows the partition to remain accessible to clients during migration, maintaining service availability while still ensuring data integrity through selective operation stopping
Solution Approach 2:
The patent dynamically adjusts the operations performed by the source server during migration. It stops destructive operations that would invalidate persistent state but continues service operations that maintain data integrity. This dynamic differentiation allows the system to maintain both data integrity and service availability simultaneously during the migration process
3Extent of automation
If the partition master coordinates all migration operations, then centralized control is maintained, but system complexity increases and single point of failure risk increases
Solution Approach 1:
The patent segments the migration coordination responsibilities between the partition master and the source/destination servers. The partition master initiates migration and updates routing, while the source and destination servers independently coordinate the actual data transfer and state synchronization. This segmentation reduces the coordination burden on the partition master and distributes complexity across multiple components
Solution Approach 2:
The source and destination servers perform self-service during migration by autonomously coordinating the transfer of persistent state and synchronization of data. They independently manage the migration process details without requiring continuous partition master intervention, reducing overall system complexity while maintaining centralized initiation and routing control
Data Source
AI summary
Live migration of partitions can be achieved using server-to-server communications to coordinate and control partition migration and rebuild a persistent state of the partition on a destination server while the partition is served on the source server. The live migration approach breaks the heavy dependency on the partition master by eliminating most of the server-to-master communications, delegating coordination and control of the migration to the source and destination servers. After the migration is initiated by the partition master, the source server sends in-memory cache entries indicating the persistent state of the partition to the destination server. Once transferred, the two servers can cooperate to complete the handover, which loads the partition on the destination server using the cache entries received from the source server. Once the source server offloads the partition, it can redirect traffic for the partition to the destination server by triggering an update to the partition map.


