UniFaaS: Programming across Distributed Cyberinfrastructure with Federated Function Serving
arXiv:2403.19257 · doi:10.1109/IPDPS57955.2024.00027
Abstract
Modern scientific applications are increasingly decomposable into individual functions that may be deployed across distributed and diverse cyberinfrastructure such as supercomputers, clouds, and accelerators. Such applications call for new approaches to programming, distributed execution, and function-level management. We present UniFaaS, a parallel programming framework that relies on a federated function-as-a-service (FaaS) model to enable composition of distributed, scalable, and high-performance scientific workflows, and to support fine-grained function-level management. UniFaaS provides a unified programming interface to compose dynamic task graphs with transparent wide-area data management. UniFaaS exploits an observe-predict-decide approach to efficiently map workflow tasks to target heterogeneous and dynamic resources. We propose a dynamic heterogeneity-aware scheduling algorithm that employs a delay mechanism and a re-scheduling mechanism to accommodate dynamic resource capacity. Our experiments show that UniFaaS can efficiently execute workflows across computing resources with minimal scheduling overhead. We show that UniFaaS can improve the performance of a real-world drug screening workflow by as much as 22.99% when employing an additional 19.48% of resources and a montage workflow by 54.41% when employing an additional 47.83% of resources across multiple distributed clusters, in contrast to using a single cluster
arXiv comment13 pages, 13 figures, IPDPS2024
References in corpus (10)
- XGBoost: A Scalable Tree Boosting System
- Parsl: Pervasive Parallel Programming in Python
- funcX: A Federated Function Serving Fabric for Science
- Distributed intelligence on the Edge-to-Cloud Continuum: A systematic literature review
- Wukong: A Scalable and Locality-Enhanced Framework for Serverless Parallel Computing
- Colmena: Scalable Machine-Learning-Based Steering of Ensemble Simulations for High Performance Computing
- Task Runtime Prediction in Scientific Workflows Using an Online Incremental Learning Approach
- funcX: Federated Function as a Service for Science
- Targeting SARS-CoV-2 with AI- and HPC-enabled Lead Generation: A First Data Release
- Lotaru: Locally Estimating Runtimes of Scientific Workflow Tasks in Heterogeneous Clusters