FaaSLight: General Application-level Cold-start Latency Optimization for Function-as-a-Service in Serverless Computing

被引:19
|
作者
Liu, Xuanzhe [1 ]
Wen, Jinfeng [1 ]
Chen, Zhenpeng [2 ]
Li, Ding [1 ]
Chen, Junkai [1 ]
Liu, Yi [3 ]
Wang, Haoyu [4 ]
Jin, Xin [1 ]
机构
[1] Peking Univ, Beijing 100871, Peoples R China
[2] UCL, London, England
[3] Adv Inst Big Data, Beijing 100091, Peoples R China
[4] Huazhong Univ Sci & Technol, Wuhan 430074, Hubei, Peoples R China
基金
中国国家自然科学基金;
关键词
Serverless computing; cold start; performance optimization; optional function elimination;
D O I
10.1145/3585007
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Serverless computing is a popular cloud computing paradigm that frees developers from server management. Function-as-a-Service (FaaS) is the most popular implementation of serverless computing, representing applications as event-driven and stateless functions. However, existing studies report that functions of FaaS applications severely suffer from cold-start latency. In this article, we propose an approach, namely, FaaSLight, to accelerating the cold start for FaaS applications through application-level optimization. We first conduct a measurement study to investigate the possible root cause of the cold-start problem of FaaS. The result shows that application code loading latency is a significant overhead. Therefore, loading only indispensable code from FaaS applications can be an adequate solution. Based on this insight, we identify code related to application functionalities by constructing the function-level call graph and separate other code (i.e., optional code) from FaaS applications. The separated optional code can be loaded on demand to avoid the inaccurate identification of indispensable code causing application failure. In particular, a key principle guiding the design of FaaSLight is inherently general, i.e., platform- and language-agnostic. In practice, FaaSLight can be effectively applied to FaaS applications developed in different programming languages (Python and JavaScript), and can be seamlessly deployed on popular serverless platforms such as AWS Lambda and Google Cloud Functions, without having to modify the underlying OSes or hypervisors, nor introducing any additional manual engineering efforts to developers. The evaluation results on real-world FaaS applications show that FaaSLight can significantly reduce the code loading latency (up to 78.95%, 28.78% on average), thereby reducing the cold-start latency. As a result, the total response latency of functions can be decreased by up to 42.05% (19.21% on average). Compared with the state-of-the-art, FaaSLight achieves a 21.25x improvement in reducing the average total response latency.
引用
收藏
页数:29
相关论文
共 4 条
  • [1] FaaSLight: General Application-Level Cold-Start Latency Optimization for Function-as-a-Service in Serverless Computing
    Liu, Xuanzhe
    Wen, Jinfeng
    Chen, Zhenpeng
    Li, Ding
    Chen, Junkai
    Liu, Yi
    Wang, Haoyu
    Jin, Xin
    arXiv, 2022,
  • [2] Sustainable Serverless Computing With Cold-Start Optimization and Automatic Workflow Resource Scheduling
    Pan, Shanxing
    Zhao, Hongyu
    Cai, Zinuo
    Li, Dongmei
    Ma, Ruhui
    Guan, Haibing
    IEEE TRANSACTIONS ON SUSTAINABLE COMPUTING, 2024, 9 (03): : 329 - 340
  • [3] A survey on the cold start latency approaches in serverless computing: an optimization-based perspective
    Ghorbian, Mohsen
    Ghobaei-Arani, Mostafa
    COMPUTING, 2024, 106 (11) : 3755 - 3809
  • [4] Effects of Service Function Relocation on Application-level Delay in Multi-access Edge Computing
    Kaneda, Junichi
    Arakawa, Shin'ichi
    Murata, Masayuki
    2018 IEEE 5G WORLD FORUM (5GWF), 2018, : 399 - 404