Bε-tree AMQ Node Splitting for Bandwidth Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Bε-tree data structures require increased memory and disk bandwidth as the buffer size grows, impacting query performance due to the need to load buffers into working memory to determine key/value pair residency.

Innovation Solution

Implementing an approximate membership query (AMQ) data structure within Bε-trees to efficiently query key/value pairs, allowing for the use of Bloom filters, quotient filters, or cuckoo filters, which approximate membership without false negatives, and proactively splitting or merging nodes to manage buffer size and reduce bandwidth requirements.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the buffer size at each non-leaf node is increased to improve write performance, then more key-value pairs can be cached, but the memory and disk bandwidth required to load the buffer increases proportionally

Engineering Contradiction:
Improvewrite performanceVSAvoidmemory bandwidth
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent extracts the membership query function from the full buffer data and implements it using a compact AMQ data structure (Bloom filter, quotient filter, or cuckoo filter). This allows the system to determine key presence without loading the entire buffer, thus reducing memory bandwidth requirements while maintaining the ability to cache multiple key-value pairs for improved write performance.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The AMQ data structure serves as an intermediary between the full buffer and the query operation. Instead of directly querying the complete buffer, the system uses the AMQ as a mediator to approximate membership queries, which then determines whether to load the full buffer or proceed with the operation, thereby reducing unnecessary data transfers.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If the buffer size is increased to improve query performance by caching more data, then more key-value pairs are available locally, but the time required to load the buffer into working memory increases

Engineering Contradiction:
Improvequery performanceVSAvoidbuffer loading time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent extracts only the necessary membership information into the AMQ data structure, which can be queried without loading the entire buffer. This allows the system to maintain query performance benefits of caching while eliminating the time penalty of loading large buffers into working memory.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The AMQ data structure is maintained as a preliminary approximation of buffer contents, allowing the system to make query decisions before fully loading the buffer. This preliminary action enables the system to avoid unnecessary loading operations while still providing accurate query results when needed.

Inventive Principle:
Principle #10Preliminary action

3Use of energy by moving object

If the AMQ data structure is used to approximate membership queries, then memory and disk bandwidth requirements are reduced, but false positive results may occur

Engineering Contradiction:
Improvememory bandwidthVSAvoidmembership query accuracy
Core Design Contradiction:
Use of energy by moving objectVSReliability

Solution Approach 1:

The patent employs AMQ data structures (Bloom filters, quotient filters, or cuckoo filters) that are computationally inexpensive and space-efficient, accepting that they may produce false positives but never false negatives. This approach prioritizes reducing memory bandwidth usage while maintaining sufficient reliability through the use of multiple hash functions and careful parameter selection.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

Data Source

PatentUS11720568B2Reduced bandwidth queries in B e-trees using approximate membership query data structures
Publication Date: 2023.08.08 VMWARE INC
  • US11720568B2 patent drawing
  • US11720568B2 patent drawing
  • US11720568B2 patent drawing

AI summary

Exemplary methods, apparatuses, and systems include a file system process reading a first node in a tree data structure from a first memory. The first node includes a first approximate membership query data structure (“AMQ”), a first plurality of child pointers, a first plurality of pivot values, and a first buffer. The file system process determines that the first plurality of child pointers exceeds a maximum size. Using a pivot value in the first plurality of pivot values, the file system process splits the first node into a second node and a third node. The file system process uses the pivot value to split the first buffer into a second buffer and a third buffer. Using the pivot value and the first AMQ, the file system process generates a second AMQ and a third AMQ.