Auto-scaling Memory-Intensive Applications via Miss Ratio Curves

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current cloud infrastructure scaling techniques require pre-specified resource thresholds, leading to inefficient resource allocation and increased costs due to over-provisioning or poor user experiences from under-provisioning, especially for memory-intensive applications where small changes in memory availability cause significant performance degradation.

Innovation Solution

The system generates a miss ratio curve (MRC) based on application runtime statistics, models it as a hyperbola, and identifies a natural threshold to dynamically scale resources without pre-specified thresholds, using cloud functions as interim resources until new VMs are ready, thereby adapting to fluctuating workloads.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If pre-specified resource thresholds are used for scaling, then resource allocation is simplified and easier to manage, but resource allocation efficiency deteriorates due to over-provisioning or under-provisioning

Engineering Contradiction:
Improveresource allocation managementVSAvoidresource allocation efficiency
Core Design Contradiction:
Ease of operationVSLoss of energy

Solution Approach 1:

The system continuously monitors application performance metrics (page fault rates, memory access patterns) and uses this feedback to dynamically adjust resource allocation. The MRC analysis provides real-time feedback loops that automatically scale resources based on actual workload demands rather than static thresholds, resolving the contradiction between ease of management and allocation efficiency.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent transitions from static pre-specified thresholds to dynamic adaptive thresholds. The system continuously analyzes miss ratio curves and adjusts resource allocation thresholds in real-time based on changing workload characteristics. This dynamic approach allows the system to adapt to fluctuating demands while maintaining simple automated management, simultaneously improving both ease of operation and resource efficiency.

Inventive Principle:
Principle #15Dynamics

2Measurement precision

If manual prediction of workload is performed continuously, then resource allocation accuracy is improved, but time consumption and operational burden increase significantly

Engineering Contradiction:
Improveworkload prediction accuracyVSAvoidprediction time consumption
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system performs preliminary MRC analysis during initial application execution to establish baseline resource allocation thresholds. This preliminary action captures workload characteristics without requiring continuous manual prediction, reducing subsequent time consumption while maintaining accurate resource allocation based on pre-analyzed application behavior patterns.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system enables applications to self-analyze their own memory access patterns and generate MRCs autonomously without external manual intervention. The automated MRC generation and threshold adjustment mechanisms allow the system to continuously adapt resource allocation with high accuracy while minimizing operational burden and time consumption through self-service capabilities.

Inventive Principle:
Principle #25Self-service

3Productivity

If physical memory is increased to prevent page faults, then application performance is improved, but resource costs and waste increase

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

Solution Approach 1:

The system dynamically changes memory allocation parameters based on MRC analysis. Instead of statically increasing physical memory to eliminate page faults, the system adjusts memory allocation thresholds and scaling parameters in real-time based on actual workload demands. This allows the system to maintain high application performance while optimizing resource costs by allocating memory only when and where needed.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent introduces cloud functions as intermediary resources between application logic and physical memory. These intermediary functions handle memory-intensive operations on-demand, allowing the system to maintain low physical memory allocations while still achieving high application performance. The intermediary layer abstracts away the need for large physical memory allocations, reducing resource costs while maintaining productivity.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Adaptability or versatility

If cloud functions are used as interim resources, then resource scalability is improved, but system complexity increases

Engineering Contradiction:
Improveresource scalabilityVSAvoidsystem architecture complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system uses cloud functions as multi-functional intermediaries that can dynamically serve multiple purposes: handling memory-intensive operations, providing temporary resource capacity, and enabling rapid scaling. This universal approach to cloud functions simplifies the overall system architecture by using a single versatile mechanism for multiple scaling scenarios, reducing complexity while maintaining high adaptability and scalability.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS11307895B2Auto-scaling cloud-based memory-intensive applications
Publication Date: 2022.04.19 UNIV OF UTAH RES FOUND
  • US11307895B2 patent drawing
  • US11307895B2 patent drawing
  • US11307895B2 patent drawing

AI summary

Improved techniques for dynamically responding to a fluctuating workload. Resources are reactively scaled for memory-intensive applications and automatically adapted to in response to workload changes without requiring pre-specified thresholds. A miss ratio curve (MRC) is generated for an application based on application runtime statistics. This MRC is then modeled as a hyperbola. An area on the hyperbola is identified as satisfying a flatten threshold. A resource allocation threshold is then established based on the identified area. This resource allocation threshold indicates how many resources are to be provisioned for the application. The resources are scaled using a resource scaling policy that is based on the resource allocation threshold.