Patent ID: 8527739
Filing Date: 2013-09-03
Classification: G06F

Abstract:
1. A computer program product embodied in non-transitory computer readable medium for gathering results of a computing operation distributed among a plurality of processes, the computer program product comprising: program code for pairing the plurality of processes such that each process has at least one interaction partner; program code for transmitting a result of one or more computing operations from a process to the interaction partner of the process; program code for iterating over the pairing and transmitting operations, wherein pairing operations subsequent to the first pairing operation associate a process with an interaction partner with which the process has not previously been paired; wherein the result of one or more computing operations comprises results of computing operations received at the process during previous iterations; program code for assigning a number to each of the plurality of processes, wherein no two processes are assigned the same number; program code for calculating two to the power of a factor and performing the pairing operation such that a process having a number which is a multiple of double the calculated value is associated with an interaction partner having a number equal to the number of the process plus the calculated value; and program code for repeating the calculating operation for each pairing operation subsequent to the first pairing operation, wherein the factor contains a value not used in a preceding pairing operation.