Cloud Memory Sizing via Dynamic Footprint Analysis
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current cloud computing systems face inefficiencies in allocating memory resources to database servers, leading to performance degradation due to either insufficient or excessive resource allocation, resulting in wasted resources and increased costs.
Innovation Solution
A memory footprint-based customer sizing engine that periodically measures database server usage, calculates ratios, and determines optimal memory allocation using a lookup table, allowing for automated re-provisioning to ensure precise allocation of RAM resources.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If memory resources are allocated to database servers in cloud computing systems, then the servers can operate, but inefficient allocation leads to performance degradation and wasted resources
Solution Approach 1:
The system dynamically changes memory allocation parameters based on measured database server usage patterns. The customer sizing engine monitors actual memory consumption and adjusts the allocated memory size accordingly, transforming static allocation into dynamic adaptation to resolve the contradiction between ensuring sufficient resources and avoiding waste.
Solution Approach 2:
The database server instance automatically reports its own memory usage metrics to the customer sizing engine, which then determines optimal allocation. This self-service mechanism eliminates the need for manual intervention while enabling continuous optimization of memory resources based on actual usage patterns.
2Loss of energy
If insufficient memory is allocated to database servers, then resource waste is reduced, but performance degradation occurs
Solution Approach 1:
The system implements a feedback loop where the customer sizing engine continuously monitors database server performance metrics and memory usage. Based on this feedback, the engine recalculates optimal memory allocation and triggers re-provisioning actions to maintain performance while optimizing resource efficiency.
Solution Approach 2:
The memory allocation transitions from a static configuration to a dynamic system that adapts to changing workload conditions. The customer sizing engine enables real-time adjustments to memory allocation based on actual usage patterns, ensuring performance requirements are met while avoiding over-provisioning.
3Reliability
If excessive memory is allocated to database servers, then performance is maintained, but resource waste and costs increase
Solution Approach 1:
Instead of allocating excessive memory to all database servers uniformly, the system applies partial optimization by identifying and adjusting only those instances where memory over-allocation occurs. The customer sizing engine analyzes individual server usage patterns and applies targeted memory adjustments, achieving resource efficiency without compromising the performance of servers that require higher allocation.
4Device complexity
If manual memory allocation methods are used, then system complexity is low, but allocation precision and automation are insufficient
Solution Approach 1:
The customer sizing engine acts as an intermediary component between the database server instances and the cloud infrastructure management system. This mediator automatically collects usage metrics, calculates optimal memory allocation, and triggers re-provisioning actions, adding measurement precision and automation while maintaining manageable system complexity through a dedicated specialized component.
Data Source
AI summary
Systems, apparatuses, and methods for cloud memory sizing are disclosed. An initial database memory allocation is determined for the provisioning of a database server instance. Periodically, sizes of key database tables of the database server instance are measured and an upper and a lower bound ratio are determined based on the key database table sizes and a buffer pool size. The upper and lower bound ratios are used to determine a desired memory allocation from which a report is generated including an interface for generating an instance move action for re-provisioning the database server instance with the desired memory allocation.


