Keywords: microservices, cloud computing
TL;DR: Final version of accepted paper.
Abstract: Developers have shifted from deploying applications on phys- ical machines, to virtual machines and to containers. Such a shift of abstractions has also changed the way applications are structured. Today’s cloud-native applications are naturally structured in a higher-level and more decomposed way. How- ever, today’s cloud platforms are still layered on top of the same inefficient legacy software infrastructure and abstrac- tions as in the past. We argue that these legacy layers are now redundant, and we explore a clean-slate cloud services run- time targeted toward microservice-era JavaScript applications we call Pyrosome.
Pyrosome provides simple programming interfaces for ex- ecuting JavaScript code, storing and sharing data, and low- overhead communication without worrying about resource allocation and scheduling. It leverages the V8 JavaScript run- time’s low-overhead language-based sandboxing that avoids the full state and scheduling costs of operating system pro- cesses or containers. This enables a holistic scheduler that quickly redistributes load among cores and exploits paral- lelism in applications. The scheduler also avoids tail latency with execution-time-aware partitioning. Pyrosome speeds up microservice applications by as much as 4× and improves throughput by 10×, as demonstrated by the DeathStarBench microservices benchmarks. Additionally, we show Pyrosome balances load nearly instantly compared to standard microser- vices platforms.
Area: Serverless Systems
Type: Solution
Revision: Yes
Previous Version: https://openreview.net/forum?id=E1JWvjfuIM¬eId=E1JWvjfuIM
Submission Number: 1
Loading