Repartitioning Optimizer for Distributed Data Partitioning

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In massively distributed computation, data repartitioning introduces significant delays due to network communication and inefficient input/output operations, particularly with traditional magnetic storage media.

Innovation Solution

A repartitioning optimizer identifies and selects optimal strategies based on processing, local I/O, and network transfer utilization, and assigns repartitioning indices to data elements for sequential storage, reducing randomized input/output operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If data is redistributed among computing devices for subsequent tasks, then data accessibility for new tasks is improved, but network communication time increases

Engineering Contradiction:
Improvedata accessibilityVSAvoidnetwork communication time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The system performs preliminary partitioning of data at each computing device before redistribution is needed. By pre-organizing data into partitions that can be efficiently transferred, the system reduces the time required for actual data redistribution when subsequent tasks require different data subsets.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent divides data into discrete partitions at each computing device, allowing selective transfer of only necessary partitions rather than redistributing entire datasets. This segmentation enables efficient data redistribution by transferring only the required portions to relevant computing devices.

Inventive Principle:
Principle #1Segmentation

2Productivity

If data is partitioned locally at each computing device, then processing efficiency is improved, but input/output operations become randomized and inefficient

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidinput/output time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system performs preliminary sorting of data partitions at each computing device before transfer. By pre-organizing data in sorted order, the system converts randomized I/O operations into sequential I/O operations, which are significantly more efficient for magnetic storage media and reduces the time required for data partitioning and transfer.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent changes the organizational parameter of data from unsorted/random to sorted/sequential. This parameter change transforms the nature of I/O operations from inefficient randomized access to efficient sequential access, directly addressing the performance issue with traditional magnetic storage media.

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If large amounts of data are transferred over the network, then data redistribution is achieved, but transfer time becomes substantial compared to processing time

Engineering Contradiction:
Improvedata redistribution capabilityVSAvoiddata transfer time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The system extracts and transfers only the necessary data partitions required for subsequent tasks, rather than transferring entire datasets. This selective extraction minimizes the volume of data transferred over the network while still achieving the required data redistribution for task execution.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system performs preliminary identification of which data partitions are needed for subsequent tasks before initiating transfer. This preliminary action allows the system to prepare transfer lists and optimize network utilization by transferring only essential data, reducing overall transfer time.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8996464B2Efficient partitioning techniques for massively distributed computation
Publication Date: 2015.03.31 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8996464B2 patent drawing
  • US8996464B2 patent drawing
  • US8996464B2 patent drawing

AI summary

A repartitioning optimizer identifies alternative repartitioning strategies and selects optimal ones, accounting for network transfer utilization and partition sizes in addition to traditional metrics. If prior partitioning was hash-based, the repartitioning optimizer can determine whether a hash-based repartitioning can result in not every computing device providing data to every other computing device. If prior partitioning was range-based, the repartitioning optimizer can determine whether a range-based repartitioning can generate similarly sized output partitions while aligning input and output partition boundaries, increasing the number of computing devices that do not provide data to every other computing device. Individual computing devices, as they are performing a repartitioning, assign a repartitioning index to each individual data element, which represents the computing device to which such a data element is destined. The indexed data is sorted by such repartitioning indices, thereby grouping together all like data, and then stored in a sequential manner.