SLATE: Managing Heterogeneous Cloud Functions

This paper presents SLATE, a fully-managed, heterogeneous Function-as-a-Service (FaaS) system for deploying serverless functions onto heterogeneous cloud infrastructures. We extend the traditional homogeneous FaaS execution model to support heterogeneous functions, automating and abstracting runtime management of heterogeneous compute resources in order to improve cloud tenant accessibility to specialised, accelerator resources, such as FPGAs and GPUs. In particular, we focus on the mechanisms required for heterogeneous scaling of deployed function instances to guarantee latency objectives while minimising cost. We develop a simulator to validate and evaluate our approach, considering case-study functions in three application domains: machine learning, bio-informatics, and physics. We incorporate empirically derived performance models for each function implementation targeting a hardware platform with combined computational capacity of 24 FPGAs and 12 CPU cores. Compared to homogeneous CPU and homogeneous FPGA functions, simulation results achieve respectively a cost improvement for non-uniform task traffic of up to 8.7 times and 1.7 times, while maintaining specified latency objectives.

[1]  Christophe Bobda,et al.  FPGAVirt: A Novel Virtualization Framework for FPGAs in the Cloud , 2018, 2018 IEEE 11th International Conference on Cloud Computing (CLOUD).

[2]  Eriko Nurvitadhi,et al.  Enhanced Heterogeneous Cloud: Transparent Acceleration and Elasticity , 2019, 2019 International Conference on Field-Programmable Technology (ICFPT).

[3]  Wayne Luk,et al.  Leveraging FPGAs for Accelerating Short Read Alignment , 2017, IEEE/ACM Transactions on Computational Biology and Bioinformatics.

[4]  Paolo Ienne,et al.  Virtualized Execution Runtime for FPGA Accelerators in the Cloud , 2017, IEEE Access.