Table of Contents
Fetching ...

Dependency-aware Resource Allocation for Serverless Functions at the Edge

Luciano Baresi, Giovanni Quattrocchi, Inacio Ticongolo

TL;DR

This paper tackles the inefficiency of resource allocation for edge-deployed serverless functions when dependencies exist among functions. It extends the NEPTUNE framework with a dependency-aware model (annotated DAG) and a control algorithm that emphasizes local response times, enabling more precise core allocation. The evaluation shows NEP-TUNE$^+$ can reduce CPU core usage by up to $42\%$ while maintaining comparable latency and SLA adherence across multiple benchmarks, including bottleneck scenarios. This work improves resource efficiency in latency-sensitive edge environments and suggests future work on dependency-aware placement to further optimize performance and costs.

Abstract

Serverless computing allows developers to break their code into small components, known as functions, which are automatically managed by a service provider. Being lightweight and modular, serverless functions have been increasingly employed in edge computing, where quick responses and adaptability are key to meeting strict latency requirements. In particular, edge nodes are intrinsically resource-constrained, and efficient resource allocation strategies are crucial for optimizing their usage. Different approaches exist in the literature, but they often overlook the dependencies among functions, that is, how and when functions invoke other functions, obtaining suboptimal results. This paper presents NEPTUNE+, a dependency-aware resource (CPU cores) allocation solution for serverless functions deployed at the edge. The approach extends NEPTUNE, an existing framework for managing edge infrastructures, with a new theoretical model and control algorithm that take dependencies into account function. We evaluated NEPTUNE+ by using three applications and it is able to allocate up to 42% fewer cores compared to NEPTUNE.

Dependency-aware Resource Allocation for Serverless Functions at the Edge

TL;DR

This paper tackles the inefficiency of resource allocation for edge-deployed serverless functions when dependencies exist among functions. It extends the NEPTUNE framework with a dependency-aware model (annotated DAG) and a control algorithm that emphasizes local response times, enabling more precise core allocation. The evaluation shows NEP-TUNE can reduce CPU core usage by up to while maintaining comparable latency and SLA adherence across multiple benchmarks, including bottleneck scenarios. This work improves resource efficiency in latency-sensitive edge environments and suggests future work on dependency-aware placement to further optimize performance and costs.

Abstract

Serverless computing allows developers to break their code into small components, known as functions, which are automatically managed by a service provider. Being lightweight and modular, serverless functions have been increasingly employed in edge computing, where quick responses and adaptability are key to meeting strict latency requirements. In particular, edge nodes are intrinsically resource-constrained, and efficient resource allocation strategies are crucial for optimizing their usage. Different approaches exist in the literature, but they often overlook the dependencies among functions, that is, how and when functions invoke other functions, obtaining suboptimal results. This paper presents NEPTUNE+, a dependency-aware resource (CPU cores) allocation solution for serverless functions deployed at the edge. The approach extends NEPTUNE, an existing framework for managing edge infrastructures, with a new theoretical model and control algorithm that take dependencies into account function. We evaluated NEPTUNE+ by using three applications and it is able to allocate up to 42% fewer cores compared to NEPTUNE.
Paper Structure (12 sections, 6 equations, 4 figures, 1 table, 1 algorithm)

This paper contains 12 sections, 6 equations, 4 figures, 1 table, 1 algorithm.

Figures (4)

  • Figure 1: Example application with function dependencies.
  • Figure 2: Example of annotated DAG.
  • Figure 3: Example of local set point computation.
  • Figure 4: Results for function order (sockshop).