Dynamic Resource Allocation for Asynchronous Remote Replication
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Asynchronous remote replication in storage systems faces bottlenecks due to unbalanced processing between local and remote storage systems, leading to slowed replication processes and resource wastage, as the faster system cannot accelerate the replication without causing latency and resource misallocation.
Innovation Solution
Implement a method where local and remote storage systems dynamically allocate resources for each replication process based on transmission states and load thresholds, adjusting the rate of replication content production and dequeuing to synchronize processing speeds without relying on workload status communication, thereby avoiding bottlenecks and optimizing resource utilization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If the local storage system processes and transmits updates faster, then the local processing speed is improved, but the replication process is slowed down due to bottlenecks at the remote storage system or communication line
Solution Approach 1:
The system dynamically adjusts the production rate of replication content at the local storage system based on real-time transmission state and remote system responsiveness. The local storage system monitors whether transmissions are stopped or slowed and adapts its processing speed accordingly, transitioning from a static high-speed processing mode to a dynamic adaptive mode that optimizes throughput without creating bottlenecks
Solution Approach 2:
The system implements feedback mechanisms where the local storage system monitors transmission states and remote system responses. When the remote storage system cannot keep up with the transmission rate or when communication bottlenecks occur, this information feeds back to the local system to reduce its processing speed, thereby preventing resource wastage and optimizing overall replication productivity
2Productivity
If the local storage system processes updates faster, then local processing efficiency is improved, but resources are wasted that could be used by other replication processes and foreground processes
Solution Approach 1:
The system dynamically adjusts resource allocation and processing intensity based on actual replication needs and system state. Instead of continuously operating at maximum processing speed, the local storage system adapts its resource consumption to match the actual throughput requirements, reducing energy and resource waste when the remote system or communication line becomes the limiting factor
Solution Approach 2:
The system changes operational parameters such as the rate of producing replication content based on transmission state. When bottlenecks are detected, the local storage system reduces its processing parameters to align with the overall system capacity, thereby eliminating resource wastage while maintaining optimal replication efficiency
3Productivity
If the local storage system processes updates faster, then local processing capacity is utilized more, but latency is introduced to foreground processes that share system resources
Solution Approach 1:
The system dynamically balances replication processing with foreground process requirements by monitoring system state and adjusting replication intensity accordingly. When foreground processes require resources, the replication process is slowed or paused, preventing latency while maintaining overall system responsiveness
Solution Approach 2:
The system takes preliminary actions to prevent resource contention by monitoring transmission states and proactively adjusting replication processing before bottlenecks affect foreground processes. By detecting when the remote system cannot keep up or when resources are constrained, the local system preemptively reduces processing intensity to avoid introducing latency to time-sensitive foreground operations
Data Source
AI summary
A method for controlling multiple replication processes that includes allocating, by a local storage system and for each replication process, local resources for performing local operations that comprise transmitting remote replication content to a remote storage system; the allocating is responsive to a state of transmission of the replication content and a maximal local storage system allocation threshold; allocating, by the remote storage system and for each replication process, remote resources for performing remote operations that comprise handling the replication content transmitted from the local storage system; the allocating is responsive to a load associated with the handling of the replication content, and a maximal remote storage system allocation threshold; and executing each replication process by the replication process local and remote storage systems resources.


