Dynamic recycling algorithm to handle overlapping writes during synchronous replication of application workloads with large number of files
Abstract
Techniques are provided for overlapping write handling. Overlapping write managers are used to maintain the order that write operations are executed at a first computing environment and replicated to a second computing environment. Overlapping write managers are pre-allocated as available for managing overlapping write operations. A mapping is used to track what overlapping write managers are currently allocated for particular file handles of files. Thus, if an incoming write operation targets a file handle of an already allocated overlapping write manager, then that overlapping write manager is used to execute and replicate the incoming write operation so that the order of execution of overlapping writes by the second computing environment is the same as at the first computing environment. If there is no allocated overlapping write manager for the file handle, then a new overlapping write manager is allocated and utilized.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A method comprising:
allocating a first number of overlapping write managers as available for managing overlapping writes targeting files stored by a first computing environment, where the overlapping writes are replicated to replicated files stored by a second computing environment; configuring the overlapping write managers to acquire range locks for ranges of files to be modified by incoming writes; and dynamically modifying the first number of overlapping write managers to a second number of overlapping write managers.
2 . The method of claim 1 , wherein the dynamically modifying comprises:
allocating additional overlapping write managers based upon a current allocation.
3 . The method of claim 1 , wherein the dynamically modifying comprises:
allocating additional overlapping write managers based upon a threshold.
4 . The method of claim 1 , wherein the dynamically modifying comprises:
deallocating overlapping write managers until a number of allocated overlapping write mangers is less than a threshold.
5 . The method of claim 1 , comprising:
in response to receiving an incoming write, allocating a new overlapping write manager to process the incoming write.
6 . The method of claim 5 , comprising:
using the new overlapping write manager to acquire a range lock for executing the incoming write and replicating the incoming write for execution upon a replicated file at the second computing environment.
7 . The method of claim 6 , comprising:
releasing the range lock based upon the incoming write finishing execution upon the file and the replicated file.
8 . The method of claim 1 , wherein a total number of overlapping write managers is maintained within a pool, and the method comprising:
reducing a number of allocated overlapping write managers from the pool to free computing resources.
9 . A non-transitory machine readable medium comprising instructions for performing a method, which when executed by a machine, causes the machine to:
allocate a first number of overlapping write managers as available for managing overlapping writes targeting files stored by a first computing environment, where the overlapping writes are replicated to replicated files stored by a second computing environment; configure the overlapping write managers to acquire range locks for ranges of files to be modified by incoming writes; and dynamically modify the first number of overlapping write managers to a second number of overlapping write managers.
10 . The non-transitory machine readable medium of claim 9 , wherein the instructions cause the machine to:
allocate additional overlapping write managers based upon a current allocation.
11 . The non-transitory machine readable medium of claim 9 , wherein the instructions cause the machine to:
allocate additional overlapping write managers based upon a threshold.
12 . The non-transitory machine readable medium of claim 9 , wherein the instructions cause the machine to:
deallocate overlapping write managers until a number of allocated overlapping write mangers is less than a threshold.
13 . The non-transitory machine readable medium of claim 9 , wherein the instructions cause the machine to:
in response to receiving an incoming write, allocate a new overlapping write manager to process the incoming write.
14 . The non-transitory machine readable medium of claim 13 , wherein the instructions cause the machine to:
use the new overlapping write manager to acquire a range lock for executing the incoming write and replicating the incoming write for execution upon a replicate filed at the second computing environment.
15 . The non-transitory machine readable medium of claim 14 , wherein the instructions cause the machine to:
release the range lock based upon the incoming write finishing execution upon the file and the replicated file.
16 . The non-transitory machine readable medium of claim 9 , wherein a total number of overlapping write managers is maintained within a pool, and wherein the instructions cause the machine to:
reduce a number of allocated overlapping write managers from the pool to free computing resources.
17 . A computing device comprising:
a memory comprising machine executable code; and a processor coupled to the memory, the processor configured to execute the machine executable code to cause the processor to:
allocate a first number of overlapping write managers as available for managing overlapping writes targeting files stored by a first computing environment, where the overlapping writes are replicated to replicated files stored by a second computing environment;
configure the overlapping write managers to acquire range locks for ranges of files to be modified by incoming writes; and
dynamically modify the first number of overlapping write managers to a second number of overlapping write managers.
18 . The computing device of claim 17 , wherein the machine executable code causes the processor to:
allocate additional overlapping write managers based upon a current allocation.
19 . The computing device of claim 17 , wherein the machine executable code causes the processor to:
allocate additional overlapping write managers based upon a threshold.
20 . The computing device of claim 17 , wherein the machine executable code causes the processor to:
deallocate overlapping write managers until a number of allocated overlapping write mangers is less than a threshold.Join the waitlist — get patent alerts
Track US2021303165A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.