Adaptive datacenter topology for distributed frameworks job control through network awareness
First Claim
1. A method, comprising:
- receiving a priority of a distributed computing job and a set of candidate compute nodes available to process the distributed computing job, the candidate compute nodes each available to process at least one input split, of a plurality of input splits, wherein the plurality of input splits comprise a data input of the distributed computing job;
determining, based at least in part on a source code of the distributed computing job, that an intermediate traffic type of the distributed computing job is a first intermediate traffic type, of a plurality of intermediate traffic types, wherein the intermediate traffic type reflects a size of a data output generated by processing the distributed computing job relative to a size of the data input of the distributed computing job; and
selecting a first compute node of the candidate compute nodes as a mapper node for one of the input splits, wherein the first compute node is selected based on the priority and the intermediate traffic type of the distributed computing job and an overall score computed for the first candidate compute node, wherein the first compute node is further selected upon determining that;
the first compute node is not experiencing an error; and
a resource utilization score for the first compute node does not exceed a utilization threshold.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems, methods, and computer program products to perform an operation comprising receiving a priority of a distributed computing job, an intermediate traffic type of the distributed computing job, and a set of candidate compute nodes available to process the distributed computing job, the candidate compute nodes each available to process at least one input split of the distributed computing job, and selecting a mapper node from the candidate compute nodes, for one of the input splits, wherein the mapper node is selected based on the priority and the intermediate traffic type of the distributed computing job, wherein the mapper compute node is further selected upon determining that the mapper node is not affected by an error, and a resource utilization score for the mapper node does not exceed a utilization threshold.
5 Citations
20 Claims
-
1. A method, comprising:
-
receiving a priority of a distributed computing job and a set of candidate compute nodes available to process the distributed computing job, the candidate compute nodes each available to process at least one input split, of a plurality of input splits, wherein the plurality of input splits comprise a data input of the distributed computing job; determining, based at least in part on a source code of the distributed computing job, that an intermediate traffic type of the distributed computing job is a first intermediate traffic type, of a plurality of intermediate traffic types, wherein the intermediate traffic type reflects a size of a data output generated by processing the distributed computing job relative to a size of the data input of the distributed computing job; and selecting a first compute node of the candidate compute nodes as a mapper node for one of the input splits, wherein the first compute node is selected based on the priority and the intermediate traffic type of the distributed computing job and an overall score computed for the first candidate compute node, wherein the first compute node is further selected upon determining that; the first compute node is not experiencing an error; and a resource utilization score for the first compute node does not exceed a utilization threshold. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system, comprising:
-
a computer processor; and a memory containing a program, which when executed by the processor, performs an operation comprising; receiving a priority of a distributed computing job and a set of candidate compute nodes available to process the distributed computing job, the candidate compute nodes each available to process at least one input split, of a plurality of input splits, wherein the plurality of input splits comprise a data input of the distributed computing job; determining, based at least in part on a source code of the distributed computing job, that an intermediate traffic type of the distributed computing job is a first intermediate traffic type, of a plurality of intermediate traffic types, wherein the intermediate traffic type reflects a size of a data output generated by processing the distributed computing job relative to a size of the data input of the distributed computing job; and selecting a first compute node of the candidate compute nodes as a mapper node for one of the input splits, wherein the first compute node is selected based on the priority and the intermediate traffic type of the distributed computing job and an overall score computed for the first candidate compute node, wherein the first compute node is further selected upon determining that; the first compute node is not experiencing an error; and a resource utilization score for the first compute node does not exceed a utilization threshold. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A computer program product, comprising:
a non-transitory computer-readable storage medium having computer-readable code embodied therewith, the computer-readable program code executable by a processor to perform an operation to optimize placement of a distributed computing job on a plurality of compute nodes, the operation comprising; receiving a priority of a distributed computing job and a set of candidate compute nodes available to process the distributed computing job, the candidate compute nodes each available to process at least one input split, of a plurality of input splits, wherein the plurality of input splits comprise a data input of the distributed computing job; determining, based at least in part on a source code of the distributed computing job, that an intermediate traffic type of the distributed computing job is a first intermediate traffic type, of a plurality of intermediate traffic types, wherein the intermediate traffic type reflects a size of a data output generated by processing the distributed computing job relative to a size of the data input of the distributed computing job; and selecting a first compute node of the candidate compute nodes as a mapper node for one of the input splits, wherein the first compute node is selected based on the priority and the intermediate traffic type of the distributed computing job and an overall score computed for the first candidate compute node, wherein the first compute node is further selected upon determining that; the first compute node is not experiencing an error; and a resource utilization score for the first compute node does not exceed a utilization threshold. - View Dependent Claims (16, 17, 18, 19, 20)
Specification