Data Compaction for Distributed Processing Bottlenecks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Customer relationship management (CRM) software faces inefficiencies in processing large data volumes, particularly due to the 'small files problem' caused by micro-batch processing, leading to performance degradation and increased I/O operations, which burdens memory utilization and hampers real-time data processing.

Innovation Solution

A mechanism for compacting data into customized file sizes using metadata analysis to optimize processing by distributed computing resources, balancing file size to prevent excessive execution time or unnecessary I/O overhead, allowing for parallel processing and efficient resource management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If micro-batch processing is used to handle data streams, then real-time data processing capability is improved, but the small files problem occurs leading to increased I/O operations and performance degradation

Engineering Contradiction:
Improvereal-time data processing capabilityVSAvoiddata processing performance
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The patent merges multiple small data files into larger consolidated files through a file management system that tracks file sizes and combines files below a threshold size. This reduces the total number of files and I/O operations while preserving real-time processing capabilities through selective merging operations.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system dynamically adjusts file size parameters by monitoring file growth and triggering merge operations when files exceed or fall below predetermined size thresholds. This parameter-based control optimizes the balance between file count and file size to improve processing performance.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If file size is increased to reduce I/O operations, then data processing performance is improved, but memory utilization becomes burdened

Engineering Contradiction:
Improvedata processing performanceVSAvoidmemory utilization
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent implements dynamic file size management where the system continuously monitors file sizes and adapts merging operations based on current conditions. Files are merged dynamically when size thresholds are reached, creating an optimal balance between file size for performance and manageable sizes for memory usage.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The data storage is segmented into multiple files with controlled size ranges rather than single large files. The system maintains a distribution of file sizes within optimal ranges, preventing both the small files problem and excessive memory burden from single large files.

Inventive Principle:
Principle #1Segmentation

3Reliability

If more I/O operations are performed to handle small files, then data access completeness is improved, but system resource consumption increases

Engineering Contradiction:
Improvedata access completenessVSAvoidsystem resource consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

By merging small files into larger consolidated files, the system reduces the total number of I/O operations required to access the same data volume. The merge operation preserves data completeness while reducing the frequency of I/O calls to the storage system.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS11061734B2Performing customized data compaction for efficient parallel data processing amongst a set of computing resources
Publication Date: 2021.07.13 SALESFORCE INC
  • US11061734B2 patent drawing
  • US11061734B2 patent drawing
  • US11061734B2 patent drawing

AI summary

Described is a system and method for compacting data into customized (e.g. optimal) file sizes for processing by computing resources. The mechanism may leverage various computing resources such as a cluster computing frameworks combined with a stream processing platform to efficiently process the activity data. For example, activity data of an organization may be processed by a set of jobs (or sub-jobs) as part of a data stream by a set of distributed computing resources. In order to efficiently process such data, the mechanism may compact the data into customized (e.g. optimal) file sizes. For example, the customized file sizes may provide an optimal (or near optimal) amount of data to be processed by each job, for example, to improve performance.