MapReduce Shuffler Pipeline Policy for Shuffle-Ahead Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

MapReduce processes face performance issues due to shufflers passively responding to fetch requests from reducers, leading to slower data retrieval from disk and inefficient use of scheduling information, particularly when intermediate results are flushed from memory.

Innovation Solution

Implementing a pipeline policy that prioritizes keeping map task outputs in memory and using 'shuffle-ahead' to proactively move data to nodes where reduce tasks will be executed, reducing the need for disk access and optimizing data transfer within the distributed computing grid.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If shufflers passively respond to fetch requests from reducers, then system simplicity is maintained, but data retrieval speed deteriorates due to disk access delays

Engineering Contradiction:
Improvesystem simplicityVSAvoiddata retrieval speed
Core Design Contradiction:
Ease of operationVSSpeed

Solution Approach 1:

The shuffler proactively transmits intermediate results to reducers before the reducers request them, based on predicted timing and scheduling information. This preliminary action ensures data is already in memory when needed, eliminating disk access delays while maintaining system simplicity through automated prediction-based transmission

Inventive Principle:
Principle #10Preliminary action

2Quantity of substance

If intermediate results are written to disk to free memory, then memory capacity is preserved, but processing performance deteriorates due to slower disk access

Engineering Contradiction:
Improvememory capacityVSAvoidprocessing performance
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The system predicts when intermediate results will be needed by reducers and proactively keeps them in memory during that predicted time window. By using scheduling information to anticipate future access patterns, the system maintains data in memory just-in-time, preserving both memory capacity utilization and processing performance without requiring premature disk writes

Inventive Principle:
Principle #10Preliminary action

3Speed

If more memory is allocated to hold intermediate results, then data access speed improves, but memory resource utilization deteriorates due to wasted capacity

Engineering Contradiction:
Improvedata access speedVSAvoidmemory resource utilization
Core Design Contradiction:
SpeedVSLoss of energy

Solution Approach 1:

The shuffler dynamically adjusts which intermediate results remain in memory based on real-time predictions of when reducers will need them. Using scheduling information, the system continuously optimizes memory allocation by keeping only the necessary data in memory at any given time, achieving fast access speeds while maximizing memory resource utilization through adaptive, time-based management

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9389995B2Optimization of Map-Reduce shuffle performance through snuffler I/O pipeline actions and planning
Publication Date: 2016.07.12 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US9389995B2 patent drawing
  • US9389995B2 patent drawing
  • US9389995B2 patent drawing

AI summary

A shuffler receives information associated with partition segments of map task outputs and a pipeline policy for a job running on a computing device. The shuffler transmits to an operating system of the computing device a request to lock partition segments of the map task outputs and transmits an advisement to keep or load partition segments of map task outputs in the memory of the computing device. The shuffler creates a pipeline based on the pipeline policy, wherein the pipeline includes partition segments locked in the memory and partition segments advised to keep or load in the memory, of the computing device for the job, and the shuffler selects the partition segments locked in the memory, followed by partition segments advised to keep or load in the memory, as a preferential order of partition segments to shuffle.