Automated Function Profiling and Partitioning for Serverless Resource Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In serverless computing, developers face challenges in predicting the resource footprint of functions, leading to inefficient computational resource distribution and utilization, which can result in performance degradation and manual refactoring needs.

Innovation Solution

The method involves identifying functions within source code based on programmatic annotations, profiling their execution characteristics, constructing a function call graph, and partitioning the functions into singularly executable function capsules that meet deployment specifications.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If developers manually predict and allocate computational resources for each function, then they can control resource distribution, but the resource footprint prediction is inaccurate leading to inefficient resource utilization

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidresource footprint prediction accuracy
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The system performs preliminary profiling of function execution characteristics during the development phase, collecting data on CPU usage, memory consumption, and execution time before actual deployment. This advance measurement allows accurate resource allocation predictions without requiring developers to manually estimate resource footprints, resolving the contradiction between prediction accuracy and resource utilization efficiency.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements a feedback mechanism where actual execution characteristics of functions are monitored and used to refine resource allocation predictions. By continuously gathering performance data from function executions and adjusting resource distribution based on observed patterns, the system achieves both accurate resource footprint prediction and optimal resource utilization efficiency.

Inventive Principle:
Principle #23Feedback

2Productivity

If functions are manually refactored to improve resource distribution, then resource utilization can be optimized, but system development time and complexity increase

Engineering Contradiction:
Improveresource distribution efficiencyVSAvoidmanual refactoring time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system enables automated self-service for resource optimization by allowing functions to profile themselves and automatically adjust their resource allocation. The framework autonomously analyzes execution characteristics and redistributes computational resources without requiring manual refactoring of function code, thus maintaining resource distribution efficiency while eliminating time-consuming manual intervention.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system optimizes resource distribution by dynamically changing resource allocation parameters based on observed execution characteristics rather than modifying function code structure. By adjusting CPU quotas, memory limits, and execution time parameters automatically, the system achieves efficient resource distribution without the time loss associated with manual refactoring.

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If legacy applications are refactored into FaaS paradigm, then they can adapt to serverless computing, but the refactoring process is resource consuming and delays development

Engineering Contradiction:
ImproveFaaS paradigm compatibilityVSAvoiddevelopment speed
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The system performs preliminary analysis of legacy application code to identify functions and their execution characteristics before FaaS migration. By pre-profiling the application structure and behavior patterns, the system prepares migration-ready function definitions and resource allocation strategies in advance, enabling smooth transition to FaaS paradigm without significant development delays or excessive resource consumption during refactoring.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system introduces an intermediary profiling framework that acts as a bridge between legacy applications and the FaaS paradigm. This intermediary layer automatically instruments legacy code to collect execution data and generates FaaS-compatible function definitions, facilitating adaptation to serverless computing without requiring extensive manual refactoring and preserving development speed.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS20250138794A1Automated profiling and partitioning of functions
Publication Date: 2025.05.01 CISCO TECHNOLOGY INC
  • US20250138794A1 patent drawing
  • US20250138794A1 patent drawing
  • US20250138794A1 patent drawing

AI summary

In one implementation, a method is disclosed comprising: identifying, by a device, a plurality of functions within a source code based on one or more programmatic annotations of each of the plurality of functions within the source code; monitoring, by the device, execution characteristics associated with each of the plurality of functions within the source code during execution; constructing, by the device, a function call graph from the plurality of functions wherein each particular function in the function call graph is annotated with corresponding execution characteristics; and partitioning, by the device and based on the function call graph and one or more deployment specifications, the plurality of functions within the source code into singularly executable function capsules that meet the one or more deployment specifications.