Cppless: Single-Source and High-Performance Serverless Programming in C++
Marcin Copik, Lukas M\"oller, Alexandru Calotoiu, Torsten Hoefler

TL;DR
Cppless is a C++ framework that simplifies deploying and executing serverless functions, enabling high-performance remote computation with minimal code changes and significant speedups.
Contribution
It introduces Cppless, a novel LLVM-based framework that automates deployment and invocation of serverless functions in C++, addressing deployment complexity and compatibility issues.
Findings
Up to 59x speedup in parallel computations
Minimal code modifications required
Low cost increase with serverless offloading
Abstract
The rise of serverless computing introduced a new class of scalable, elastic and widely available parallel workers in the cloud. Many systems and applications benefit from offloading computations and parallel tasks to dynamically allocated resources. However, the developers of C++ applications find it difficult to integrate functions due to complex deployment, lack of compatibility between client and cloud environments, and loosely typed input and output data. To enable single-source and efficient serverless acceleration in C++, we introduce Cppless, an end-to-end framework for implementing remote functions which handles the creation, deployment, and invocation of serverless functions. Cppless is built on top of LLVM and requires only two compiler extensions to automatically extract C++ function objects and deploy them to the cloud. We demonstrate that offloading parallel computations,…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsCloud Computing and Resource Management · Distributed and Parallel Computing Systems · Parallel Computing and Optimization Techniques
