Mirrored stateful workers
First Claim
1. A computer-implemented method comprising:
- obtaining a plurality of different parameter values for a first computation, each parameter value being a different candidate value for transitioning all worker processes in a pool of worker processes from having a first state to having a different second state, wherein the worker processes in the pool of worker processes are installed on a plurality of different respective computing devices, wherein each worker process in the pool of worker processes has a state that is the same as the state of all other worker processes in the pool of worker processes;
providing each worker process having the first state a different respective parameter value that is different from parameter values provided to all other worker processes having the first state, wherein each worker process having the first state performs the first computation including applying the respective parameter value to generate a respective first result for the first computation according to the respective parameter value, and wherein the first computation is a non-state-altering computation;
receiving respective first results of the first computation from one or more worker processes of the pool of worker processes that performed the first computation;
receiving user input from a user selecting, as a selected parameter value, a parameter value of the plurality of parameter values based on the respective first results of the first computation; and
providing each worker process in the pool of worker processes having the first state the selected parameter value, wherein each worker process receiving the selected parameter value performs a second computation including applying the selected parameter value to modify the state of the worker process from having the first state to having the second state corresponding to the selected parameter value, and wherein the second computation is a state-altering computation.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods, systems, and apparatus, including computer programs encoded on computer storage media, for determining image search results. One of the methods includes scheduling a first computation for execution on each of a first plurality of worker processes. The first computation changes a respective state of each of one or more of the first worker processes from a first state to a second state. A respective second computation is scheduled for execution on each of a second plurality of worker, where each respective second computation will use a different value for a particular variable for two or more of the second plurality of worker processes. The respective state of each of the second plurality of worker processes is updated from the second state to a third state, where the third state corresponds to execution of the second computation using a first value of the particular variable.
41 Citations
17 Claims
-
1. A computer-implemented method comprising:
-
obtaining a plurality of different parameter values for a first computation, each parameter value being a different candidate value for transitioning all worker processes in a pool of worker processes from having a first state to having a different second state, wherein the worker processes in the pool of worker processes are installed on a plurality of different respective computing devices, wherein each worker process in the pool of worker processes has a state that is the same as the state of all other worker processes in the pool of worker processes; providing each worker process having the first state a different respective parameter value that is different from parameter values provided to all other worker processes having the first state, wherein each worker process having the first state performs the first computation including applying the respective parameter value to generate a respective first result for the first computation according to the respective parameter value, and wherein the first computation is a non-state-altering computation; receiving respective first results of the first computation from one or more worker processes of the pool of worker processes that performed the first computation; receiving user input from a user selecting, as a selected parameter value, a parameter value of the plurality of parameter values based on the respective first results of the first computation; and providing each worker process in the pool of worker processes having the first state the selected parameter value, wherein each worker process receiving the selected parameter value performs a second computation including applying the selected parameter value to modify the state of the worker process from having the first state to having the second state corresponding to the selected parameter value, and wherein the second computation is a state-altering computation. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system comprising:
-
one or more computers and one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising; obtaining a plurality of different parameter values for a first computation, each parameter value being a different candidate value for transitioning all worker processes in a pool of worker processes from having a first state to having a different second state, wherein the worker processes in the in a pool of worker processes are installed on a plurality of different respective computing devices, wherein each worker process in the pool of worker processes has a state that is the same as the state of all other worker processes in the pool of worker processes; providing each worker process having the first state a different respective parameter value that is different from parameter values provided to all other worker processes having the first state, wherein each worker process having the first state performs the first computation including applying the respective parameter value to generate a respective first result for the first computation according to the respective parameter value, and wherein the first computation is a non-state-altering computation; receiving respective first results of the first computation from one or more worker processes of the pool of worker processes that performed the first computation; receiving user input from a user selecting, as a selected parameter value, a parameter value of the plurality of parameter values based on the respective first results of the first computation; and providing each worker process in the pool of worker processes having the first state the selected parameter value, wherein each worker process receiving the selected parameter value performs a second computation including applying the selected parameter value to modify the state of the worker process from having the first state to having the second state corresponding to the selected parameter value, and wherein the second computation is a state-altering computation. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A non-transitory computer-readable medium storing software comprising instructions executable by one or more computers which, upon such execution, cause the one or more computers to perform operations comprising:
-
obtaining a plurality of different parameter values for a first computation, each parameter value being a different candidate value for transitioning all working processes in a pool of worker processes from having a first state to having a different second state, wherein the worker processes in the pool of worker processes are installed on a plurality of different respective computing devices, wherein each worker process in the pool of worker processes has a state that is the same as the state of all other worker processes in the pool of worker processes; providing each worker process having the first state a different respective parameter value that is different from parameter values provided to all other worker processes having the first state, wherein each worker process having the first state performs the first computation including applying the respective parameter value to generate a respective first result for the first computation according to the respective parameter value, and wherein the first computation is a non-state-altering computation; receiving respective first results of the first computation from one or more worker processes of the pool of worker processes that performed the first computation; receiving user input from a user selecting, as a selected parameter value, a parameter value of the plurality of parameter values based on the respective first results of the first computation; and providing each worker process in the pool of worker processes having the first state the selected parameter value, wherein each worker process receiving the selected parameter value performs a second computation including applying the selected parameter value to modify the state of the worker process from having the first state to having the second state corresponding to the selected parameter value, and wherein the second computation is a state-altering computation. - View Dependent Claims (16, 17)
-
Specification