Monoglot Function Composition for FaaS Latency Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Function-as-a-Service (FaaS) systems face challenges in balancing network latency and scale efficiency due to the complexity of execution graphs resulting from decomposing applications into numerous functions, leading to increased network overhead and resource inefficiencies.

Innovation Solution

A processing device analyzes execution graphs to identify portions of functions that can be compiled into compositions, determining whether to combine functions with single or multiple entry points based on network latency and scale efficiency benefits, optimizing resource usage and reducing network latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If applications are decomposed into numerous functions to improve scalability and resource efficiency, then individual function scaling is improved, but network latency increases due to increased network overhead from function composition

Engineering Contradiction:
ImprovescalabilityVSAvoidnetwork latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent combines multiple functions into a single composed function that can be executed within a single container. This merging reduces the number of network calls required to execute a workflow, thereby reducing network latency while maintaining the scalability benefits of functional decomposition. The composed function approach allows the system to scale individual function compositions without incurring the network overhead of multiple separate function calls.

Inventive Principle:
Principle #5Merging (Combining)

2Loss of time

If functions are combined into compositions to reduce network latency, then network overhead is reduced, but scale efficiency decreases due to increased complexity in managing function dependencies

Engineering Contradiction:
Improvenetwork latencyVSAvoidfunction dependency management
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent segments functions into monoglot compositions grouped by programming language. By organizing functions into language-specific compositions, the system reduces the complexity of managing diverse function dependencies while maintaining the ability to reduce network latency through composition. This segmentation strategy allows for more efficient dependency management within each language group.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent creates universal composition templates that can handle multiple function types and dependencies within a standardized framework. These templates provide a unified approach to managing function compositions across different programming languages, reducing the overall complexity of dependency management while enabling efficient network communication.

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

3Use of energy by moving object

If monoglot function compositions are created to optimize resource usage, then resource allocation efficiency is improved, but system complexity increases due to compilation requirements

Engineering Contradiction:
Improveresource allocation efficiencyVSAvoidcompilation process
Core Design Contradiction:
Use of energy by moving objectVSDevice complexity

Solution Approach 1:

The patent performs preliminary compilation of monoglot function compositions during the deployment phase, before runtime execution. By pre-compiling functions into language-specific compositions and storing them in a composition registry, the system optimizes resource allocation at runtime without incurring compilation overhead during execution. This preliminary action separates the compilation complexity from the runtime resource management.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates compiled composition copies that are stored in a registry for reuse. Instead of compiling functions repeatedly, the system compiles each monoglot composition once and stores the compiled version, which can then be copied and reused multiple times. This copying approach reduces the overall compilation complexity while maintaining efficient resource allocation during runtime.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11755297B2Compiling monoglot function compositions into a single entity
Publication Date: 2023.09.12 RED HAT LLC
  • US11755297B2 patent drawing
  • US11755297B2 patent drawing
  • US11755297B2 patent drawing

AI summary

Systems and methods for compiling functions into a single entity are disclosed. An execution graph representing dependencies between a plurality of functions is analyzed to identify portions of the graph that include two or more of the plurality of functions used as a combined entity and have a single entry point. The plurality of functions corresponds to a decomposed application. The processing device combines the functions of each of the identified one or more portions of the graph into a composition. For each portion of the graph that includes two or more of the plurality of functions used as a combined entity and has multiple entry points, the processing device determines whether to combine each function providing a subsequent entry point to the portion into a composition with other functions of the portion based at least in part on a network latency and a scale efficiency of the application.