Data-Parallel Computation UDF Analysis Framework

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data-shuffling stages in data-parallel computation processes are expensive due to unnecessary network and disk I/O operations, as existing technologies treat user-defined functions (UDFs) as 'black boxes', leading to inefficient data-partitioning and reorganization.

Innovation Solution

A program analysis framework is introduced to identify functional properties of UDFs, allowing for the optimization of data-partition properties and data-shuffling by treating UDFs as 'grey boxes', which exposes how data-partition properties propagate across phases, enabling the elimination or reduction of unnecessary data-shuffling steps.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If data-shuffling stages are introduced to achieve desirable data-partition properties, then data-partition properties are improved, but network and disk I/O operations increase

Engineering Contradiction:
Improvedata-partition propertiesVSAvoidnetwork and disk I/O operations
Core Design Contradiction:
Manufacturing precisionVSLoss of energy

Solution Approach 1:

The patent extracts and eliminates unnecessary data-shuffling stages from the computation pipeline by analyzing functional properties of UDFs. The optimization framework identifies when data-partition properties are already satisfied or can be preserved through UDF execution, removing redundant shuffling operations that waste network and disk I/O resources.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent performs preliminary analysis of UDF functional properties during the planning phase to predict how data-partition properties will propagate through computation stages. This advance knowledge allows the system to avoid introducing data-shuffling stages that would be unnecessary, preventing wasted I/O operations before they occur.

Inventive Principle:
Principle #10Preliminary action

2Device complexity

If UDFs are treated as black boxes, then functional analysis is simplified, but data-partition property propagation cannot be optimized

Engineering Contradiction:
Improvefunctional analysis complexityVSAvoiddata-shuffling optimization
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent applies local quality by analyzing specific functional properties of UDFs at relevant locations in the computation pipeline. Rather than requiring complete understanding of entire UDF implementations, the framework focuses on local properties such as whether UDFs preserve partitioning, sorting, or grouping characteristics, enabling targeted optimization without excessive complexity.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent changes the parameter representation of UDFs from opaque black-box functions to structured representations with annotated functional properties. This parameter transformation allows the optimization framework to reason about data-partition property propagation without requiring deep inspection of UDF implementations, balancing analysis capability with complexity management.

Inventive Principle:
Principle #35Parameter changes

3Shape

If data-shuffling stages are performed to re-organize data, then data organization is improved, but execution time increases

Engineering Contradiction:
Improvedata organizationVSAvoidexecution time
Core Design Contradiction:
ShapeVSLoss of time

Solution Approach 1:

The patent extracts and removes unnecessary data-shuffling stages from the execution plan by analyzing whether data-partition properties are already satisfied at each stage. When functional property analysis shows that UDFs preserve required organization properties, the corresponding shuffling stages are eliminated, reducing execution time without compromising data organization quality.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces dynamic optimization by adjusting the execution plan based on analyzed functional properties of UDFs. The system dynamically determines which data-shuffling stages are necessary and which can be skipped, adapting the data re-organization strategy to the actual behavior of UDFs rather than applying fixed shuffling operations.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9383982B2Data-parallel computation management
Publication Date: 2016.07.05 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9383982B2 patent drawing
  • US9383982B2 patent drawing
  • US9383982B2 patent drawing

AI summary

Data-parallel computation programs may be improved by, for example, determining the functional properties user defined functions (UDFs), eliminating unnecessary data-shuffling stages, and/or changing data-partition properties to cause desired data properties to appear after one or more user defined functions are applied.