Papers
Topics
Authors
Recent
Search
2000 character limit reached

Junctiond: Extending FaaS Runtimes with Kernel-Bypass

Published 6 Mar 2024 in cs.DC | (2403.03377v2)

Abstract: This report explores the use of kernel-bypass networking in FaaS runtimes and demonstrates how using Junction, a novel kernel-bypass system, as the backend for executing components in faasd can enhance performance and isolation. Junction achieves this by reducing network and compute overheads and minimizing interactions with the host operating system. Junctiond, the integration of Junction with faasd, reduces median and P99 latency by 37.33% and 63.42%, respectively, and can handle 10 times more throughput while decreasing latency by 2x at the median and 3.5 times at the tail.

Definition Search Book Streamline Icon: https://streamlinehq.com
References (25)
  1. Apache. Openwhisk. https://openwhisk.apache.org/, 2024.
  2. Azure. Functions. https://azure.microsoft.com/en-us/products/functions/, 2024.
  3. IX: A Protected Dataplane Operating System for High Throughput and Low Latency. In OSDI, 2014.
  4. On-demand Container Loading in AWS Lambda. In USENIX ATC, 2023.
  5. containerd. containerd overview. https://containerd.io/docs, 2024.
  6. rFaaS: Enabling High Performance Serverless with RDMA and Leases. In IPDPS, 2023.
  7. Exokernel: An Operating System Architecture for Application-Level Resource Management. In SOSP, 1995.
  8. faasd. A lightweight & portable faas engine. https://github.com/openfaas/faasd, 2024.
  9. Making kernel bypass practical for the cloud with junction. In NSDI, 2024.
  10. Caladan: Mitigating Interference at Microsecond Timescales. In OSDI, 2020.
  11. gRPC. gRPC Remote Procedure Call. https://grpc.io/, 2024.
  12. MTCP: A Highly Scalable User-Level TCP Stack for Multicore Systems. In NSDI, 2014.
  13. Junction. Junctiond. https://github.com/esaurez/junction/tree/junction_manager_prometheus/manager, 2024.
  14. Junction. Junctiond faas provider. https://github.com/esaurez/faasd, 2024.
  15. Junction. vHive faas benchmark. https://dev.azure.com/msresearch/Serverless-Efficiency/_git/faasd_functions, 2024.
  16. Shinjuku: Preemptive Scheduling for µSecond-Scale Tail Latency. In NSDI, 2019.
  17. Knative. Knative documentation. https://knative.dev/docs/, 2024.
  18. Linux Foundation. Data Plane Development Kit (DPDK). https://www.dpdk.org, 2024.
  19. OpenFaaS. Serverless functions made simple. https://docs.openfaas.com, 2024.
  20. Arrakis: The Operating System Is the Control Plane. In OSDI, 2015.
  21. SPRIGHT: extracting the server from serverless computing! high-performance eBPF-based event-driven, shared-memory processing. In SIGCOMM, 2022.
  22. Serverless in the wild: Characterizing and optimizing the serverless workload at a large cloud provider. In USENIX ATC, 2020.
  23. Benchmarking, analysis, and optimization of serverless function snapshots. In ASPLOS, 2021.
  24. vSwarm. Serverless benchmarking suite. https://github.com/vhive-serverless/vSwarm, 2024.
  25. The Demikernel Datapath OS Architecture for Microsecond-Scale Datacenter Systems. In SOSP, 2021.
Citations (1)

Summary

  • The paper demonstrates that integrating kernel-bypass networking via Jfaasd reduces median and tail latencies by over 37% and 63%, respectively.
  • It employs direct hardware access and a unique scheduler to boost throughput by up to 5x while decreasing CPU overhead.
  • The approach replaces container-based isolation with process-level isolation, offering improved security and resource efficiency in FaaS runtimes.

Extending FaaS Runtimes with Kernel-Bypass: A Dive into Jfaasd

Introduction

