Asynchronous Replication Bandwidth Control via Budget Byte Windows
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In asynchronous replication sessions, aggressive data transfer sessions compete for network bandwidth, leading to lag in recovery point objective (RPO) for sessions sharing the same port, as they do not receive enough bandwidth to transfer data efficiently.
Innovation Solution
Implementing bandwidth control by setting a limit on replication sessions, calculating proportionate shares based on the number of slices owned by control modules, and allocating budget values to initiate scans, ensuring fair data transfer and updating budget windows accordingly.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If multiple asynchronous replication sessions share the same network port, then network resource utilization increases, but some sessions experience bandwidth starvation and lag in recovery point objective (RPO)
Solution Approach 1:
The patent segments the bandwidth resource by introducing budget byte windows for each control module, dividing the total bandwidth into controllable portions. Each control module receives a specific budget allocation that prevents any single session from monopolizing the network port, thereby ensuring fair distribution while maintaining high utilization.
Solution Approach 2:
The patent dynamically adjusts the budget byte window parameter for each control module based on its slice ownership and performance needs. By changing the bandwidth allocation parameter adaptively, the system optimizes data transfer efficiency for each session while preventing RPO lag, resolving the contradiction between overall productivity and individual session reliability.
2Speed
If aggressive data transfer sessions are allowed to proceed without bandwidth limits, then their data transfer speed increases, but other sessions sharing the same port experience bandwidth starvation
Solution Approach 1:
The patent implements dynamic bandwidth allocation through budget byte windows that are continuously updated based on actual data transfer needs and slice ownership. Control modules with higher slice ownership receive larger budget allocations, allowing aggressive sessions to maintain high speed while preventing them from starving other sessions. The system dynamically adjusts allocations to maintain overall productivity.
Solution Approach 2:
The system monitors data transfer performance and RPO metrics, using this feedback to adjust budget byte window allocations. When sessions experience bandwidth starvation, the feedback mechanism increases their budget allocation in subsequent time windows, ensuring that aggressive sessions do not permanently starve other sessions while maintaining high transfer speeds where needed.
Data Source
AI summary
An aspect of implementing bandwidth control for an asynchronous replication session includes calculating, by each of a group of control modules, a proportionate share of a requested total bandwidth limit based on a number of slices owned. The proportionate share of the bandwidth limit is indicated by a budget value via a budget byte window (BBW). An aspect further includes prior to initiating a scan of the slices by an initiator thread, identifying BBWs having a budget value equal to or exceeding a predetermined value, allocating the budget value for the BBWs to the thread, and reducing the budget value corresponding to the BBWs by the predetermined value. An aspect also includes initiating the initiator thread for slices corresponding to the identified BBWs, sending a number of bytes transmitted and corresponding number of pages to respective control modules resulting from the scanning, and updating corresponding BBWs.


