Dynamic Control of CPU Usage in a Lambda Platform

Lambda platform is a new concept based on an event-driven server-less computation that empowers application developers to build scalable enterprise software in a virtualized environment without provisioning or managing any physical servers (a server-less solution). In reality, however, devising an effective consolidation method to host multiple Lambda functions into a single machine is challenging. The existing simple resource allocation algorithms, such as the round-robin policy used in many commercial server-less systems, suffer from lack of responsiveness to a sudden surge in the incoming workload. This will result in an unsatisfactory performance degradation that is directly experienced by the end-user of a Lambda application. In this paper, we address the problem of CPU cap management in a Lambda platform for ensuring different QoS enforcement levels in a platform with shared resources, in case of fluctuations and sudden surges in the incoming workload requests. To this end, we present a closed-loop (feedback-based) CPU cap controller, which fulfills the QoS levels enforced by the application owners. The controller adjusts the number of working threads per QoS class and dispatches the outstanding Lambda functions along with the associated events to the most appropriate working thread. The proposed solution reduces the QoS violations by an average of 6.36 times compared to the round-robin policy. It can also maintain the end-to-end response time of applications belonging to the highest priority QoS class close to the target set-point while decreasing the overall response time by up to 52%.

[1]  Xiaohui Gu,et al.  CloudScale: elastic resource scaling for multi-tenant cloud systems , 2011, SoCC.

[2]  Albert Y. Zomaya,et al.  Profiling-Based Workload Consolidation and Migration in Virtualized Data Centers , 2015, IEEE Transactions on Parallel and Distributed Systems.

[3]  Zahir Tari,et al.  A Model Predictive Controller for Managing QoS Enforcements and Microarchitecture-Level Interferences in a Lambda Platform , 2018, IEEE Transactions on Parallel and Distributed Systems.

[4]  J. Hintze,et al.  Violin plots : A box plot-density trace synergism , 1998 .

[5]  Balachander Krishnamurthy,et al.  Flash crowds and denial of service attacks: characterization and implications for CDNs and web sites , 2002, WWW.

[6]  Kang G. Shin,et al.  Automated control of multiple virtualized resources , 2009, EuroSys '09.

[7]  Virgílio A. F. Almeida,et al.  A hierarchical and multiscale approach to analyze E-business workloads , 2003, Perform. Evaluation.

[8]  Zahir Tari,et al.  A QoS-Aware Resource Allocation Controller for Function as a Service (FaaS) Platform , 2017, ICSOC.

[9]  Masayuki Murata,et al.  Cloud bursting approach based on predicting requests for business-critical web systems , 2017, 2017 International Conference on Computing, Networking and Communications (ICNC).

[10]  Zhenhuan Gong,et al.  PRESS: PRedictive Elastic ReSource Scaling for cloud systems , 2010, 2010 International Conference on Network and Service Management.

[11]  Song Jiang,et al.  Workload analysis of a large-scale key-value store , 2012, SIGMETRICS '12.

[12]  Daniel P. Siewiorek,et al.  Practical solutions for QoS-based resource allocation problems , 1998, Proceedings 19th IEEE Real-Time Systems Symposium (Cat. No.98CB36279).

[13]  C. Holt Author's retrospective on ‘Forecasting seasonals and trends by exponentially weighted moving averages’ , 2004 .

[14]  J. W. Taylor,et al.  Short-Term Load Forecasting With Exponentially Weighted Methods , 2012, IEEE Transactions on Power Systems.

[15]  Peter Sbarski,et al.  Serverless Architectures on AWS: With examples using AWS Lambda , 2017 .

[16]  James M. Lucas,et al.  Exponentially weighted moving average control schemes: Properties and enhancements , 1990 .

[17]  Rubby Casallas,et al.  Infrastructure Cost Comparison of Running Web Applications in the Cloud Using AWS Lambda and Monolithic and Microservice Architectures , 2016, 2016 16th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGrid).

[18]  Andrea C. Arpaci-Dusseau,et al.  Serverless Computation with OpenLambda , 2016, HotCloud.