Mosaic: Harnessing the Micro-Architectural Resources of Servers in Serverless Environments
With serverless computing, users develop scalable applications using lightweight functions as building blocks, while cloud providers own most of the computing stack, allowing for better resource optimizations. In this paper, we observe that modern server-class processors are inefficiently utilized in serverless environments. Cores perform frequent context switches within function invocations and have a high degree of oversubscription. In such an environment, functions frequently lose their micro-architectural state in stateful hardware structures like caches, TLBs, and branch predictors, causing performance degradation. At the same time, modern processors are dimensioned for the needs of a broad set of applications, rendering them suboptimal for serverless workloads. Based on these insights, we propose Mosaic, an architecture optimized for serverless environments that maintains generality to efficiently support other workloads. Mosaic has two components: (1) MosaicCPU, a processor architecture that efficiently runs both serverless workloads and traditional monolithic applications, and (2) MosaicScheduler, a software stack for serverless systems that maximizes the benefits of MosaicCPU. MosaicCPU slices micro-architectural structures into small chunks and assigns tiles of such chunks to functions. The processor retains the state of functions in their tiles across context switches, thereby improving performance. Furthermore, currently-inactive tiles are set to a low power mode, thereby reducing energy consumption. In addition, MosaicScheduler maximizes efficiency by introducing predictive right-sizing of the per-function tiles, alongside with smart scheduling based on the state of the tiles. Overall, compared to conventional server-class processors, Mosaic improves the throughput of serverless workloads by 225% while using 22% less power.
Authors
- Jovan Stojkovic (ORCID: https://orcid.org/0009-0007-4914-336X)
- Esha Choukse (ORCID: https://orcid.org/0000-0003-0371-5522)
- Josep Torrellas (ORCID: https://orcid.org/0000-0003-2595-5228)
- Enrique Saurez (ORCID: https://orcid.org/0000-0002-3613-3556)
- Íñigo Goiri (ORCID: https://orcid.org/0000-0003-2591-4012)
Institutions
- University of Illinois Urbana-Champaign (US)
- Microsoft (Germany) (DE)
Publication Details
- Published
- 2024-11-02
- DOI
- https://doi.org/10.1109/micro61859.2024.00103
- Citations
- 5
- Primary Topic
- Peer-to-Peer Network Technologies
- Type
- article
- Field-Weighted Citation Impact
- 1.74
Funders
- National Science Foundation
- Semiconductor Research Corporation
- Defense Advanced Research Projects Agency