Map Reduce Cross Product Generation via Key-Based Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Generating cross products from large datasets using the map reduce framework is inefficient, consuming significant computational, memory, and storage resources, and is impractical due to the generation of a single large cross product dataset, which can lead to skewed data processing and idle resources.

Innovation Solution

The approach involves generating multiple cross products based on a join field, where key-value pairs with identical keys are grouped and processed separately, controlling the number of key-value pairs sent to reducers to distribute computational load efficiently, thereby reducing resource consumption and improving processing speed.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a single large cross product dataset is generated from large datasets using map reduce framework, then the complete cross product is obtained, but computational resources, memory resources, and storage resources are consumed significantly

Engineering Contradiction:
Improvecompleteness of cross productVSAvoidcomputational resource consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent divides the large dataset into multiple subsets based on a join field (e.g., geographic region, time period, or category). Each subset is processed separately to generate multiple smaller cross products instead of one large cross product. This segmentation reduces memory requirements and computational overhead while maintaining the ability to obtain complete cross product results by combining the subsets.

Inventive Principle:
Principle #1Segmentation

2Reliability

If a single large cross product dataset is generated, then the complete cross product is obtained, but the processing speed is slow due to skewed data processing and idle resources

Engineering Contradiction:
Improvecompleteness of cross productVSAvoidprocessing speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

By segmenting the data into multiple subsets and processing them in parallel across different map reduce jobs, the system utilizes all available computational resources efficiently. Each subset is processed independently, eliminating data skew issues where some reducers would be overloaded while others remain idle. The overall processing speed increases while maintaining complete cross product results.

Inventive Principle:
Principle #1Segmentation

3Productivity

If multiple cross products are generated based on join field with grouped key-value pairs, then resource consumption is reduced and processing speed is improved, but the complexity of data distribution and load balancing increases

Engineering Contradiction:
Improveprocessing efficiencyVSAvoiddata distribution complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system automatically performs load balancing by having the map phase dynamically distribute key-value pairs to reducers based on the join field values. Each reducer processes only the subsets of data relevant to its assigned join field values, eliminating the need for manual load balancing configuration. This self-service approach simplifies the overall system complexity while maintaining high processing efficiency.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS12182127B2Computing cross products using map reduce
Publication Date: 2024.12.31 ROBLOX CORP
  • US12182127B2 patent drawing
  • US12182127B2 patent drawing
  • US12182127B2 patent drawing

AI summary

A request to perform a set of map reduce jobs that generate a plurality of cross products from a dataset based on a join field is received. The join field indicates that each of the plurality of cross products is to be generated from a corresponding subset of the dataset. Responsive to receiving the request to perform the set of map reduce jobs, the set of map reduce jobs on the dataset to generate the plurality of cross products is performed. The final output data of the set of map reduce jobs is stored. The final output data comprises the plurality of cross products.