PYROSOME: A RUNTIME FOR EFFICIENT AND FINE-GRAINED MICROSERVICES AND SERVERLESS

JSYS 2024 May Papers Submission1 Authors

21 Apr 2024 (modified: 02 May 2024)JSYS 2024 May Papers SubmissionEveryoneRevisionsBibTeXCC BY-NC 4.0
Keywords: Cloud Computing, Serverless, Microservices, Systems
Abstract: Developers have shifted from deploying applications on phys- ical machines, to virtual machines, to containers, and now to serverless functions. Such shift of abstractions have also changed the way applications are structured. Today’s cloud- native applications are naturally structured in a higher-level and more decomposed way. However, today’s cloud and serverless platforms are still layered on top of the same ineffi- cient legacy software infrastructure and abstractions as in the past. We argue that these legacy layers are now redundant, and we explore a clean-slate cloud services runtime targeted toward microservice- and serverless-era applications we call Pyrosome. Pyrosome provides simple programming interfaces for ex- ecuting code, storing and sharing data, and low-overhead communication without worrying about resource allocation and scheduling. It leverages low-overhead language-based sandboxing that avoids the full state and scheduling costs of operating system processes or containers. This allows imple- mentation of a holistic scheduler that quickly redistributes load among cores, exploits parallelism in applications, and avoids tail latency with execution-time-aware sharding. The DeathStarBench microservices benchmarks show that Pyro- some speeds up microservice applications by as much as 4× and improves throughput by 10×. Additionally, we show Py- rosome balances load nearly instantly compared to standard microservice platforms.
Submission Number: 1
Loading