FaaSCtrl: A Comprehensive-Latency Controller for Serverless Platforms - Panda, Abhisek; Sarangi, Smruti R. (IEEE transactions on cloud computing, 2024)
Serverless computing systems have become very popular because of their natural advantages with respect to auto-scaling, load balancing and fast distributed processing. As of today, almost all serverless systems define two QoS classes: best-effort ( BE BE<inline-graphic xlink:href="panda-ieq1-3473015.gif"/> ) and latency-sensitive ( LS LS<inline-graphic xlink:href="panda-ieq2-3473015.gif"/> ). Systems typically do not offer any latency or QoS guarantees for BE BE<inline-graphic xlink:href="panda-ieq3-3473015.gif"/> jobs and run them on a best-effort basis. In contrast, systems strive to minimize the processing time for LS LS<inline-graphic xlink:href="panda-ieq4-3473015.gif"/> jobs. This work proposes a precise definition for these job classes and argues that we need to consider a bouquet of performance metrics for serverless applications, not just a single one. We thus propose the comprehensive latency ( CL CL<inline-graphic xlink:href="panda-ieq5-3473015.gif"/> ) that comprises the mean, tail latency, median and standard deviation of a series of invocations for a given serverless function. Next, we design a system FaaSCtrl , whose main objective is to ensure that every component of the CL CL<inline-graphic xlink:href="panda-ieq6-3473015.gif"/> is within a prespecified limit for an LS application, and for BE applications, these components are minimized on a best-effort basis. Given the sheer complexity of the scheduling problem in a large multi-application setup, we use the method of surrogate functions in optimization theory to design a simpler optimization problem that relies on performance and fairness. We rigorously establish the relevance of these metrics through characterization studies. Instead of using standard approaches based on optimization theory, we use a much faster reinforcement learning (RL) based approach to tune the knobs that govern process scheduling in Linux, namely the real-time priority and the assigned number of cores. RL works well in this scenario because the benefit of a given optimization is probabilistic in nature, owing to the inherent complexity of the system. We show using rigorous experiments on a set of real-world workloads that FaaSCtrl achieves its objectives for both LS and BE applications and outperforms the state-of-the-art by 36.9% (for tail response latency) and 44.6% (for response latency's std. dev.) for LS applications.