A study of resource management policies for function-as-a-service

Function as a Service (FaaS) offers a novel way to deploy computing applications to serverless backends in the cloud. This evolving paradigm shifts more control of resource management from the cloud users to the cloud providers. Despite the benefits of FaaS, cold start problems significantly impact...

全面介紹

Saved in:
書目詳細資料
主要作者: Lin, Yukun
其他作者: Tang Xueyan
格式: Thesis-Master by Research
語言:English
出版: Nanyang Technological University 2023
主題:
在線閱讀:https://hdl.handle.net/10356/166480
標簽: 添加標簽
沒有標簽, 成為第一個標記此記錄!
機構: Nanyang Technological University
語言: English
實物特徵
總結:Function as a Service (FaaS) offers a novel way to deploy computing applications to serverless backends in the cloud. This evolving paradigm shifts more control of resource management from the cloud users to the cloud providers. Despite the benefits of FaaS, cold start problems significantly impact its performance. To alleviate such effects, cloud providers often pre-warm containers or maintain a container pool to respond quickly to unforeseen requests. This exposes a trade-off between performance and resource consumption. However, various request patterns of functions make it difficult to achieve targeted optimization for cloud providers of universal FaaS platforms. We seek to optimize a general-purpose FaaS platform, Fission, in terms of managing both container termination and container specialization. A pod termination policy is proposed to manage the termination of idle pods by dynamically changing their expiry times. We also modify the workflow of processing requests in Fission and develop a pod specialization policy. We evaluate the performance of our policies on a simulator with a public dataset from Microsoft Azure. According to the results obtained, the proposed pod termination policy adapts to the workload of different intensities and offers better performance than the default policy of Fission. In addition, the pod specialization policy reduces the average processing latency of requests, while maintaining or slightly reducing the idle time of pods.