rFaaS: High-Performance Serverless with RDMA
High-performance applications are predominantly implemented on top of fast and low-level frameworks such as the Message-Passing Interface (MPI). However, existing systems are based on static and long-running batch allocations, leading to resource underutilization in both scientific clusters and cloud systems. HPC users would benefit from using more elastic resource provisioning and cheap on-spot cloud resources, but they cannot sacrifice performance guarantees of persistent allocations. Serverless functions could provide the flexibility needed for the dynamic offloading of computations, but their performance does not match the HPC performance requirements. To that end, we propose rFaaS, an improved serverless architecture with a new allocation type and invocation protocol that incorporates Remote Direct Memory Access (RDMA) networking. Fine-grained functions can scale up quickly and without prior resource allocation, helping parallel applications to optimize resource consumption while not suffering from performance overheads traditionally associated with the Function-as-a-Service programming model.