Handling potential deadlocks and correctness problems of reduce operations in parallel systems
AssigneeIntel Corporation
InventorsPatrick Ohly, Victor Shumilin
Life of this patent
Estimating the term…
Abstract
In one embodiment, the present invention includes a method for executing a first reduction operation on data in an input buffer, executing a second reduction operation on the data, where the second reduction operation has a higher reliability than the first reduction operation, and comparing the first and second results. Other embodiments are described and claimed.
Claims12
An article comprising a non-transitory machine-accessible medium including instructions that when executed cause a system to perform operations comprising:
- intercepting a function call and modifying the function call to determine a modified function call;
- executing a first reduction operation on data in an input buffer and storing a first result of the first reduction operation in a second buffer;
- after executing the first reduction operation, executing a second reduction operation on the data in the input buffer, the second reduction operation corresponding to a reduction operation having a higher reliability than the first reduction operation based on at least one of fewer network problems and differing reduction algorithms, and storing a second result of the second reduction operation in an output buffer;
- and
- comparing the first result and the second result and reporting an error if the first and second results do not match;
- wherein (a) the function call corresponds to one of the first and second reduction operations, (b) the modified function call corresponds to another of the first and second reduction operations, and (c) the first result and the second result match if they differ by less than a predetermined amount.
An article comprising a non-transitory machine-accessible medium including instructions that when executed cause a system to:
- execute a first reduction operation on message passing interface (MPI) data in an input buffer, store a first result of the first reduction operation in an output buffer, and copy the first result from the output buffer to an intermediate buffer;
- after executing the first reduction operation, execute a second reduction operation on the data in the input buffer, the second reduction operation corresponding to a reduction operation having a different reduction algorithm than the first reduction operation, and store a second result of the second reduction operation in the output buffer;
- determine whether the first result is still included in the intermediate buffer;
- and
- when the first result is still included in the intermediate buffer compare the first result and the second result but when the first result is not still included in the intermediate buffer then return the second result without comparing the first result and the second result;
- wherein the first result and the second result match if they differ by less than a predetermined amount.
Dependencies are inferred from the claim text.