Partitioned Data Reduction for Memory-Efficient Hash Table Resizing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data reduction methods in relational database management and cloud computing face challenges with hash table resizing, resource estimation, and memory usage, particularly when dealing with large datasets and resource constraints.

Innovation Solution

A method for partitioned data reduction that forms groups of records based on common characteristics, performs intra-group and inter-group data reduction, and allocates resources efficiently through aggregation and spilling to secondary storage, ensuring effective resource management and reduced memory usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If the hash table size is increased to avoid resizing, then resizing expense is reduced, but memory usage increases occupying memory needed for other operations

Engineering Contradiction:
Improveresizing expenseVSAvoidmemory usage
Core Design Contradiction:
Loss of timeVSQuantity of substance

Solution Approach 1:

The hash table size is made dynamic rather than static. The system continuously monitors the fill factor and automatically resizes the hash table when the fill factor exceeds the threshold. This dynamic adjustment allows the system to adapt to changing data volumes, reducing resizing expense by only resizing when necessary while avoiding permanent over-allocation of memory.

Inventive Principle:
Principle #15Dynamics

2Quantity of substance

If the hash table size is decreased to save memory, then memory availability for other operations increases, but resizing expense increases when the table needs to be enlarged

Engineering Contradiction:
Improvememory availabilityVSAvoidresizing expense
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The system performs preliminary sizing by estimating the final data volume using sampling techniques before fully allocating hash table resources. By predicting the required hash table size in advance, the system can allocate memory more accurately, reducing the need for subsequent enlargements and associated resizing expenses while still maintaining memory efficiency.

Inventive Principle:
Principle #10Preliminary action

3Quantity of substance

If hash table resizing is performed frequently, then memory utilization is optimized, but synchronization complexity and processing overhead increase

Engineering Contradiction:
Improvememory utilizationVSAvoidsynchronization complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The resizing operation is merged with the natural data insertion process. When the fill factor threshold is exceeded, the system performs a single coordinated resize operation that handles both the expansion and rehashing of existing elements in one unified process. This approach optimizes memory utilization while minimizing synchronization complexity by avoiding multiple separate resize operations.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS11250001B2Accurate partition sizing for memory efficient reduction operations
Publication Date: 2022.02.15 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11250001B2 patent drawing
  • US11250001B2 patent drawing
  • US11250001B2 patent drawing

AI summary

Embodiments of the invention relate to processing data records, and for a multi-phase partitioned data reduction. The first phase relates to processing data records and partitioning the records into a first partition of records having a common characteristic and a second partition of records that are not members of the first partition. The data records in each partition are subject to intra-partition data reduction responsive to a resource constraint. The data records in each partition are also subject to an inter-partition data reduction, also referred to as an aggregation to reduce a footprint for storing the records. Partitions and/or individual records are logically aggregated and a data reduction operation for the logical aggregation of records takes place in response to available resources.