FaaS Execution Node Selection via Data Location

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Function as a Service (FaaS) systems face performance drawbacks due to the delay between trigger and function execution, and inefficient data distribution in cloud environments, which hinders the decomposition and porting of complete applications.

Innovation Solution

A method where a FaaS system determines the execution node for a function based on the location of the data it will access, ensuring that functions accessing the same data execute on the same node, thereby reducing latency and improving interaction speed by optimizing data location through key-value store queries and historical usage analysis.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If data is distributed randomly using hash-based key-value store, then data access speed is fast, but related data ends up at very different locations

Engineering Contradiction:
Improvedata access speedVSAvoiddata location consistency
Core Design Contradiction:
SpeedVSStability of the object's composition

Solution Approach 1:

The patent applies local quality by making the data distribution strategy adaptive rather than uniform. Execution nodes are assigned based on the specific location requirements of each function's data, allowing different parts of the system to have different data placement characteristics. This resolves the contradiction by enabling fast access for individually accessed data while maintaining location consistency for related data that needs to be accessed together.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system performs preliminary analysis of data access patterns and function execution requirements before assigning execution nodes. By determining data location information in advance and selecting execution nodes based on this information, the system proactively ensures that functions execute close to their required data, avoiding the random distribution problem while maintaining fast access speeds.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If there is a delay between trigger and function execution, then system stability is maintained, but interaction speed between functions becomes too slow

Engineering Contradiction:
Improvesystem stabilityVSAvoidfunction interaction speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The system performs preliminary actions by determining the optimal execution node based on data location information before function execution begins. This advance planning eliminates unnecessary delays and network hops, enabling fast function interactions while maintaining system stability through controlled execution scheduling.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent enables continuous fast interaction between functions by ensuring that related functions execute on the same or nearby execution nodes. This continuity is achieved by maintaining data and function proximity, eliminating the need for frequent context switching and data transfer delays, thus allowing complete applications to be decomposed and ported to FaaS architecture.

Inventive Principle:
Principle #20Continuity of useful action

3Adaptability or versatility

If functions are distributed to multiple execution nodes, then system scalability is improved, but data access latency increases

Engineering Contradiction:
Improvesystem scalabilityVSAvoiddata access latency
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent applies local quality by making execution node assignment specific to each function's data location requirements rather than using uniform distribution. This allows the system to scale across multiple execution nodes while minimizing data access latency by ensuring each function executes close to its required data, regardless of which node that data resides on.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system dynamically determines execution node assignment based on real-time data location information and function requirements. This dynamic approach allows the system to scale flexibly across multiple nodes while adapting to changing data distributions and access patterns, thereby maintaining low latency even as the system grows.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11960940B2Performance of function as a service
Publication Date: 2024.04.16 TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
  • US11960940B2 patent drawing
  • US11960940B2 patent drawing
  • US11960940B2 patent drawing

AI summary

A FaaS system comprises a plurality of execution nodes. A software package is received in the system, the software package comprising a function that is to be executed in the FaaS system. Data location information related to data that the function is going to access during execution is obtained. Based on the data location information, a determination is then made of an execution node in which the function is to be executed. The function is loaded into the determined execution node and executing in the determined execution node.