Serverless Sizing Stack for Dynamic Resource Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Cloud computing systems face inefficiencies due to over- or under-provisioning of compute resources, leading to performance degradation and resource misallocation in serverless functions, which can result in timeouts and increased resource consumption.

Innovation Solution

A serverless sizing stack (SSS) that analyzes historical and consumption metric data to predict future utilization, using a multi-layered architecture to provide prescriptive recommendations for compute resource allocation, optimizing serverless function sizing through iterative analysis and deep-learning techniques to balance execution duration and resource allocation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If serverless functions are over-provisioned with compute resources, then reliability is improved by preventing timeouts and execution issues, but resource consumption increases leading to inefficiency and higher costs

Engineering Contradiction:
Improveexecution reliabilityVSAvoidresource consumption
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The system dynamically changes compute resource parameters (memory size, CPU allocation) based on historical execution data and predicted utilization patterns. Instead of static over-provisioning, the system adjusts parameters to match actual needs, preventing both timeouts and resource waste through data-driven optimization

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system implements feedback loops by monitoring historical execution duration data, compute usage patterns, and timeout events. This feedback informs predictive analytics that recommend optimal sizing configurations, continuously improving resource allocation decisions based on actual system performance and utilization patterns

Inventive Principle:
Principle #23Feedback

2Loss of energy

If serverless functions are under-provisioned with compute resources, then resource consumption is reduced improving efficiency, but execution performance degrades causing timeouts and extended runtime

Engineering Contradiction:
Improveresource consumptionVSAvoidexecution speed
Core Design Contradiction:
Loss of energyVSProductivity

Solution Approach 1:

The system performs preliminary analysis of historical execution data and predicted utilization patterns before deploying serverless functions. By pre-determining optimal compute resource allocations based on learned patterns, the system ensures functions are adequately provisioned from the start, preventing performance degradation and timeouts while avoiding excessive resource consumption

Inventive Principle:
Principle #10Preliminary action

3Ease of operation

If static compute resource allocation is used, then device complexity is reduced and ease of operation is improved, but adaptability decreases leading to inefficient resource utilization across varying workloads

Engineering Contradiction:
Improvesizing management simplicityVSAvoidworkload adaptability
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The system enables serverless functions to self-optimize their resource allocation by automatically analyzing their own historical execution data and utilization patterns. The functions generate their own sizing recommendations without manual intervention, combining the simplicity of automated management with the adaptability of dynamic, data-driven resource allocation that responds to varying workload conditions

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11720400B2Prescriptive analytics-based performance-centric dynamic serverless sizing
Publication Date: 2023.08.08 ACCENTURE GLOBAL SOLUTIONS LTD
  • US11720400B2 patent drawing
  • US11720400B2 patent drawing
  • US11720400B2 patent drawing

AI summary

A multi-layer serverless sizing stack may determine a compute sizing correction for a serverless function. The serverless sizing stack may analyze historical data to determine a base compute allocation and compute buffer range. The serverless sizing stack may traverse the compute buffer range in an iterative analysis to determine a compute size for the serverless function to support efficient computational-operation when the serverless function is instantiated.