Dependency aware parallel splitting of operations
Abstract
Techniques are provided for dependency aware parallel splitting of operations. For example, a count of pending data operations being executed by a first node and replicated in parallel to a second node are tracked. A metadata operation is executed at the first node based upon the count being less than a threshold (e.g., the count being zero). A first list of affected inodes modified by the metadata operation is identified. A dependency of the metadata operation with respect to pending metadata operations replicated to the second node is determined. The metadata operation is dispatched to the second node based upon the dependency indicating that the metadata operation is independent of the pending metadata operations.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A method comprising:
executing a metadata operation at a first node; identifying a first list of affected inodes that are modified by the metadata operation; in response to determining that none of the inodes within the first list of affected inodes occur within a second list of affected inodes that are modified by pending operations dispatched to a second node, dispatching the metadata operation to the second node; in response to receiving a data operation after the metadata operation has been dispatched to the second node, dispatching the data operation to the second node based upon the data operation not overlapping with the metadata operation.
2 . The method of claim 1 , comprising:
withholding dispatch of the data operation to the second node based upon the data operation overlapping with the metadata operation.
3 . The method of claim 1 , comprising:
incrementing a count of pending data operations being executed by the first node and replicated to the second node based upon the data operation being dispatched to one of the first node and in parallel to the second node during synchronous replication of the data operation.
4 . The method of claim 1 , comprising:
withholding dispatch of the data operation to the second node based upon the data operation overlapping with one or more of the pending operations.
5 . The method of claim 1 , comprising:
withholding dispatch of the metadata operation to the second node based upon at least one inode within the first list of affected inodes occurring within the second list of affected inodes.
6 . The method of claim 1 , comprising:
executing the data operation at the first node.
7 . The method of claim 1 , comprising:
tracking a count of pending data operations being executed by the first node and replicated to the second node based upon a synchronous replication relationship where data operations are dispatched in parallel to the first node and the second node.
8 . The method of claim 7 , comprising:
executing the metadata operation at the first node based upon the count being equal to zero.
9 . The method of claim 7 , comprising:
withholding execution of the metadata operation at the first node based upon the count being greater than zero.
10 . The method of claim 1 , comprising:
dispatching a plurality of independent metadata operations to the second node, wherein the plurality of independent metadata operations are identified as metadata operations that affect non-overlapping sets of inodes with respect to one another.
11 . The method of claim 1 , comprising:
sequentially executing metadata operations at the first node.
12 . The method of claim 1 , comprising:
updating the second list of affected inodes with affected inodes within the first list of affected inodes based upon the metadata operation being dispatched to the second node.
13 . A non-transitory machine readable medium comprising instructions for performing a method, which when executed by a machine, causes the machine to:
execute a metadata operation at a first node; identify a first list of affected inodes that are modified by the metadata operation; in response to determining that none of the inodes within the first list of affected inodes occur within a second list of affected inodes that are modified by pending operations dispatched to a second node, dispatch the metadata operation to the second node; in response to receiving a data operation after the metadata operation has been dispatched to the second node, dispatch the data operation to the second node based upon the data operation not overlapping with the metadata operation.
14 . The non-transitory machine readable medium of claim 13 , wherein the instructions cause the machine to:
withhold dispatch of the data operation to the second node based upon the data operation overlapping with the metadata operation.
15 . The non-transitory machine readable medium of claim 13 , wherein the instructions cause the machine to:
withhold dispatch of the data operation to the second node based upon the data operation overlapping with one or more of the pending operations.
16 . The non-transitory machine readable medium of claim 13 , wherein the instructions cause the machine to:
withhold dispatch of the metadata operation to the second node based upon at least one inode within the first list of affected inodes occurring within the second list of affected inodes.
17 . The non-transitory machine readable medium of claim 13 , wherein the instructions cause the machine to:
execute the data operation at the first node.
18 . The non-transitory machine readable medium of claim 13 , wherein the instructions cause the machine to:
track a count of pending data operations being executed by the first node and replicated to the second node based upon a synchronous replication relationship where data operations are dispatched in parallel to the first node and the second node.
19 . A computing device comprising:
a memory comprising machine executable code for performing a method; and a processor coupled to the memory, the processor configured to execute the machine executable code to cause the processor to:
execute a metadata operation at a first node;
identify a first list of affected inodes that are modified by the metadata operation;
in response to determining that none of the inodes within the first list of affected inodes occur within a second list of affected inodes that are modified by pending operations dispatched to a second node, dispatch the metadata operation to the second node;
in response to receiving a data operation after the metadata operation has been dispatched to the second node, dispatch the data operation to the second node based upon the data operation not overlapping with the metadata operation.
20 . The computing device of claim 19 , wherein the machine executable code causes the processor to:
withhold dispatch of the data operation to the second node based upon the data operation overlapping with the metadata operation.Join the waitlist — get patent alerts
Track US2023081436A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.