Catalyzer: Sub-millisecond Startup for Serverless Computing with Initialization-less Booting

被引:182
作者
Du, Dong [1 ,2 ]
Yu, Tianyi [1 ,2 ,3 ]
Xia, Yubin [1 ,2 ]
Zang, Binyu [1 ,2 ]
Yan, Guanglu [3 ]
Qin, Chenggang [3 ]
Wu, Qixuan [3 ]
Chen, Haibo [1 ,2 ]
机构
[1] Shanghai Jiao Tong Univ, Shanghai Key Lab Scalable Comp & Syst, Shanghai, Peoples R China
[2] Shanghai Jiao Tong Univ, Inst Parallel & Distributed Syst, Shanghai, Peoples R China
[3] Ant Financial Serv Grp, Hangzhou, Zhejiang, Peoples R China
来源
TWENTY-FIFTH INTERNATIONAL CONFERENCE ON ARCHITECTURAL SUPPORT FOR PROGRAMMING LANGUAGES AND OPERATING SYSTEMS (ASPLOS XXV) | 2020年
基金
中国国家自然科学基金;
关键词
serverless computing; startup latency; check-point and restore; operating system;
D O I
10.1145/3373376.3378512
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Serverless computing promises cost-efficiency and elasticity for high-productive software development. To achieve this, the serverless sandbox system must address two challenges: strong isolation between function instances, and low startup latency to ensure user experience. While strong isolation can be provided by virtualization-based sandboxes, the initialization of sandbox and application causes non-negligible startup overhead. Conventional sandbox systems fall short in low-latency startup due to their application-agnostic nature: they can only reduce the latency of sandbox initialization through hypervisor and guest kernel customization, which is inadequate and does not mitigate the majority of startup overhead. This paper proposes Catalyzer, a serverless sandbox system design providing both strong isolation and extremely fast function startup. Instead of booting from scratch, Catalyzer restores a virtualization-based function instance from a well-formed checkpoint image and thereby skips the initialization on the critical path (init-less). Catalyzer boosts the restore performance by on-demand recovering both user-level memory state and system state. We also propose a new OS primitive, sfork (sandbox fork), to further reduce the startup latency by directly reusing the state of a running sandbox instance. Fundamentally, Catalyzer removes the initialization cost by reusing state, which enables general optimizations for diverse serverless functions. The evaluation shows that Catalyzer reduces startup latency by orders of magnitude, achieves <1ms latency in the best case, and significantly reduces the end-to-end latency for real-world workloads. Catalyzer has been adopted by Ant Financial, and we also present lessons learned from industrial development.
引用
收藏
页码:467 / 481
页数:15
相关论文
共 29 条
[1]  
Akkus IE, 2018, PROCEEDINGS OF THE 2018 USENIX ANNUAL TECHNICAL CONFERENCE, P923
[2]  
Amit N, 2018, PROCEEDINGS OF THE 2018 USENIX ANNUAL TECHNICAL CONFERENCE, P97
[3]  
[Anonymous], 2019, Serverless Computing: One Step Forward, Two Steps Back
[4]  
Belay Adam, 2012, P 10 USENIX C OP SYS, P335
[5]  
Bellard F, 2005, USENIX Association Proceedings of the FREENIX/Open Source Track, P41
[6]  
Boucher S, 2018, PROCEEDINGS OF THE 2018 USENIX ANNUAL TECHNICAL CONFERENCE, P645
[7]   An Open-Source Benchmark Suite for Microservices and Their Hardware-Software Implications for Cloud & Edge Systems [J].
Gan, Yu ;
Zhang, Yanqi ;
Cheng, Dailun ;
Shetty, Ankitha ;
Rathi, Priyal ;
Katarki, Nayan ;
Bruno, Ariana ;
Hu, Justin ;
Ritchken, Brian ;
Jackson, Brendon ;
Hu, Kelvin ;
Pancholi, Meghna ;
He, Yuan ;
Clancy, Brett ;
Colen, Chris ;
Wen, Fukang ;
Leung, Catherine ;
Wang, Siyuan ;
Zaruvinsky, Leon ;
Espinosa, Mateo ;
Lin, Rick ;
Liu, Zhongling ;
Padilla, Jake ;
Delimitrou, Christina .
TWENTY-FOURTH INTERNATIONAL CONFERENCE ON ARCHITECTURAL SUPPORT FOR PROGRAMMING LANGUAGES AND OPERATING SYSTEMS (ASPLOS XXIV), 2019, :3-18
[8]  
Gordon A, 2012, ASPLOS XVII: SEVENTEENTH INTERNATIONAL CONFERENCE ON ARCHITECTURAL SUPPORT FOR PROGRAMMING LANGUAGES AND OPERATING SYSTEMS, P411
[9]  
Kashyap S, 2018, PROCEEDINGS OF THE 2018 USENIX ANNUAL TECHNICAL CONFERENCE, P159
[10]  
Kivity A., 2014, Proceedings of the 2014 USENIX Annual Technical Conference, P61