LambdaLite: Application-Level Optimization for Cold Start Latency in Serverless Computing
Serverless computing is an emerging cloud computing paradigm that frees developers from server management. However, existing studies report that software applications developed in serverless fashion (named serverless applications) severely suffer from cold start latency. We propose an application-level performance optimization approach called LambdaLite, for accelerating the cold start for serverless applications. We first conduct a measurement study to investigate the possible root cause of the cold start problem and find that application code loading latency is the dominant overhead. Therefore, loading only indispensable code from serverless 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 (optional code) from the serverless application. The separated optional code can be loaded on demand to avoid the inaccurate identification of indispensable code causing application failure. In practice, LambdaLite can be seamlessly deployed on existing serverless platforms without the need to modify the underlying OSes or hypervisors, nor introduce additional manual efforts to developers. Evaluation results on 15 real-world serverless applications show that our approach can significantly reduce the application code loading latency (up to 78.95 thereby reducing the cold start latency. As a result, the total response latency of serverless applications can be decreased by up to 42.05 19.21 improvement on the total response latency of serverless applications.
READ FULL TEXT