Multiblock Combiner for MapReduce Data Shuffling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current large-scale data processing systems face inefficiencies in handling and processing massive datasets due to the limitations in distributing and combining data across multiple processors and storage devices, leading to resource wastage and reduced throughput.

Innovation Solution

Implementing a MapReduce process that divides input data into blocks, processes them using map operations to produce key-value pairs, and combines values associated with common keys using a multiblock combiner before shuffling, thereby reducing data transmission and optimizing resource utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data is distributed across multiple processors without combining operations, then parallel processing capability is improved, but data transmission volume and resource usage increase

Engineering Contradiction:
Improveparallel processing capabilityVSAvoiddata transmission volume
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The combiner performs combining operations on intermediate data blocks before they are shuffled to reducers. This preliminary action reduces the volume of data that needs to be transmitted across the network, thereby decreasing data transmission volume and energy consumption while maintaining parallel processing capability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The combiner acts as an intermediary component between map processes and reduce processes. It receives intermediate data blocks from multiple map processes, performs combining operations to aggregate data with the same key, and then outputs the combined data to reducers. This intermediary role efficiently reduces data transmission volume.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If multiple map processes process multiple input data blocks, then processing throughput is improved, but the complexity of coordinating and combining results increases

Engineering Contradiction:
Improveprocessing throughputVSAvoidcoordination complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system segments the data processing workflow into distinct stages: map processes that generate intermediate data blocks, combiners that aggregate these blocks, and reducers that produce final results. This segmentation allows multiple map processes to operate in parallel with improved throughput while the combiner handles the coordination complexity in a centralized manner.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The combiner performs preliminary combining operations on intermediate data blocks before they reach the reducers. This preliminary action simplifies the workload of reducers and reduces the complexity of coordinating results from multiple map processes, as the combiner pre-aggregates data with the same keys.

Inventive Principle:
Principle #10Preliminary action

3Ease of operation

If data is shuffled without prior combining, then simplicity of the processing model is maintained, but resource wastage and processing time increase

Engineering Contradiction:
Improveprocessing model simplicityVSAvoidprocessing time
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The combiner performs combining operations on intermediate data blocks before they are shuffled to reducers. This preliminary action reduces the volume of data to be shuffled and processed, thereby decreasing processing time and resource wastage while maintaining the overall simplicity of the MapReduce processing model.

Inventive Principle:
Principle #10Preliminary action

4Reliability

If all intermediate data is transmitted to reducers, then data completeness is ensured, but network bandwidth consumption and processing overhead increase

Engineering Contradiction:
Improvedata completenessVSAvoidnetwork bandwidth consumption
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The combiner performs preliminary combining operations on intermediate data blocks before they are transmitted to reducers. This ensures that only necessary and aggregated data is transmitted, maintaining data completeness for the reduce operation while significantly reducing network bandwidth consumption and processing overhead.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The combiner acts as an intermediary that aggregates intermediate data blocks from multiple map processes before transmission to reducers. It ensures data completeness by collecting all relevant intermediate data with the same key while reducing network bandwidth consumption through pre-aggregation.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9760595B1Parallel processing of data
Publication Date: 2017.09.12 GOOGLE LLC
  • US9760595B1 patent drawing
  • US9760595B1 patent drawing
  • US9760595B1 patent drawing

AI summary

Parallel processing of data may include a set of map processes and a set of reduce processes. Each map process may include at least one map thread. Map threads may access distinct input data blocks assigned to the map process, and may apply an application specific map operation to the input data blocks to produce key-value pairs. Each map process may include a multiblock combiner configured to apply a combining operation to values associated with common keys in the key-value pairs to produce combined values, and to output intermediate data including pairs of keys and combined values. Each reduce process may be configured to access the intermediate data output by the multiblock combiners. For each key, an application specific reduce operation may be applied to the combined values associated with the key to produce output data.