Data Parallel System Order Preservation via Ordinal Indexing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data parallel systems face challenges in preserving the original order of elements during parallel execution, as partitioning can lead to non-contiguous subsets and loss of ordering information, resulting in incorrect output sequences unless explicit index tracking and reordering are implemented.

Innovation Solution

Assigning ordinal order indices to input sequence elements during partitioning, tracking these indices throughout parallel execution, and performing reordering as necessary to ensure correct ordering, especially for query operators that rely on position-based operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data is partitioned into disjoint subsets for parallel processing, then processing speed and parallelism are improved, but original ordering information is lost and output sequences become incorrect

Engineering Contradiction:
Improveprocessing speedVSAvoidorder preservation accuracy
Core Design Contradiction:
ProductivityVSManufacturing precision

Solution Approach 1:

The patent applies preliminary action by assigning ordinal indices to data elements before partitioning occurs. This pre-assignment of position information allows the system to track and preserve original ordering throughout parallel processing operations, enabling correct reordering after partitioning without sacrificing parallelism benefits

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary mechanism (ordinal index tracking system) that mediates between the partitioning operation and the final output. This intermediary maintains position information across partition boundaries, allowing disparate partitions to be correctly merged while preserving original sequence order

Inventive Principle:
Principle #24Intermediary (Mediator)

2Manufacturing precision

If index tracking and reordering are implemented to preserve order, then output sequence correctness is improved, but system complexity increases

Engineering Contradiction:
Improveorder preservation accuracyVSAvoidsystem complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The patent segments the ordering preservation problem into manageable components: (1) initial index assignment, (2) index tracking during partitioning, and (3) conditional reordering based on query type. This segmentation allows the system to handle order preservation in discrete, manageable steps rather than as a monolithic complex operation

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by making reordering operations selective rather than universal. The system determines whether reordering is needed based on the specific query type, applying index tracking and reordering only where necessary rather than to all operations, thereby reducing unnecessary complexity

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS8290917B2Reordering of data elements in a data parallel system
Publication Date: 2012.10.16 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8290917B2 patent drawing
  • US8290917B2 patent drawing
  • US8290917B2 patent drawing

AI summary

A query that identifies an input data source is received. The input data source is partitioned into a plurality of partitions. Each of the partitions includes a set of data elements with an associated set of indices for indicating an ordering of the data elements. A query type for a query operator in the received query is identified. It is determined whether a reordering of data elements will be performed based on the identified query type. The data elements in at least one of the partitions are reordered when it is determined based on the identified query type that reordering will be performed.