Function as a Service (FaaS) architectures have increasingly become a cornerstone in the cloud-native ecosystem, simplifying operational complexity and offering scalable, event-driven compute resources. At the heart of FaaS performance lies efficient networking – a domain ripe for innovation. This examination turns a critical eye towards the integration of kernel-bypass networking within FaaS runtimes, specifically through the lens of a novel system, Jfaasd. Jfaasd leverages Junction, a kernel-bypass system, to replace the traditional networking stack in FaaS runtimes, aiming to enhance performance and isolation. This integration dramatically improves both median and tail latencies and significantly increases throughput, adjusting the scales of resource efficiency and isolation in FaaS environments.

FaaS Networking and Kernel-Bypass: A Synergistic Potential

FaaS architectures inherently rely on efficient networking to manage the communication between their distributed components, all while ensuring scalability and low latency. The traditional networking stack, however, introduces overheads that impede realizing the full performance potential of FaaS systems. Kernel-bypass networking emerges as a compelling solution by minimizing the software layers involved in processing network packets. Despite its benefits, widespread adoption in FaaS platforms has been limited due to complexities in implementation and the computational overheads associated with user-space polling.

Jfaasd circumvents these challenges by employing Junction, showcasing the practical benefits of kernel-bypass architectures in cloud-native environments. Junction's architecture facilitates direct hardware communication, reducing the context switching and CPU overhead typically associated with packet processing. Importantly, Junction's design enables scalable and secure multi-tenancy - a critical requirement for FaaS platforms hosting diverse functions.

Extending FaaS with Kernel-Bypass: The Jfaasd Architecture

The integration of Jfaasd into FaaS runtimes like faasd illustrates a novel approach to leveraging kernel-bypass technologies. Jfaasd effectively serves as a bridge between the FaaS runtime and Junction instances, managing function execution within a performance-optimized and isolated environment. Key modifications and extensions include a function manager (Jfaasd) and Junction instances, which replace traditional container-based isolation with more efficient, process-isolated execution environments.

The Jfaasd architecture promises significant performance improvements by:

  • Reducing the latency involved in network communications and function execution through direct hardware access and in-user-space processing.
  • Enhancing isolation and reducing the attack surface compared to traditional container-based deployments.
  • Improving resource efficiency by leveraging Junction's unique scheduler, which scales more effectively with the number of functions rather than requiring dedicated resources for polling.

Performance Insights and Implications

The empirical evaluation of Jfaasd's integration within faasd highlights remarkable enhancements in latency and throughput:

  • A reduction in median and P99 latency by 37.33% and 63.42%, respectively.
  • A capability to handle 5 times more throughput while halving the median latency and reducing tail latency by 3.5 times.

These results not only underline the effectiveness of kernel-bypass technologies in streamlining FaaS communications but also illustrate the practical scalability and efficiency gains achievable in real-world cloud systems.

Looking Ahead: Kernel-Bypass in Cloud-Native Architectures

The integration of kernel-bypass networking into FaaS runtimes via systems like Jfaasd marks a significant step forward in cloud-native computing. Beyond the immediate performance and efficiency gains, this research opens avenues for further exploration into the intersection of kernel-bypass technologies and serverless computing models. Future work may explore expanding the scope of kernel-bypass optimizations across a wider range of cloud services, addressing challenges in security, multi-tenancy, and resource management for increasingly complex cloud-native applications.

In conclusion, Jfaasd's marriage of FaaS with kernel-bypass networking not only demonstrates tangible enhancements in the performance and scalability of serverless architectures but also sets the stage for next-generation cloud-native innovations.

Paper to Video (Beta)

No one has generated a video about this paper yet.

Whiteboard

No one has generated a whiteboard explanation for this paper yet.

Open Problems

We haven't generated a list of open problems mentioned in this paper yet.

Tweets

Sign up for free to view the 1 tweet with 0 likes about this paper.

HackerNews