Fireworks: A Fast, Efficient and Safe Serverless Framework
MetadataShow full item record
Serverless computing is a new paradigm, and it is becoming rapidly popular in Cloud computing. Serverless computing has interesting, unique properties that the unit of deployment and execution is a serverless function. Moreover, it introduces the new economic model pay-as-you-go billing model. It provides a high economic benefit from highly elastic resource provisioning to the application. However, it also accompanies the new challenges for serverless computing: (1) start-up time latency problem from relatively short function execution time, (2) high-security risk from highly consolidated environment, and (3) memory efficiency problem from unpredictable function invocations. These problems not only degrade performance but also lowers the economic benefits of Cloud providers. In this work, we propose VM-level pre-JIT snapshot and develop Fireworks to solve the three main challenges without any compromises. The key idea behind the VM-level preJIT snapshot is to leverage pre-JITted serverless function codes to reduce both start-up time and execution time of the function and improve memory efficiency by sharing the pre-JITted codes. Also, Fireworks can provide high-level isolation by storing the pre-JITted codes to the snapshot of microVM's snapshot. Our evaluation shows that Fireworks outperforms the state-of-art serverless platforms by 20.6× and memory efficiency up to 7.3×.
General Audience Abstract
Serverless computing is the most popular in cloud computing. Contrary to its name, developers write and run their code on servers managed by cloud providers. The number of servers, required CPU, memory are automatically adjusted in proportion to the incoming traffic. Also, the users only pay for what they use and the pay-as-you-go attracts attention as new infrastructure. Serverless computing continues to evolve and it is being done as research from business to academic. There are many efforts to reduce cold start, which is the delay in creating the necessary resources when a serverless program runs first. The serverless platforms prepare resources in advance or provide lighter cloud resources. However, this can waste resources or increase a security threat. In this work, we propose a fast, efficient, and safe serverless framework. We use Just-In-Time (JIT) compilation, which can improve the performance of the interpreter languages which are widely used in the serverless. We keep the JIT-generated machine code in the snapshot for reuse. Besides, the security is guaranteed by the VM-level snapshot. In addition, the snapshot can be shared, increasing memory efficiency. Through our implementation and evaluation, we have shown that Fireworks improve up to 20 times in terms of cold start performance and more than 7 times in memory efficiency than state-of-the-art serverless platforms. We believe our research has made a new way to use the JIT and the snapshot in the serverless computing.
- Masters Theses