Multi-pass Algorithm for High Cardinality Data Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Calculating accurate summary statistics for large data sets with high cardinality is inefficient due to the need to process every data point and require significant memory for intermediate computations, leading to exponential increases in processing and storage demands.

Innovation Solution

A method that divides the data processing into multiple phases using a hash function to assign identical data elements to the same phase, allowing for in-memory processing and rapid erasure of irrelevant intermediate results, and utilizes a grid-computing system to distribute and parallelize data processing, reducing memory usage and processing time.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If traditional methods process every data point in large high-cardinality data sets, then accurate summary statistics can be calculated, but processing time and memory usage increase exponentially

Engineering Contradiction:
Improveaccuracy of summary statisticsVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent divides the large high-cardinality data set into multiple partitions or buckets based on hash values of the data elements. Each partition contains a subset of the data, allowing parallel processing across multiple computing devices. This segmentation reduces the processing time for each individual partition while maintaining the accuracy of overall summary statistics through proper aggregation of results from all partitions.

Inventive Principle:
Principle #1Segmentation

2Measurement precision

If traditional methods process every data point in large high-cardinality data sets, then accurate summary statistics can be calculated, but memory usage for intermediate computations increases exponentially

Engineering Contradiction:
Improveaccuracy of summary statisticsVSAvoidmemory usage
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent segments the data into multiple partitions that can be processed independently in parallel. Each partition fits within the memory capacity of individual computing devices, avoiding the exponential memory growth that would occur if all data were processed simultaneously. The memory-efficient approach allows accurate summary statistics to be calculated by aggregating results from multiple smaller in-memory partitions.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces intermediate summary statistics from each partition as mediators that are aggregated to produce the final summary statistics. Instead of loading all raw data into memory, the system computes intermediate results for each partition and then combines these intermediates, significantly reducing peak memory usage while maintaining computational accuracy.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If a grid-computing system parallelizes data processing across multiple devices, then processing time is reduced, but system complexity increases

Engineering Contradiction:
Improveprocessing speedVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent divides the data processing task into independent partitions that can be assigned to different grid-computing devices. Each device processes its assigned partition independently using the same algorithm, which simplifies the coordination complexity. The segmented approach allows linear scaling of processing speed with the number of devices while keeping individual device logic relatively simple.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements a universal processing algorithm that can be executed identically across all grid-computing devices. Each device performs the same multi-pass algorithm on its local partition, making the system highly parallelizable. This universality reduces system complexity by eliminating the need for different processing logic on different devices, while still achieving high processing speeds through parallel execution.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS9529837B2Systems and methods involving a multi-pass algorithm for high cardinality data
Publication Date: 2016.12.27 SAS INSTITUTE INC
  • US9529837B2 patent drawing
  • US9529837B2 patent drawing
  • US9529837B2 patent drawing

AI summary

This disclosure describes methods, systems, computer-readable media, and apparatuses for calculating a summary statistic. Calculating the summary statistic can be performed by identifying multiple subsets of a set of variable observations and assigning the subsets to grid-computing devices such that no two of the subsets are assigned to a same one of the grid-computing devices. A parallel processing operation that involves multiple processing phases at each of the grid-computing devices is then coordinated. The parallel processing operation includes each of the grid-computing devices inventorying the respectively assigned subset and generating inventory information representative of the respectively assigned subset. Subsequently, the inventory information generated by the grid-computing devices is received, and a summary statistic is determined by synthesizing the received inventory information.