Database Container Resource Cost Model Injection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In virtual computing environments, database containers face unpredictable performance due to varying cost models for resources like CPU, memory, and storage, leading to inefficient execution of web applications.
Innovation Solution
A host computing device generates database container instances by determining resource usage profiles and selecting customizable resource cost models, which include look-up tables or hash tables to optimize resource allocation for processing power, memory, storage, bandwidth, and latency, ensuring efficient hosting and execution of web applications.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If database containers are dynamically provisioned without predefined resource specifications, then deployment flexibility and adaptability are improved, but performance predictability deteriorates due to varying cost models
Solution Approach 1:
The system dynamically changes the cost model parameters based on the resource usage profile of each database container. By selecting different cost models (e.g., memory-optimized, storage-optimized, compute-optimized) that match the container's workload characteristics, the system maintains performance predictability while preserving deployment flexibility. This resolves the contradiction by adapting parameters rather than fixing them.
Solution Approach 2:
The system implements a feedback mechanism where the resource usage profile of the database container is analyzed and fed back into the cost model selection process. This feedback loop ensures that the appropriate cost model is applied based on actual workload characteristics, maintaining reliable performance predictions even in dynamically provisioned environments.
2Productivity
If customizable resource cost models are selected based on resource usage profiles, then resource allocation efficiency is improved, but system complexity increases
Solution Approach 1:
The system segments the cost model selection process into distinct components: resource usage profile analysis, cost model selection, and cost model injection. By dividing the system into these manageable segments, complexity is reduced while maintaining efficient resource allocation. Each segment can be independently optimized and maintained.
Solution Approach 2:
The system performs preliminary actions by pre-defining multiple cost models with different optimizations (memory-optimized, storage-optimized, compute-optimized) before runtime. During container provisioning, the appropriate pre-defined model is selected and injected based on the resource usage profile, avoiding the need to create complex models on-the-fly and reducing system complexity.
Data Source
AI summary
A method includes generating an instance on a host computing device in response to a request to host a web application on the host computing device, and determining a resource usage profile associated with the instance. The resource usage profile indicates one or more specific resources on the host computing device to be utilized to host the web application. The method further includes selecting one of a stored plurality of resource models based at least in part on the resource usage profile, and modifying the instance on the host computing device in accordance with the selected one of the stored plurality of resource models. The instance is modified to host the web application.


