Flowlet-Based Distributed Data Processing for MapReduce Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current high-performance computing systems lag behind the increasing size of data sets in terms of processing efficiency, particularly due to limitations in MapReduce techniques that lead to load imbalances and excessive disk usage.

Innovation Solution

The implementation of 'flowlets' in a distributed computing system, which utilize user-defined functions and flow control mechanisms to manage data processing, including throttling and state preservation, to improve data flow and reduce overheads through key/value pair aggregation and intra-node load balancing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If MapReduce techniques are used to process large data sets, then data processing capability is improved, but load imbalance and excessive disk usage occur

Engineering Contradiction:
Improvedata processing capabilityVSAvoidexcessive disk usage
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent segments the MapReduce workflow into flowlets (fine-grained units of work) that can be executed independently and asynchronously. This segmentation allows partial results to be computed and stored in memory before being aggregated, reducing the need for intermediate disk storage and improving overall processing efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary action by computing partial results in memory during the map phase before the reduce phase begins. Flowlets perform preliminary computations and store intermediate results in memory buffers, avoiding the need to write all intermediate data to disk as required by traditional MapReduce.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If MapReduce techniques are used to process large data sets, then data processing capability is improved, but load imbalance occurs

Engineering Contradiction:
Improvedata processing capabilityVSAvoidload balance
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent introduces dynamic load balancing through flowlet execution, where the system can dynamically allocate and execute flowlets across available compute nodes based on current system state. This dynamic approach allows the system to adapt to varying workloads and maintain balance, unlike the static task allocation in traditional MapReduce.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent implements feedback mechanisms where the system monitors flowlet execution progress and system state, then uses this information to dynamically adjust resource allocation and flowlet scheduling. This feedback loop enables automatic load balancing without manual intervention, resolving the load imbalance problem in traditional MapReduce systems.

Inventive Principle:
Principle #23Feedback

3Reliability

If traditional MapReduce is used, then data processing is achieved, but synchronization overhead and throughput are limited

Engineering Contradiction:
Improvedata processing correctnessVSAvoidthroughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent employs periodic action through checkpointing mechanisms where flowlets periodically save their state to persistent storage. This allows the system to recover from failures without losing significant progress, maintaining reliability while enabling more aggressive parallelization and asynchronous execution that improves throughput.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The patent achieves continuity of useful action by allowing multiple flowlets to execute concurrently and asynchronously rather than waiting for sequential completion. The system can continue processing new data while previous flowlets are still executing, eliminating idle time and improving overall throughput while maintaining correctness through proper state management.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS10044548B2Flowlet-based processing
Publication Date: 2018.08.07 JETFLOW TECH
  • US10044548B2 patent drawing
  • US10044548B2 patent drawing
  • US10044548B2 patent drawing

AI summary

A data processing task may be implemented in a distributed computing system by the use of a workflow broken into flowlets that are arranged in a directed acyclic graph between data sources and data sinks. Such an arrangement may include various flow control and/or fault tolerance schemes, among other features.