Heterogeneous computations on homogeneous input data
First Claim
Patent Images
1. A system, comprising:
- a plurality of computing devices configured to implement a heterogeneous computation system comprising one or more master nodes, a plurality of worker nodes, and one or more aggregator nodes, wherein the one or more master nodes are configured to;
send information indicative of a plurality of computational specifications to the plurality of worker nodes, wherein the plurality of computational specifications comprise definitions of a plurality of heterogeneous computations;
wherein, for a set of input data, each worker node of the plurality of worker nodes is configured to;
load the set of input data; and
perform one or more of the plurality of heterogeneous computations based on the plurality of computational specifications and the set of input data, wherein different ones of the worker nodes perform different respective computational specifications to solve a same problem using the same set of input data to produce respective results, and wherein the respective computational specifications to solve the same problem comprise;
same respective algorithms configured to be concurrently implemented using the same set of input data by different types of computing platforms or different types of processors of the different ones of the worker nodes; and
wherein the one or more aggregator nodes are configured to;
generate an aggregate result based at least on the respective results produced using the same set of input data.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and systems for performing heterogeneous computations on homogeneous input data are disclosed. A plurality of computational specifications are distributed among a plurality of worker nodes. The computational specifications comprise definitions of a plurality of heterogeneous computations. The heterogeneous computations are performed using the worker nodes. Individual ones of the heterogeneous computations are performed based on the set of input data and corresponding ones of the computational specifications, and individual ones of the heterogeneous computations produce respective results. An aggregate result is generated based on the respective results of the heterogeneous computations.
-
Citations
20 Claims
-
1. A system, comprising:
-
a plurality of computing devices configured to implement a heterogeneous computation system comprising one or more master nodes, a plurality of worker nodes, and one or more aggregator nodes, wherein the one or more master nodes are configured to; send information indicative of a plurality of computational specifications to the plurality of worker nodes, wherein the plurality of computational specifications comprise definitions of a plurality of heterogeneous computations; wherein, for a set of input data, each worker node of the plurality of worker nodes is configured to; load the set of input data; and perform one or more of the plurality of heterogeneous computations based on the plurality of computational specifications and the set of input data, wherein different ones of the worker nodes perform different respective computational specifications to solve a same problem using the same set of input data to produce respective results, and wherein the respective computational specifications to solve the same problem comprise; same respective algorithms configured to be concurrently implemented using the same set of input data by different types of computing platforms or different types of processors of the different ones of the worker nodes; and wherein the one or more aggregator nodes are configured to; generate an aggregate result based at least on the respective results produced using the same set of input data. - View Dependent Claims (2, 3)
-
-
4. A computer-implemented method, comprising:
-
distributing a plurality of computational specifications among a plurality of worker nodes, wherein the plurality of computational specifications comprise descriptions of a plurality of heterogeneous computations; performing the plurality of heterogeneous computations using the plurality of worker nodes, wherein individual ones of the plurality of heterogeneous computations are performed based on a set of input data and corresponding ones of the plurality of computational specifications, and wherein different ones of the worker nodes perform different respective computational specifications to solve a same problem using the same set of input data to produce respective results, and wherein the respective computational specifications to solve the same problem comprise; same respective algorithms configured to be concurrently implemented using the same set of input data by different types of computing platforms or different types of processors of the different ones of the worker nodes; and generating an aggregate result based at least on the respective results produced using the same set of input data. - View Dependent Claims (5, 6, 7, 8, 9)
-
-
10. A system, comprising:
a plurality of computing devices comprising a plurality of processors and a plurality of memories, wherein the memories stores program instructions, and wherein the program instructions are executable by the processors to; concurrently perform a plurality of heterogeneous computations based on a same set of input data for individual ones of the plurality of computing devices, wherein different ones of the computing devices perform different respective computational specifications to solve a same problem using the same set of input data to produce respective results, and wherein the respective computational specifications to solve the same problem comprise; same respective algorithms configured to be concurrently implemented using the same set of input data by different types of computing platforms or processors of the different ones of the worker nodes; and generate an aggregate result based at least on the respective results produced using the same set of input data. - View Dependent Claims (11, 12, 13, 14, 15)
-
16. A non-transitory computer-readable storage medium storing program instructions computer-executable to perform:
-
executing a plurality of concurrent computations, wherein individual ones of the plurality of concurrent computations are based on a set of input data and on a corresponding computational specification, and wherein different ones of the computational specifications are used to solve a same problem to produce respective results using the same set of input data, and wherein at least one of the concurrent computations is executed using different instructions than other ones of the concurrent computations, and wherein the different ones of the computational specifications to solve the same problem comprise; same respective algorithms configured to be concurrently implemented using the same set of input data by different types of computing platforms or processors of the different ones of the worker nodes; and generating an aggregate result based at least on the respective results produced using the same set of input data. - View Dependent Claims (17, 18, 19, 20)
-
Specification