Management of intermediate data spills during the shuffle phase of a map-reduce job
First Claim
1. A distributed computer system configured for spill management during a shuffle phase of a map-reduce job performed by said distributed computer system on distributed files, said distributed computer system comprising:
- (a) key-value pairs (ki,vi) belonging to said distributed files on which said map-reduce job is performed;
(b) a number of map nodes for performing a pre-shuffle phase of said map-reduce job on said key-value pairs (ki,vi) to generate keyed partitions (Ki,PRTj);
(c) storage resources for spilling said keyed partitions (Ki,PRTj), said spilling managed by a spilling protocol utilizing at least one popularity attribute of said key-value pairs (ki,vi);
(d) said popularity attribute of said key-value pairs (ki,vi) determined in accordance with at least one element selected from the group consisting of relevance ranking of said key-value pairs (ki,vi) to a topic of interest, number of times that said key-value pairs (ki,vi) are used in computations and level of trust of data sources from which said key-value pairs (ki,vi) were obtained;
(e) a number of reduce nodes provided with said spilling protocol to enable said reduce nodes to locate and access said keyed partitions (Ki,PRTj) during said shuffle phase by utilizing a path to said keyed partitions (Ki,PRTj);
wherein said distributed computer system executes a post-shuffle phase of said map-reduce job to produce an output of said map-reduce job.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and a method for spill management during the shuffle phase of a map-reduce job performed in a distributed computer system on distributed files. A spilling protocol is provided for handling the spilling of intermediate data based on at least one popularity attribute of key-value pairs of the input data on which the map-reduce job is performed. The spilling protocol includes an assignment order to storage resources belonging to the computer system based on the at least one popularity attribute. The protocol can be deployed in computer systems with heterogeneous storage resources. Additionally, pointers or tags can be assigned to improve shuffle phase performance. The distributed file systems that are most suitable are ones usable by Hadoop, e.g., Hadoop Distributed File System (HDFS).
31 Citations
20 Claims
-
1. A distributed computer system configured for spill management during a shuffle phase of a map-reduce job performed by said distributed computer system on distributed files, said distributed computer system comprising:
-
(a) key-value pairs (ki,vi) belonging to said distributed files on which said map-reduce job is performed; (b) a number of map nodes for performing a pre-shuffle phase of said map-reduce job on said key-value pairs (ki,vi) to generate keyed partitions (Ki,PRTj); (c) storage resources for spilling said keyed partitions (Ki,PRTj), said spilling managed by a spilling protocol utilizing at least one popularity attribute of said key-value pairs (ki,vi); (d) said popularity attribute of said key-value pairs (ki,vi) determined in accordance with at least one element selected from the group consisting of relevance ranking of said key-value pairs (ki,vi) to a topic of interest, number of times that said key-value pairs (ki,vi) are used in computations and level of trust of data sources from which said key-value pairs (ki,vi) were obtained; (e) a number of reduce nodes provided with said spilling protocol to enable said reduce nodes to locate and access said keyed partitions (Ki,PRTj) during said shuffle phase by utilizing a path to said keyed partitions (Ki,PRTj); wherein said distributed computer system executes a post-shuffle phase of said map-reduce job to produce an output of said map-reduce job. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method for spill management during a shuffle phase of a map-reduce job that is performed on distributed files of a distributed computer system, said method comprising:
-
(a) identifying key-value pairs (ki,vi) related to input data associated with said map-reduce job; (b) executing a pre-shuffle phase of said map-reduce job on said input data, said pre-shuffle phase performed on a number of map nodes of said distributed computer system, said pre-shuffle phase generating intermediate data; (c) providing a spilling protocol for said intermediate data based on at least one popularity attribute of said key-value pairs (ki,vi); (d) determining said popularity attribute of said key-value pairs (ki,vi) in accordance with at least one element selected from the group consisting of relevance ranking of said key-value pairs (ki,vi) to a topic of interest, number of times that said key-value pairs (ki,vi) are used in computations and level of trust of data sources from which said key-value pairs (ki,vi) were obtained; (e) spilling said intermediate data over storage resources of said distributed computer system in accordance with said spilling protocol; (f) providing said spilling protocol to a number of reduce nodes of said distributed computer system to enable said reduce nodes to locate and access said intermediate data during said shuffle phase; and (g) performing a post-shuffle phase of said map-reduce job to produce a partial output of said map-reduce job. - View Dependent Claims (13, 14, 15, 16, 17, 18)
-
-
19. A method for spill management during a shuffle phase of a map-reduce job that is performed on distributed files in a distributed computer system, said method comprising:
-
(a) identifying key-value pairs (ki,vi) related to input data associated with said map-reduce job; (b) performing on a number of map nodes of said distributed computer system a pre-shuffle phase of said map-reduce job on said input data, said pre-shuffle phase generating intermediate data; (c) providing a spilling protocol for said intermediate data for assigning at least one popularity attribute of said key-value pairs (ki,vi); (d) determining said popularity attribute of said key-value pairs (ki,vi) in accordance with at least two elements selected from the group consisting of search ranking of said key-value pairs (ki,vi), relevance ranking of said key-value pairs (ki,vi) to a topic of interest, number of times that said key-value pairs (ki,vi) are used in computations and level of trust of data sources from which said key-value pairs (ki,vi) were obtained; (e) spilling said intermediate data over storage resources of said distributed computer system in accordance with said spilling protocol; (f) providing said spilling protocol to a number of reduce nodes of said distributed computer system to enable said reduce nodes to locate and access said intermediate data during said shuffle phase; and (g) performing a post-shuffle phase of said map-reduce job for producing an output list of said map-reduce job. - View Dependent Claims (20)
-
Specification