Monoglot Function Composition for FaaS Latency Reduction
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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
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.
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.
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
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.
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.
Data Source
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.


