Dynamic Partitioning for Data Skew in Distributed Computing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional MapReduce frameworks face performance barriers due to data skew, leading to uneven workload distribution and prolonged processing times in distributed computing environments, as some computer resources handle a larger workload than others.

Innovation Solution

Dynamic partitioning of keys based on frequency counters, using a sketch to estimate key frequencies and partitioning when the count exceeds a predetermined threshold, both locally and globally, to balance the workload across computing resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data sets are partitioned into blocks using keys in MapReduce framework, then parallel processing is achieved and processing time is reduced, but data skew causes non-uniform workload distribution and some resources require longer processing time

Engineering Contradiction:
Improveprocessing speedVSAvoidprocessing time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent implements dynamic partitioning where the partitioning strategy is not fixed but adapts based on observed data characteristics. Frequency counters track key occurrence patterns, and partitioning decisions are adjusted dynamically based on these observations, allowing the system to respond to data skew conditions in real-time and balance workload across resources

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the partitioning parameter (key assignment) based on frequency information. By monitoring how often keys appear and adjusting partition assignments accordingly, the system transforms the static partitioning approach into one that adapts to the actual data distribution, preventing any single resource from being overloaded with high-frequency keys

Inventive Principle:
Principle #35Parameter changes

2Ease of operation

If typical partitioning is used in MapReduce, then parallelization benefits are achieved, but data skew causes some computer resources to receive larger workload and require longer processing time

Engineering Contradiction:
Improveparallelization efficiencyVSAvoidworkload distribution uniformity
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent employs feedback mechanisms through frequency counters that continuously monitor key distribution patterns. This feedback information is used to adjust partitioning decisions, creating a closed-loop control system that maintains uniform workload distribution across resources by responding to actual data skew conditions rather than relying on static assumptions

Inventive Principle:
Principle #23Feedback

3Productivity

If frequency counters are maintained to detect data skew, then workload distribution can be balanced, but additional computational overhead is introduced for tracking and processing frequency information

Engineering Contradiction:
Improveworkload distribution efficiencyVSAvoidcomputational overhead
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system applies partial action by focusing frequency counting only on keys that are relevant to partitioning decisions and by using thresholds to determine when frequency information warrants partitioning adjustments. This selective approach avoids the overhead of tracking all possible keys while still achieving effective workload balancing for the critical subset

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10162830B2Systems and methods for dynamic partitioning in distributed environments
Publication Date: 2018.12.25 YAHOO ASSETS LLC
  • US10162830B2 patent drawing
  • US10162830B2 patent drawing
  • US10162830B2 patent drawing

AI summary

Methods, systems, and computer-readable media are disclosed for dynamic partitioning in distributed computing environments. One method includes: receiving a first data set and a second data set; mapping the first data set into a first set of key-value pairs; mapping the second data set into a second set of key-value pairs; estimating, using a sketch, a frequency count for each key based on the first set of key-value pairs and the second set of key-value pairs; determining whether the estimated frequency count for each key is greater than or equal to a predetermined threshold; and partitioning the key when the estimated frequency count for the key is greater than or equal to the predetermined threshold.