Is Function-as-a-Service a Good Fit for Latency-Critical Services?
Abstract
Function-as-a-Service (FaaS) is becoming an increasingly popular cloud-deployment paradigm for serverless computing that frees application developers from managing the infrastructure. At the same time, it allows cloud providers to assert control in workload consolidation, i.e., co-locating multiple containers on the same server, thereby achieving higher server utilization, often at the cost of higher end-to-end function request latency. Interestingly, a key aspect of serverless latency management has not been well studied: the trade-off between application developers’ latency goals and the FaaS providers’ utilization goals. This paper presents a multi-faceted, measurement-driven study of latency variation in serverless platforms that elucidates this trade-off space. We obtained production measurements by executing FaaS benchmarks on IBM Cloud and a private cloud to study the impact of workload consolidation, queuing delay, and cold starts on the end-to-end function request latency. We draw several conclusions. For example, increasing a container’s allocated memory limit from 128 MB to 256 MB reduces the tail latency by 2x but has 1.75x higher power consumption and 59% lower CPU utilization.
Citation
@inproceedings{Qiu2021,
author = {Qiu, Haoran and Jha, Saurabh and Banerjee, Subho S. and Patke, Archit and Wang, Chen and Franke, Hubertus and Kalbarczyk, Zbigniew T. and Iyer, Ravishankar K.},
title = {Is Function-as-a-Service a Good Fit for Latency-Critical Services?},
year = {2021},
isbn = {9781450391726},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
url = {https://doi.org/10.1145/3493651.3493666},
doi = {10.1145/3493651.3493666},
booktitle = {Proceedings of the Seventh International Workshop on Serverless Computing (WoSC7) 2021},
pages = {1–8},
numpages = {8},
location = {Virtual Event, Canada},
series = {WoSC '21}
}