Dynamic Request Slicing for Key-Value Database Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Memcached systems face inefficiencies in processing data queries due to the lack of effective methods for managing requests to key-value databases, particularly under varying workloads and load intensities, leading to increased latency and performance degradation.

Innovation Solution

A method that dynamically splits or merges requests based on threshold numbers to optimize latency, where requests exceeding a first threshold are split into multiple requests and those below a second threshold are merged with previous or subsequent requests, submitted in parallel using threads for faster processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If requests with many keys are processed as single queries, then fewer total requests are submitted to the database, but query processing time increases and latency increases

Engineering Contradiction:
Improverequest processing throughputVSAvoidquery latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent divides large requests containing many keys into multiple smaller sub-requests. Each sub-request contains a subset of the original keys, allowing parallel processing and reducing the time each individual query takes to execute. The results are then aggregated to form the complete response, thus resolving the contradiction between processing throughput and query latency.

Inventive Principle:
Principle #1Segmentation

2Loss of time

If requests are split into multiple smaller queries, then query processing time decreases and latency is reduced, but the number of requests submitted to the database increases

Engineering Contradiction:
Improvequery latencyVSAvoidrequest processing throughput
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The patent combines multiple small requests into larger batches when the number of keys falls below a threshold. This merging operation reduces the total number of database round-trips required, improving overall throughput while maintaining low latency for individual queries. This resolves the contradiction by dynamically adjusting between splitting and merging based on request characteristics.

Inventive Principle:
Principle #5Merging (Combining)

3Device complexity

If small requests are processed individually, then processing overhead is minimized, but efficiency decreases due to inability to amortize constant overhead

Engineering Contradiction:
Improveprocessing overheadVSAvoidprocessing efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent merges multiple small requests into batches to amortize constant processing overhead across multiple operations. By combining requests that would otherwise be processed individually, the system reduces the relative impact of fixed overhead costs while maintaining low complexity in the processing logic through threshold-based decision making.

Inventive Principle:
Principle #5Merging (Combining)

4Productivity

If dynamic threshold-based splitting and merging is implemented, then query processing efficiency is optimized, but system complexity increases

Engineering Contradiction:
Improvequery processing efficiencyVSAvoidrequest management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent uses dynamic threshold parameters to control the splitting and merging behavior. By adjusting these thresholds based on system conditions and workload characteristics, the system optimizes processing efficiency without requiring complex decision logic. This resolves the contradiction by using simple parameter-based control rather than complex algorithms.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11314739B2Dynamically slicing datastore query sizes
Publication Date: 2022.04.26 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11314739B2 patent drawing
  • US11314739B2 patent drawing
  • US11314739B2 patent drawing

AI summary

The present disclosure relates to a method of managing requests to a key-value database. A non-limiting example of the method includes receiving a request that includes a number of keys. The number of keys can be compared with a first threshold number and second threshold number. If the number of keys exceeds the first threshold number, the request can be split. If the number of keys is smaller than the second threshold number, the request can be merged with at least one previous or subsequent request. Requests resulting from the splitting and merging steps can be submitted to the key-value database for further processing of the submitted requests.