OLTP Throttling via Staggered Thread Delays
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
On-line transactional processing (OLTP) systems with non-relational databases face inefficiencies due to throttling processes that limit data processing rates, leading to dropped storage requests when exceeding throughput limits, which reduces overall system efficiency.
Innovation Solution
Implementing a technique where OLTP systems divide tasks into threads based on throughput and transaction time limits, distributing processing delays across these threads to manage and process tasks efficiently within the specified limits, thereby maintaining throughput without exceeding transaction processing time.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the OLTP system increases the data processing rate to improve throughput, then the system throughput is improved, but the transaction processing time limit is exceeded
Solution Approach 1:
The patent segments the transaction processing into multiple batches, where each batch is processed separately within the throttling window. This allows the system to maintain high throughput by processing multiple batches sequentially, while each individual batch respects the transaction processing time limit. The segmentation of processing workload resolves the contradiction between overall throughput and individual transaction timing constraints.
Solution Approach 2:
The patent implements periodic processing cycles with defined throttling windows and inter-window delays. Within each throttling window, the system processes data at maximum throughput rate, then pauses for a specified delay period. This periodic action pattern allows the system to achieve high average throughput while ensuring that no single transaction processing exceeds the time limit, as processing is reset with each new window cycle.
2Loss of time
If the throttling process limits the processing rate to maintain transaction time limits, then the transaction processing time limit is maintained, but the system throughput is reduced
Solution Approach 1:
The patent eliminates idle retry periods by implementing continuous processing across multiple throttling windows. Instead of stopping processing when the throttling limit is reached and waiting for retries, the system continuously submits new batches in subsequent windows without interruption. This continuous useful action maximizes throughput while maintaining compliance with transaction time limits through the structured window-delay pattern.
Solution Approach 2:
The patent transforms the throttling constraint from a throughput-reducing limitation into a rhythmic processing pattern. By organizing processing into periodic windows with predictable delays, the system achieves consistent throughput that respects time limits while avoiding the inefficiency of random retries. The periodic structure converts what would be wasted idle time into a predictable, manageable processing rhythm.
3Productivity
If the system stores large amounts of data at a rate greater than the database can complete operations, then the data storage rate is improved, but storage requests are dropped
Solution Approach 1:
The patent segments the large data storage operation into multiple smaller batches, each submitted within a throttling window. This segmentation ensures that no single storage request exceeds the database's processing capacity, preventing request drops while maintaining high overall storage rates. Each batch is independently processed and acknowledged, ensuring reliable completion while achieving bulk storage efficiency.
Solution Approach 2:
The patent prepares and structures data into batches before submission, organizing the data in advance to optimize throughput. By pre-processing and batching data before encountering the throttling constraint, the system maximizes the utilization of available throughput capacity while ensuring that each batch is ready for immediate processing, thereby maintaining both high storage rates and reliable completion.
Data Source
AI summary
A method for controlling transactional processing system having transactions that include multiple tasks, a throughput limit a transaction processing time limit includes allocating a plurality of threads to be used by multiple tasks to achieve a throughput approximating the throughput limit. The method assigns the multiple tasks to the plurality of threads and assigns respectively different processing delays to the plurality of threads. The processing delays span an interval less than the transaction processing time limit. The method processes the multiple tasks within the transaction processing time limit by executing the plurality of threads at times determined by the respective processing delays.


