Distributed MapReduce Partitioning for Cluster Bottlenecks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The MapReduce paradigm in cluster computing systems faces a bottleneck in the reduce step, where the master node acts as a single point of failure and limits the parallel processing capabilities, leading to inefficiencies in processing large data sets.

Innovation Solution

A distributed real-time partitioned MapReduce system is implemented, where multiple service nodes manage the execution of tasks, and partitions are divided across nodes, allowing for parallel processing and reducing the load on a single master node by using a service node to aggregate results from multiple partitions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If the reduce step is executed by a single master node in MapReduce, then the implementation is simple, but the master node becomes a bottleneck and single point of failure

Engineering Contradiction:
Improvesystem complexityVSAvoidprocessing efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent segments the reduce function across multiple nodes in the cluster. Each node executes a portion of the reduce step locally on its partitions, rather than concentrating all reduce operations on a single master node. This segmentation eliminates the bottleneck while distributing the computational load across the cluster, thereby improving productivity without proportionally increasing system complexity.

Inventive Principle:
Principle #1Segmentation

2Ease of operation

If the reduce step is executed by a single master node, then coordination is simplified, but parallel processing capabilities are limited

Engineering Contradiction:
Improvecoordination simplicityVSAvoidparallel processing capability
Core Design Contradiction:
Ease of operationVSPower

Solution Approach 1:

The reduce operation is segmented and distributed across multiple nodes, with each node performing reduce operations on its local partitions. This enables parallel processing across the cluster while maintaining coordination simplicity through the existing MapReduce framework's task management and result aggregation mechanisms.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent combines the reduce operations across multiple nodes by having each node execute reduce functions locally and then aggregating the results. This merging approach preserves the logical simplicity of a unified reduce step while enabling parallel execution, thus maintaining ease of operation while enhancing parallel processing capability.

Inventive Principle:
Principle #5Merging (Combining)

3Device complexity

If processing load is concentrated on the master node, then result aggregation is straightforward, but computing efficiency decreases

Engineering Contradiction:
Improveaggregation complexityVSAvoidcomputing efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The aggregation process is segmented by distributing reduce operations across multiple nodes, with each node independently aggregating results for its partitions. This eliminates the single-point aggregation bottleneck while maintaining straightforward result collection through the distributed framework's natural result gathering mechanism.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Each node performs self-service by executing reduce operations locally and generating its own results without requiring centralized coordination for the actual reduction. This self-service approach improves computing efficiency by utilizing local resources while the framework automatically handles result aggregation, keeping aggregation complexity manageable.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11709843B2Distributed real-time partitioned MapReduce for a data fabric
Publication Date: 2023.07.25 WORKDAY INC
  • US11709843B2 patent drawing
  • US11709843B2 patent drawing
  • US11709843B2 patent drawing

AI summary

A system includes an interface and a processor. The interface is configured to receive an indication that a change has occurred to partition data on a first node, wherein the partition data is stored on a partition on the first node. The processor is configured to: determine whether the change to the partition data causes a change to a predetermined partition result of a set of predetermined partition results stored by the partition; and in response to a determination that the change to partition data affects the predetermined partition result stored by the partition: determine a new value for the predetermined partition result; store the new value; and provide an indication to a service node that the new value for the predetermined partition result has been determined, wherein the service node is selected by a client application system to manage execution of a task.