funcX: Federated Function as a Service for Science

Zhuozhao Li, Ryan Chard, Yadu Babuji, Ben Galewsky, Tyler J. Skluzacek, Kirill Nagaitsev, Anna Woodard, Ben Blaiszik, Josh Bryan, Daniel S. Katz, Ian Foster, Kyle Chard

Research output: Contribution to journalArticlepeer-review

Abstract

f funcX is a distributed function as a service (FaaS) platform that enables flexible, scalable, and high performance remote function execution. Unlike centralized FaaS systems, f funcX decouples the cloud-hosted management functionality from the edge-hosted execution functionality. f funcX's endpoint software can be deployed, by users or administrators, on arbitrary laptops, clouds, clusters, and supercomputers, in effect turning them into function serving systems. f funcX's cloud-hosted service provides a single location for registering, sharing, and managing both functions and endpoints. It allows for transparent, secure, and reliable function execution across the federated ecosystem of endpoints-enabling users to route functions to endpoints based on specific needs. f funcX uses containers (e.g., Docker, Singularity, and Shifter) to provide common execution environments across endpoints. f funcX implements various container management strategies to execute functions with high performance and efficiency on diverse f funcX endpoints. f funcX also integrates with an in-memory data store and Globus for managing data that may span endpoints. We motivate the need for f funcX, present our prototype design and implementation, and demonstrate, via experiments on two supercomputers, that f funcX can scale to more than 130000 concurrent workers. We show that f funcX's container warming-aware routing algorithm can reduce the completion time for 3,000 functions by up to 61% compared to a randomized algorithm and the in-memory data store can speed up data transfers by up to 3x compared to a shared file system.

Original languageEnglish (US)
Pages (from-to)4948-4963
Number of pages16
JournalIEEE Transactions on Parallel and Distributed Systems
Volume33
Issue number12
DOIs
StatePublished - Dec 1 2022

Keywords

  • Function-as-a-service
  • cyberinfrastructure
  • distributed computing

ASJC Scopus subject areas

  • Signal Processing
  • Hardware and Architecture
  • Computational Theory and Mathematics

Fingerprint

Dive into the research topics of 'funcX: Federated Function as a Service for Science'. Together they form a unique fingerprint.

Cite this