Execution Node Rationing for Data Store Fairness
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional data store systems face challenges in ensuring fairness during oversubscription, where a particular customer account or data store size may consume a large fraction of available execution nodes, leading to inefficiencies and increased latency.
Innovation Solution
A resource manager is implemented to identify and allocate available execution nodes based on an execution node rationing procedure that accounts for customer account characteristics and pool size, preventing oversubscription and ensuring fair resource distribution.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If conventional data store systems process queries in scan order without rationing, then processing speed is maintained, but fairness deteriorates as particular customer accounts consume large fractions of available execution nodes
Solution Approach 1:
The patent segments the query processing into multiple iterations, where in each iteration only a subset of queries is processed. This segmentation prevents any single account from consuming all execution nodes in one go, thereby ensuring fairness while maintaining overall processing speed through multi-pass handling of the query queue.
Solution Approach 2:
The system implements periodic action by processing queries in repeated iterations rather than a single scan. Each iteration processes a portion of the queue and then pauses, allowing other accounts to get processing turns. This periodic processing pattern ensures fair resource distribution while maintaining productivity through continuous multi-iteration processing.
2Productivity
If execution nodes are allocated without considering account characteristics, then allocation speed is fast, but system efficiency deteriorates due to oversubscription and latency
Solution Approach 1:
The patent applies preliminary action by pre-calculating and storing account characteristics (such as historical resource usage patterns) before the allocation process begins. This pre-computed information is then used during query processing to make informed allocation decisions, preventing oversubscription and reducing latency without significantly slowing down the allocation speed.
Solution Approach 2:
The system implements feedback mechanisms by monitoring account characteristics and resource consumption patterns, then using this feedback information to adjust future allocation decisions. This feedback loop allows the system to learn from past behavior and make more efficient allocations, reducing latency and preventing oversubscription while maintaining high allocation speed.
Data Source
AI summary
A system and method of execution node provisioning of a data store with fairness during oversubscription. The method includes scanning, during a first iteration, a queue to identify a first batch of processing requests associated with a plurality of accounts. The method includes determining a total count of demanded execution nodes to satisfy the first batch of processing requests. The method includes determining, based on the total count of demanded execution nodes, an inability for a pool of available execution nodes of a data store to satisfy the first batch of processing requests. The method includes allocating, by a processing device, the first batch of processing requests to the pool of available execution nodes according to a rationing procedure to reduce a latency time associated with processing the first batch of processing requests.


