Files
Abstract
Cloud Function-as-a-Service (FaaS) systems offer statistical guarantees and cannot meet the deadlines of bursty, real-time applications. To address this limitation, we propose the Rate-based Abstract Machine (RBAM), a performance abstraction for FaaS functions. RBAM provides a guaranteed invocation rate for each FaaS function, enabling applications to meet real-time requirements. In this dissertation, we address the generality, efficient realizability, and applicability of the RBAM model.
First, we show that RBAM is complete as a primitive, able to realize the deadlines of any rate-monotonic real-time workload at a bounded cost. We do so by constructing an analytical framework based on rate-monotonic workloads and then proving that RBAM effectively bounds FaaS invocation latency. This ensures the applications meet their real-time deadlines. Additionally, we derive bounds on the required invocation rate and corresponding resource overhead, showing how to realize any set of guarantees.
Second, we demonstrate that the RBAM performance abstraction can be efficiently realized in today's cloud environments. To do so, we propose new rate-based invocation scheduling and resource management algorithms and show how they employ resource sharing and exploit the underlying resource allocation statistics to enforce the rate guarantees. We document their ability to achieve performance guarantees at a low resource cost and scale well to large systems. Finally, we show that they are robust across varied application dynamics and deployment environments.
Third, we demonstrate RBAM's applicability by using it to implement a stream processing engine called Storm-RTS and also a distributed real-time video analytics application. These applications illustrate RBAM's expressiveness in describing application performance guarantees, how implementation can deliver robust performance against various workload burstiness, and how its performance guarantees can enable application deployment flexibility. The latter is particularly useful as declarative policies can ensure performance stability and optimized deployment for various objectives (e.g., cost or carbon).
In summary, RBAM is a performance abstraction that extends the FaaS model to efficiently and scalably support bursty, real-time applications across various scenarios. In addition, RBAM simplifies the implementation and deployment of applications with real-time guarantees. The rate guarantee can be used as a quality of service parameter to help applications configure for specific performance needs.