Distributed data-parallel execution engines for user-defined serial problems using branch-and-bound algorithm
First Claim
Patent Images
1. A method for a distributed data-parallel execution (DDPE) system, the method comprising:
- deriving a computational problem from a user-defined serial problem;
splitting the computational problem into a plurality of sub-problems using a branch-and-bound algorithm, wherein each sub-problem of the plurality of sub-problems maintains root-to-leaf information;
designating a synchronous stop time for a plurality of processors;
distributing the synchronous stop time and the plurality of sub-problems to the plurality of processors;
conducting a round of processing on the plurality of processors for the plurality of sub-problems by recursively using the branch-and-bound algorithm until the stop time and without inter-processor communications during the round;
receiving processing round state data from the plurality of processors indicating whether there are any open sub-problems remaining that require further processing, wherein the processing round state data comprises root-to-leaf information for each open sub-problem;
determining if further processing is required based on the processing round state data and;
if further processing is required, then until further processing is not required;
redesignating the synchronous stop time;
redistributing the synchronous stop time and any open sub-problems to at least one processor from among the plurality of processors; and
repeating the conducting, receiving, and determining; and
if further processing is not required, then terminating processing on the plurality of processors.
2 Assignments
0 Petitions
Accused Products
Abstract
A distributed data-parallel execution (DDPE) system splits a computational problem into a plurality of sub-problems using a branch-and-bound algorithm, designates a synchronous stop time for a “plurality of processors” (for example, a cluster) for each round of execution, processes the search tree by recursively using a branch-and-bound algorithm in multiple rounds (without inter-processor communications), determines if further processing is required based on the processing round state data, and terminates processing on the processors when processing is completed.
-
Citations
20 Claims
-
1. A method for a distributed data-parallel execution (DDPE) system, the method comprising:
-
deriving a computational problem from a user-defined serial problem; splitting the computational problem into a plurality of sub-problems using a branch-and-bound algorithm, wherein each sub-problem of the plurality of sub-problems maintains root-to-leaf information; designating a synchronous stop time for a plurality of processors; distributing the synchronous stop time and the plurality of sub-problems to the plurality of processors; conducting a round of processing on the plurality of processors for the plurality of sub-problems by recursively using the branch-and-bound algorithm until the stop time and without inter-processor communications during the round; receiving processing round state data from the plurality of processors indicating whether there are any open sub-problems remaining that require further processing, wherein the processing round state data comprises root-to-leaf information for each open sub-problem; determining if further processing is required based on the processing round state data and; if further processing is required, then until further processing is not required; redesignating the synchronous stop time; redistributing the synchronous stop time and any open sub-problems to at least one processor from among the plurality of processors; and repeating the conducting, receiving, and determining; and if further processing is not required, then terminating processing on the plurality of processors. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A system for distributed computation comprising:
-
a plurality of processors constituting a distributed data-parallel execution (DDPE) system; and a first processor that; derives a computational problem from a serial-processing problem; splits the computational problem into a plurality of sub-problems using a branch-and-bound algorithm, wherein each sub-problem of the plurality of sub-problems maintains root-to-leaf information; designates a synchronous stop time for the plurality of processors; distributes the synchronous stop time and the plurality of sub-problems to the plurality of processors; receives processing round state data from the plurality of processors indicating whether there are any open sub-problems remaining that require further processing, wherein the processing round state data comprises root-to-leaf information for each open sub-problem; and determines if further processing is required based on the processing round state data and; if further processing is required, then until further processing is not required; redesignates the synchronous stop time; distributes the synchronous stop time to the plurality of processors; and repeats the receiving and determining elements herein; and if further processing is not required, then distributes to the plurality of processors a terminate command and returns a result to the computational problem. - View Dependent Claims (15, 16, 17)
-
-
18. A storage memory comprising computer readable instructions for a distributed data-parallel execution (DDPE) system, the computer readable instructions comprising instructions for:
-
distributing a synchronous stop time for a plurality of processors and a plurality of sub-problems of a computational problem to the plurality of processors, the computational problem having been automatically derived from a user-defined serial problem, wherein each sub-problem of the plurality of sub-problems maintains root-to-leaf information; conducting a round of processing on the plurality of processors for the plurality of sub-problems by recursively using a branch-and-bound algorithm until the stop time; receiving processing round state data from the plurality of processors indicating whether there are any open sub-problems remaining that require further processing, wherein the processing round state data comprises root-to-leaf information for each open sub-problem; determining if further processing is required based on the processing round state data and; if further processing is required, then until further processing is not required;
redesignating the synchronous stop time;redistributing the synchronous stop time and any open sub-problems to at least one processor from among the plurality of processors; and repeating the conducting, receiving, and determining elements. - View Dependent Claims (19, 20)
-
Specification