Sentinel: A Fast and Memory-Efficient Serverless Architecture for Lightweight Applications
Serverless computing is a new computing paradigm that enables application developers to focus on the core service logic of their applications. To protect the host kernel from attacks, serverless service providers need to ensure isolation between application sandboxes while keeping the startup latency and memory usage low. Existing architectures provide the warm start functionality to alleviate the startup latency. However, as warm starts are achieved at the cost of high memory usage, handling all requests as warm starts is virtually impossible. Therefore, mitigating the cold start overhead is key to improving startup latency. In the real world, serverless applications tend to be uncomplicated; they only issue simple system calls and do not modify the underlying filesystem. While existing architectures support full-fledged virtualization, serverless applications support many functionalities and data structures that are unnecessary for simple applications. This paper proposes Sentinel, a serverless architecture to target those simple applications. By stripping the unnecessary functionalities and providing the bare minimum OS virtualization needed to execute the targeted applications, Sentinel achieves drastic improvement compared to existing architectures; up to 10×× shorter startup overhead, 8.13×× shorter end-to-end execution latency, and 98% lower memory usage.