Dynamic Ensemble Compilation for FaaS Hotspot Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional designs for Function as a Service (FaaS) systems struggle to efficiently compile and optimize ephemeral functions due to their short-lived nature, which prevents the identification of 'hotspots' for enhanced compilation and analysis, leading to suboptimal performance and resource utilization.

Innovation Solution

Implementing a dynamic ensemble compilation process that aggregates profiling data across multiple runtime instances to identify and selectively compile 'hotspot' functions, while avoiding the overhead of compiling 'cold' functions, and adaptively recompiling based on execution frequency and performance metrics.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If all functions are compiled in FaaS systems, then execution efficiency is improved, but resource overhead and compilation time increase significantly

Engineering Contradiction:
Improveexecution efficiencyVSAvoidresource overhead
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent applies local quality by differentiating compilation treatment between hot functions and cold functions. Hot functions (frequently executed) receive full compilation optimization, while cold functions (rarely executed) use lighter interpretation or deferred compilation. This selective approach optimizes resources by concentrating compilation efforts where they provide maximum benefit - on functions that are actually executed frequently - rather than uniformly compiling all functions.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system dynamically changes the compilation parameter based on function execution frequency. When a function transitions from cold to hot status (crossing a frequency threshold), the system adjusts its compilation state accordingly. This parameter change allows the system to adapt compilation intensity to actual usage patterns, improving execution efficiency for hot functions while avoiding unnecessary compilation overhead for cold functions.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If compilation is performed for all functions, then performance is improved, but compilation time and system complexity increase

Engineering Contradiction:
ImproveperformanceVSAvoidcompilation time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system performs preliminary identification of hot functions before full compilation is applied. By monitoring function execution frequency in advance and identifying which functions qualify as 'hot' based on predefined thresholds, the system prepares a targeted compilation list. This preliminary action prevents wasteful compilation of cold functions, reducing overall compilation time while ensuring that performance-critical hot functions are compiled in advance for optimal execution.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The compilation strategy is made dynamic rather than static. The system continuously monitors function execution patterns and adjusts compilation decisions in real-time. Functions can transition between compiled and uncompiled states based on changing execution frequencies, allowing the system to adapt to workload variations and minimize compilation time while maintaining performance where needed.

Inventive Principle:
Principle #15Dynamics

3Productivity

If selective compilation of hot functions is implemented, then resource utilization is improved, but system complexity increases

Engineering Contradiction:
Improveresource utilizationVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system implements feedback mechanisms to monitor function execution frequency and automatically adjust compilation decisions. Profiling data is collected during runtime, analyzed to identify hot functions, and fed back to the compilation subsystem. This closed-loop feedback automates the selective compilation process, reducing manual configuration complexity while improving resource utilization through intelligent, data-driven compilation decisions.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The compilation system serves itself by automatically identifying which functions require compilation based on execution metrics. Rather than requiring external configuration or manual intervention, the system autonomously monitors its own performance data, determines hot function candidates, and triggers compilation processes independently. This self-service approach manages system complexity internally while presenting a simpler interface to users.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS20230112996A1Compilation for function as a service implementations distributed across server arrays
Publication Date: 2023.04.13 INTEL CORP
  • US20230112996A1 patent drawing
  • US20230112996A1 patent drawing
  • US20230112996A1 patent drawing

AI summary

Systems, apparatuses and methods may be associated with a first computing device and provide for identifying performance metrics. The performance metrics are associated with execution of a first function on at least one second computing device. The systems, apparatuses and methods aggregate the performance metrics to generate aggregated performance metrics, determine that the aggregated performance metrics meet a threshold and compile code associated with the first function in response to the aggregated performance metrics being determined to meet the threshold.