Distributed Partitioned MapReduce Reduce Step Distribution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In cluster computing systems using the MapReduce paradigm, the master node acts as a bottleneck during the reduce step due to its exclusive execution, limiting the system's parallel processing capabilities.

Innovation Solution

A distributed partitioned MapReduce system is implemented, where the reduce step is distributed across multiple nodes, with a service node coordinating the execution of tasks and aggregating results from partition nodes, thereby balancing the load and minimizing the work for the service node.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If the reduce step is executed by a single master node, then the system structure is simple, but the master node becomes a bottleneck limiting processing speed

Engineering Contradiction:
Improvesystem structureVSAvoidprocessing speed
Core Design Contradiction:
Device complexityVSSpeed

Solution Approach 1:

The reduce step is segmented and distributed across multiple worker nodes instead of concentrating it at a single master node. Each worker node executes reduce operations on partitioned data subsets, transforming the monolithic reduce process into parallelized segments that eliminate the master node bottleneck while maintaining manageable system architecture through structured data partitioning

Inventive Principle:
Principle #1Segmentation

2Speed

If the reduce step is distributed across multiple nodes, then processing speed improves, but system complexity increases

Engineering Contradiction:
Improveprocessing speedVSAvoidsystem structure
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

Worker nodes are designed with multi-functionality, serving both as data storage locations and as reduce execution nodes. This universal design allows the same infrastructure to handle multiple roles, reducing the need for separate dedicated reduce nodes and thereby limiting the increase in system complexity while achieving parallel processing speed improvements

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

A coordinator node acts as an intermediary between data access and reduce execution. The coordinator manages task distribution and result aggregation without requiring direct peer-to-peer communication between all worker nodes, simplifying the coordination overhead of distributed reduce operations and making the increased parallelism manageable

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of operation

If a single master node executes the reduce step, then coordination is simple, but the master node creates a bottleneck in future operations

Engineering Contradiction:
ImprovecoordinationVSAvoidfuture cluster computing operations
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The system transitions from a static single-master coordination model to a dynamic distributed coordination model where worker nodes dynamically assume reduce responsibilities based on data partitioning. This dynamic assignment distributes coordination overhead across multiple nodes, preventing any single node from becoming a bottleneck in future operations while maintaining operational simplicity through automated task distribution

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11870840B2Distributed partitioned map reduce using a data fabric
Publication Date: 2024.01.09 WORKDAY INC
  • US11870840B2 patent drawing
  • US11870840B2 patent drawing
  • US11870840B2 patent drawing

AI summary

A system for a distributed partitioned map reduce includes a plurality of nodes, a plurality of partitions, and a service node. The one or more partitions of the plurality of partitions are stored on a first node of the plurality of nodes. The service node is configured to receive a task from a client application system. The client application system receives a request to perform the task from a requestor. The client application system selects a service node to manage execution of the task. The client application system provides the service node the task. The service node is configured to provide partition task logic to the plurality of partitions. The partition task logic includes a partition task map reduce. The service node is configured to receive partition results from the plurality of partitions, execute a service node reduce to determine a service node result, and provide the service node result.