Working Set Ratio Estimations for Dynamic Database Resource Scaling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Managed relational database services face challenges in scaling processing capacity to match workload demands, leading to costly disruptions and inefficiencies due to dropped connections and resource misallocation.

Innovation Solution

Implementing working set ratio estimations in a sliding time window to dynamically allocate computing resources, using techniques like HyperLogLog and fixed-size arrays to optimize buffer cache storage and processing capacity, thereby enabling real-time adjustment of resource allocation to match workload fluctuations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If computing resources are increased to match workload demands, then application performance and reliability are improved, but resource allocation cost and complexity increase

Engineering Contradiction:
Improveapplication continuityVSAvoidresource allocation management
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system automatically monitors working set ratios and triggers scaling events without manual intervention. The database service self-manages resource allocation by detecting when working set ratios indicate need for scaling and automatically provisioning additional computing resources, eliminating the need for complex manual resource management while maintaining high reliability.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system continuously monitors working set ratios as feedback metrics and uses this information to dynamically adjust resource allocation. When working set ratios fall outside acceptable thresholds, the system receives feedback and automatically triggers scaling events to restore optimal performance, creating a closed-loop control system that simplifies resource management while ensuring application reliability.

Inventive Principle:
Principle #23Feedback

2Ease of manufacture

If computing resources are statically allocated, then resource allocation simplicity is improved, but ability to match workload fluctuations deteriorates

Engineering Contradiction:
Improveresource allocation simplicityVSAvoidworkload matching capability
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

Solution Approach 1:

The system transitions from static to dynamic resource allocation by continuously monitoring working set ratios and automatically triggering scaling events when thresholds are breached. This dynamic approach maintains simplicity for users who don't need to manage resources manually while enabling automatic adaptation to workload fluctuations through real-time monitoring and automated scaling.

Inventive Principle:
Principle #15Dynamics

3Productivity

If computing resources are over-provisioned to ensure performance, then application performance is improved, but resource allocation cost increases

Engineering Contradiction:
Improveapplication performanceVSAvoidresource allocation cost
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The system uses working set ratio monitoring as feedback to determine when scaling is actually needed, preventing over-provisioning. Resources are allocated based on real-time workload characteristics rather than static over-provisioning, maintaining high application performance while reducing waste by only provisioning resources when the working set ratio indicates genuine need.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11947568B1Working set ratio estimations of data items in a sliding time window for dynamically allocating computing resources for the data items
Publication Date: 2024.04.02 AMAZON TECH INC
  • US11947568B1 patent drawing
  • US11947568B1 patent drawing
  • US11947568B1 patent drawing

AI summary

Working set ratio estimations of data items in a sliding time window are determined to dynamically allocate storage for the data items. A working set ratio may be determined by accessing a fixed-size array that stores respective timestamps of last accesses of data items to determine which data items are useful to determine an estimate of a working set for the application within a range of time. The working set ratio is then determined from an estimated working set and an amount of computing resources allocated to the application by the estimated working set. The amount of the computing resources allocated to the application may then be automatically scaled according to the determine working set ratio.