DISTRIBUTED WORKLOAD REASSIGNMENT FOLLOWING COMMUNICATION FAILURE
First Claim
1. A system, comprising:
- at least one processor;
memory, operatively connected to the at least one processor and containing instructions that, when executed by the at least one processor, perform a method, the method comprising;
associating a first generation identifier and a first workload identifier with a first workload;
communicating the first generation identifier, the first workload identifier, and the first workload to a first node; and
during a communication failure with the first node, generating a second generation identifier, associating the second generation identifier with the first workload, and communicating the second generation identifier, the first workload identifier, and the first workload to a second node, wherein the second generation identifier communicates a different priority from the first generation identifier.
3 Assignments
0 Petitions
Accused Products
Abstract
A generation identifier is employed with various systems and methods in order to identify situations where a workload has been reassigned to a new node and where a workload is still being processed by an old node during a failure between nodes. A master node may assign a workload to a worker node. The worker node sends a request to access target data. The request may be associated with a generation identifier and workload identifier that identifies the node and workload. At some point, a failure occurs between the master node and worker node. The master node reassigns the workload to another worker node. The new worker node accesses the target data with a different generation identifier, indicating to the storage system that the workload has been reassigned. The old worker node receives an indication from the storage system that the workload has been reassigned and stops processing the workload.
-
Citations
20 Claims
-
1. A system, comprising:
-
at least one processor; memory, operatively connected to the at least one processor and containing instructions that, when executed by the at least one processor, perform a method, the method comprising; associating a first generation identifier and a first workload identifier with a first workload; communicating the first generation identifier, the first workload identifier, and the first workload to a first node; and during a communication failure with the first node, generating a second generation identifier, associating the second generation identifier with the first workload, and communicating the second generation identifier, the first workload identifier, and the first workload to a second node, wherein the second generation identifier communicates a different priority from the first generation identifier. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer implemented method, the method comprising:
-
receiving a first access request for target data, the target data stored by a storage system, and the first access request associated with a first generation identifier and a first workload identifier; storing the first generation identifier and the first workload identifier in persistent storage as a first stored generation identifier and a first stored workload identifier; granting the first access request for the target data; receiving a second access request for the target data, the second access request associated with a second generation identifier and the first workload identifier; comparing the second generation identifier to the first stored generation identifier and the first workload identifier to the first stored workload identifier; determining that the second generation identifier indicates a higher priority than the first stored generation identifier, and that the first workload identifier matches the first stored workload identifier; storing the second generation identifier in persistent storage as a second stored generation identifier; granting the second access request for the target data; receiving a third access request for the target data, the third access request associated with the first generation identifier and the first workload identifier; determining that the first generation identifier indicates a lower priority than the second stored generation identifier and that the first workload identifier matches the first stored workload identifier; and denying the third access request for the target data. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A computer implemented method, the method comprising:
-
sending a first access request for target data to the storage system, the first access request associated with a first generation identifier and a first workload identifier associated with a first workload executing on a first node; receiving a first access response granting access to the target data; after receiving the first access response, sending an indication to a second node that access to the target data was granted; receiving a second generation identifier for use in subsequent access requests; sending a second access request for target data to the storage system, the second access request associated with the second generation identifier and the first workload identifier; and receiving a second access response granting access to the target data. - View Dependent Claims (18, 19, 20)
-
Specification