Distributed Job Manager Recovery
First Claim
1. A method for failure recovery of a job manager within a data processing system, the method comprising:
- instantiating a job manager on one of a plurality of nodes to manage distributed execution of jobs on the plurality of nodes, wherein management of job execution for each job comprises managing the deployment and execution of a plurality of processing elements associated with each job on the plurality of nodes in accordance with instructions from a job scheduler;
checkpointing a current state associated with each one of the plurality of processing elements associated with the jobs managed by the job manager; and
recovering the job manager subsequent to a failure of the job manager using the checkpointed processing element states.
1 Assignment
0 Petitions
Accused Products
Abstract
A method is provided for the recovery of an instance of a job manager running on one of a plurality of nodes used to execute the processing elements associated with jobs that are executed within a cooperative data stream processing system. The states of the processing elements are checkpointed to a persistence mechanism in communication with the job manager. From the checkpointed processing element states, the state of each distributed job is determined and checkpointed. Processing element states are also checkpointed locally to the nodes one which the processing elements are running. Following a failure of the job manager, the job manager is reinstantiated on one of the nodes. The recovery instance of the job manger obtains state data for processing elements and jobs from the persistence mechanism and constructs an initial state for jobs and processing elements. These initial states are reconciled against the current states of the processing elements and adjustments are made accordingly. Once the job and processing element states are reconciled, the system is returned to normal operation.
125 Citations
20 Claims
-
1. A method for failure recovery of a job manager within a data processing system, the method comprising:
-
instantiating a job manager on one of a plurality of nodes to manage distributed execution of jobs on the plurality of nodes, wherein management of job execution for each job comprises managing the deployment and execution of a plurality of processing elements associated with each job on the plurality of nodes in accordance with instructions from a job scheduler; checkpointing a current state associated with each one of the plurality of processing elements associated with the jobs managed by the job manager; and recovering the job manager subsequent to a failure of the job manager using the checkpointed processing element states. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A method for failure recovery of a job manager within a data processing system, the method comprising:
-
instantiating a job manager on one of a plurality of nodes to manage distributed execution of jobs on the plurality of nodes, wherein management of job execution for each job comprises managing the deployment and execution of a plurality of processing elements associated with each job on the plurality of nodes in accordance with instructions from a job scheduler; checkpointing a current state associated with each job; checkpointing a current state associated with each one of the plurality of processing elements associated with each job managed by the job manager; determining a current job state for each job managed by the job manager using the checkpointed job and processing element states; and recovering the job manager subsequent to a failure of the job manager using the checkpointed processing element states, the checkpointed job states and the current state for each job.
-
-
18. A method for failure recovery of a job manager within a distributed processing system, the method comprising:
-
instantiating a job manager on one of a plurality of nodes to manage distributed execution of jobs on the plurality of nodes, wherein management of job execution for each job comprises managing the deployment and execution of a plurality of processing elements associated with each job on the plurality of nodes in accordance with instructions from a job scheduler; checkpointing a current state associated with each job; checkpointing a current state associated with each one of the plurality of processing elements associated with the jobs managed by the job manager; and recovering the job manager subsequent to a failure of the job manager using the checkpointed job and processing element states. - View Dependent Claims (19, 20)
-
Specification