DOI QR코드

DOI QR Code

Survey on the Performance Enhancement in Serverless Computing: Current and Future Directions

성능 향상을 위한 서버리스 컴퓨팅 동향과 발전 방향

  • 이은영 (동덕여자대학교 컴퓨터학과)
  • Received : 2023.11.30
  • Accepted : 2023.12.27
  • Published : 2024.02.29

Abstract

The demand of users, who want to focus on the core functionality of their applications without having to manage complex virtual environments in the cloud environment, has created a new computing model called serverless computing. Within the serverless paradigm, resource provisioning and server administration tasks are delegated to cloud services, facilitating application development exclusively focused on program logic. Serverless computing has upgraded the utilization of cloud computing by reducing the burden on cloud service users, and it is expected to become the basic model of cloud computing in the future. A serverless platform is responsible for managing the cloud virtual environment on behalf of users, and it is also responsible for executing serverless functions that compose applications in the cloud environment. Considering the characteristics of serverless computing in which users are billed in proportion to the resources used, the efficiency of the serverless platform is a very important factor for both users and service providers. This paper aims to identify various factors that affect the performance of serverless computing and analyze the latest research trends related to it. Drawing upon the analysis, the future directions for serverless computing that address key challenges and opportunities in serverless computing are proposed.

클라우드 환경에서 복잡한 가상 환경을 관리할 필요 없이 애플리케이션 본연의 작업에 집중하기를 원하는 사용자의 요구는 서버리스 컴퓨팅이라는 새로운 컴퓨팅 모델을 탄생시켰다. 서버리스 컴퓨팅 모델에서 사용자는 서버에서의 자원 할당이나 기타 서버 관리를 서비스 제공자에게 위임하고, 자신은 애플리케이션 코드 개발에만 집중하여 클라우드 서비스를 사용하는 것이 가능해졌다. 서버리스 컴퓨팅은 클라우드 서비스 사용자의 부담을 감소시킴으로써 클라우드 컴퓨팅의 활용도를 한 단계 업그레이드시켰으며, 향후 클라우드 컴퓨팅의 기반 모델로 자리 잡을 것으로 예상된다. 서버리스 플랫폼은 사용자를 대신하여 클라우드 가상 환경에 대한 관리를 담당하며, 애플리케이션을 구성하는 서버리스 함수를 클라우드 환경에서 실행시키는 역할을 담당한다. 사용하는 자원에 비례하여 사용자 과금이 이루어지는 서버리스 컴퓨팅의 특징을 고려 할 때 서버리스 플랫폼의 효율성은 사용자와 서비스 제공자 모두에게 매우 중요한 요소라고 볼 수 있다. 본 논문에서는 서버리스 컴퓨팅 성능에 영향을 미치는 다양한 요소를 판별하고, 관련된 최신 연구 동향을 분석하고자 한다. 그리고 분석 결과를 바탕으로 향후 서버리스 컴퓨팅의 발전 방향과 관련된 연구 방향을 논의한다.

Keywords

Acknowledgement

이 논문은 2021년도 동덕여자대학교 연구년 제도 지원에 의하여 수행된 연구 결과물임.

References

  1. M. Armbrust et al., "Above the clouds: A Berkeley view of cloud computing," Technical Report UCB/EECS-2009-28, EECS Department, University of California at Berkeley, 2009. 
  2. P. Castro, V. Ishakian, V. Muthusamy, and A. Slominski, "The rise of serverless computing," Communications of the ACM, Vol.62, No.12, pp.44-54, 2019.  https://doi.org/10.1145/3368454
  3. "Amazon EC2." https://aws.amazon.com/pm/ec2/. Online available; accessed at 2023/09/28. 
  4. "Google App Engine." https://cloud.google.com/appengine/. Online available; accessed at 2023/09/28. 
  5. J. Mars, L. Tang, R. Hundt, K. Skadron, and M. L. Soffa, "Bubble-up: Increasing utilization in modern warehouse scale computers via sensible co-locations," in Proceedings of the 44th annual IEEE/ACM International Symposium on Microarchitecture, pp.248-259, 2011. 
  6. H. Yang, A. Breslow, J. Mars, and L. Tang, "Bubble-flux: Precise online QoS management for increased utilization in warehouse scale computers," ACM SIGARCH Computer Architecture News, Vol.41, pp.607-618, 2013.  https://doi.org/10.1145/2508148.2485974
  7. C. Delimitrou and C. Kozyrakis, "Quasar: Resource-efficient and QoS-aware cluster management," ACM SIGPLAN Notices, Vol.49, pp.127-144, 2014.  https://doi.org/10.1145/2644865.2541941
  8. Q. Zhang, L. Cheng, and R. Boutaba, "Cloud computing: state-of-the-art and research challenges," Journal of Internet Services and Applications, Vol.1, pp.7-18, 2010.  https://doi.org/10.1007/s13174-010-0007-6
  9. B. Varghese and R. Buyya, "Next generation cloud computing: New trends and research directions," Future Generation Computer Systems, Vol.79, pp.849-861, 2018.  https://doi.org/10.1016/j.future.2017.09.020
  10. J. Wen, Z. Chen, X. Jin, and X. Liu, "Rise of the planet of serverless computing: A systematic review," ACM Transactions on Software Engineering and Methodology, 2023. 
  11. H. Shafiei, A. Khonsari, and P. Mousavi, "Serverless computing: a survey of opportunities, challenges, and applications," ACM Computing Surveys, Vol.54, pp.1-32, 2022.  https://doi.org/10.1145/3510611
  12. "Serverless - the next step in cloud computing." https://quintagroup.com/blog/serverless-cloud-computing. Online available; accessed at 2023/12/23. 
  13. A. Mampage, S. Karunasekera, and R. Buyya, "A holistic view on resource management in serverless computing environments: Taxonomy and future directions," ACM Computing Surveys (CSUR), Vol.54, pp.1-36, 2022.  https://doi.org/10.1145/3510412
  14. Z. Li, L. Guo, J. Cheng, Q. Chen, B. He, and M. Guo, "The serverless computing survey: A technical primer for design architecture," ACM Computing Surveys (CSUR), Vol.54, pp.1-34, 2022.  https://doi.org/10.1145/3508360
  15. "AWS Lambda." https://aws.amazon.com/lambda. Online available; accessed at 2023/09/28. 
  16. "Google Cloud Functions." https://cloud.google.com/functions. Online available; accessed at 2023/09/28. 
  17. "Azure Functions." https://azure.microsoft.com/products/functions. Online available; accessed at 2023/09/28. 
  18. "Apache OpenWhisk." https://openwhisk.apache.org. Online available; accessed at 2023/09/28. 
  19. E. Jonas et al., "Cloud programming simplified: A Berkeley view on serverless computing," CoRR, Vol.abs/1902.03383, 2019. 
  20. C. Lin and H. Khazaei, "Modeling and optimization of performance and cost of serverless applications," IEEE Transactions on Parallel and Distributed Systems, Vol.32, No.3, pp.615-632, 2020.  https://doi.org/10.1109/TPDS.2020.3028841
  21. A. Mahgoub, E. B. Yi, K. Shankar, E. Minocha, S. Elnikety, S. Bagchi, and S. Chaterji, "WiseFuse: Workload characterization and DAG transformation for serverless workflows," Proceedings of the ACM on Measurement and Analysis of Computing Systems, Vol.6, No.2, pp.1-28, 2022.  https://doi.org/10.1145/3530892
  22. "AWS Step Functions." https://aws.amazon.com/step-functions/. Online available; accessed at 2023/09/28. 
  23. "Azure Durable Functions." https://docs.microsoft.com/en-us/azure/azure-functions/durable/. Online available; accessed at 2023/09/28. 
  24. "Google Cloud Composer." https://cloud.google.com/composer. Online available; accessed at 2023/09/28. 
  25. "Amazon State Language." https://docs.aws.amazon.com/step-functions/latest/. Online available; accessed at 2023/09/28. 
  26. S. Burckhardt et al., "Netherite: Efficient execution of serverless workflows," Proceedings of the VLDB Endowment, Vol.15, No.8, pp.1591-1604, 2022.  https://doi.org/10.14778/3529337.3529344
  27. S. Burckhardt, C. Gillum, D. Justo, K. Kallas, C. McMahon, and C. S. Meiklejohn, "Serverless workflows with durable functions and netherite," arXiv preprint arXiv:2103.00033, 2021. 
  28. S. Ristov, S. Pedratscher, and T. Fahringer, "AFCL: An abstract function choreography language for serverless workflow specification," Future Generation Computer Systems, Vol.114, pp.368-382, 2021.  https://doi.org/10.1016/j.future.2020.08.012
  29. P. G. Lopez, A. Arjona, J. Sampe, A. Slominski, and L. Villard, "Triggerflow: trigger-based orchestration of serverless workflows," in Proceedings of the 14th ACM international conference on distributed and event-based systems, pp.3-14, 2020. 
  30. J. Wen and Y. Liu, "An empirical study on serverless workflow service," arXiv preprint arXiv:2101.03513, 2021. 
  31. A. John, K. Ausmees, K. Muenzen, C. Kuhn, and A. Tan, "Sweep: accelerating scientific research through scalable serverless workflows," in Proceedings of the 12th IEEE/ACM International Conference on Utility and Cloud Computing Companion, pp.43-50, 2019. 
  32. A. Suresh, G. Somashekar, A. Varadarajan, V. R. Kakarla, H. Upadhyay, and A. Gandhi, "Ensure: Efficient scheduling and autonomous resource management in serverless environments," in 2020 IEEE International Conference on Autonomic Computing and Self-Organizing Systems (ACSOS), pp.1-10, 2020. 
  33. J. R. Gunasekaran, P. Thinakaran, N. Chidambaram, M. T. Kandemir, and C. R. Das, "Fifer: Tackling underutilization in the serverless era," arXiv preprint arXiv:2008. 12819, 2020. 
  34. R. B. Roy, T. Patel, and D. Tiwari, "IceBreaker: Warming serverless functions better with heterogeneity," in Proceedings of the 27th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, pp.753-767, 2022. 
  35. A. Suresh and A. Gandhi, "Fnsched: An efficient scheduler for serverless functions," in Proceedings of the 5th international Workshop on Serverless Computing, pp.19-24, 2019. 
  36. N. Akhtar, A. Raza, V. Ishakian, and I. Matta, "Cose: Configuring serverless functions using statistical learning," in IEEE INFOCOM 2020-IEEE Conference on Computer Communications, pp.129-138, 2020. 
  37. M. HoseinyFarahabady, Y. C. Lee, A. Y. Zomaya, and Z. Tari, "A QoS-aware resource allocation controller for function as a service (FaaS) platform," in Service-Oriented Computing: 15th International Conference, ICSOC 2017, Malaga, Spain, November 13-16, pp.241-255, 2017. 
  38. M. R. HoseinyFarahabady, A. Y. Zomaya, and Z. Tari, "A model predictive controller for managing QoS enforcements and microarchitecture-level interferences in a lambda platform," IEEE Transactions on Parallel and Distributed Systems, Vol.29, No.7, pp.1442-1455, 2017.  https://doi.org/10.1109/TPDS.2017.2779502
  39. Y. K. Kim, M. R. HoseinyFarahabady, Y. C. Lee, and A. Y. Zomaya, "Automated fine-grained CPU cap control in serverless computing platform," IEEE Transactions on Parallel and Distributed Systems, Vol.31, No.10, pp.2289-2301, 2020.  https://doi.org/10.1109/TPDS.2020.2989771
  40. N. Daw, U. Bellur, and P. Kulkarni, "Xanadu: Mitigating cascading cold starts in serverless function chain deployments," in Proceedings of the 21st International Middleware Conference, pp.356-370, 2020. 
  41. A. Singhvi, K. Houck, A. Balasubramanian, M. D. Shaikh, S. Venkataraman, and A. Akella, "Archipelago: A scalable low-latency serverless platform," arXiv preprint arXiv:1911.09849, 2019. 
  42. A. Tariq, A. Pahl, S. Nimmagadda, E. Rozner, and S. Lanka, "Sequoia: Enabling quality-of-service in serverless computing," in Proceedings of the 11th ACM Symposium on Cloud Computing, pp.311-327, 2020. 
  43. E. Hunhoff, S. Irshad, V. Thurimella, A. Tariq, and E. Rozner, "Proactive serverless function resource management," in Proceedings of the 2020 Sixth International Workshop on Serverless Computing, pp.61-66, 2020. 
  44. V. Sreekanti, C. Wu, X. C. Lin, J. Schleier-Smith, J. M. Faleiro, J. E. Gonzalez, J. M. Hellerstein, and A. Tumanov, "Cloudburst: Stateful functions-as-a-service," arXiv preprint arXiv:2001.04592, 2020. 
  45. T. Rausch, A. Rashed, and S. Dustdar, "Optimized container scheduling for data-intensive serverless edge computing," Future Generation Computer Systems, Vol.114, pp.259-271, 2021.  https://doi.org/10.1016/j.future.2020.07.017
  46. K. Kaffes, N. J. Yadwadkar, and C. Kozyrakis, "Hermod: principled and practical scheduling for serverless functions," in Proceedings of the 13th Symposium on Cloud Computing, pp.289-305, 2022. 
  47. S. Hendrickson, S. Sturdevant, T. Harter, V. Venkataramani, A. C. Arpaci-Dusseau, and R. H. Arpaci-Dusseau, "Serverless computation with OpenLambda," in 8th USENIX Workshop on Hot Topics in Cloud Computing (HotCloud 16), 2016. 
  48. G. Aumala, E. Boza, L. Ortiz-Aviles, G. Totoy, and C. Abad, "Beyond load balancing: Package-aware scheduling for serverless platforms," in 2019 19th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGRID), pp.282-291, 2019. 
  49. T. Zhang, D. Xie, F. Li, and R. Stutsman, "Narrowing the gap between serverless and its state with storage functions," in Proceedings of the ACM Symposium on Cloud Computing, pp.1-12, 2019. 
  50. R. Shashidhara, "Lambda-KV: Distributed key-value store with co-located serverless compute." unpublished. 
  51. J. You, J. Wu, X. Jin, and M. Chowdhury, "Ship compute or ship data? why not both?," in 18th USENIX Symposium on Networked Systems Design and Implementation (NSDI 21), pp.633-651, 2021. 
  52. M. S. Aslanpour, S. S. Gill, and A. N. Toosi, "Performance evaluation metrics for cloud, fog and edge computing: A review, taxonomy, benchmarks and standards for future research," Internet of Things, Vol.12, 2020. 
  53. R. Buyya et al., "A manifesto for future generation cloud computing: Research directions for the next decade," ACM Computing Surveys (CSUR), Vol.51, No.5, pp.1-38, 2018. 
  54. M. Ghobaei-Arani, A. Souri, and A. A. Rahmanian, "Resource management approaches in fog computing: a comprehensive review," Journal of Grid Computing, Vol.18, No.1, pp.1-42, 2020.  https://doi.org/10.1007/s10723-019-09491-1
  55. R. Mahmud, K. Ramamohanarao, and R. Buyya, "Application management in fog computing environments: A taxonomy, review and future directions," ACM Computing Surveys (CSUR), Vol.53, No.4, pp.1-43, 2020.  https://doi.org/10.1145/3403955
  56. I. Baldini, P. Cheng, S. J. Fink, N. Mitchell, V. Muthusamy, R. Rabbah, P. Suter, and O. Tardieu, "The serverless trilemma: Function composition for serverless computing," in Proceedings of the 2017 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software, pp.89-103, 2017. 
  57. "Lambda@edge." https://aws.amazon.com/lambda/edge/. Online available; accessed at 2023/09/28. 
  58. S. Han, N. Egi, A. Panda, S. Ratnasamy, G. Shi, and S. Shenker, "Network support for resource disaggregation in next-generation data centers," in Proceedings of the Twelfth ACM Workshop on Hot Topics in Networks, pp.1-7, 2013. 
  59. J. M. Hellerstein, J. Faleiro, J. E. Gonzalez, J. Schleier-Smith, V. Sreekanti, A. Tumanov, and C. Wu, "Serverless computing: One step forward, two steps back," arXiv preprint arXiv:1812.03651, 2018. 
  60. D. Barcelona-Pons, P. Sutra, M. Sanchez-Artigas, G. Paris, and P. Garcia-Lopez, "Stateful serverless computing with crucial," ACM Transactions on Software Engineering and Methodology (TOSEM), Vol.31, No.3, pp.1-38, 2022.  https://doi.org/10.1145/3490386
  61. J. M. Hellerstein, M. Stonebraker, J. Hamilton, "Architecture of a database system," Foundations and Trends® in Databases, Vol.1, No.2, pp.141-259, 2007.  https://doi.org/10.1561/1900000002
  62. J. C. Corbett et al., "Spanner: Google's globally distributed database," ACM Transactions on Computer Systems (TOCS), Vol.31, No.3, pp.1-22, 2013.  https://doi.org/10.1145/2491245
  63. "Cockroach DB." https://www.cockroachlabs.com/docs/stable/developer-guide-overview. Online available; accessed at 2023/09/28. 
  64. H. Ding, Z. Wang, Z. Shen, R. Chen, and H. Chen, "Automated verification of idempotence for stateful serverless applications," in 17th USENIX Symposium on Operating Systems Design and Implementation (OSDI 23), pp.887-910, 2023. 
  65. J. Ousterhout et al., "The RAMCloud storage system," ACM Transactions on Computer Systems (TOCS), Vol.33, No.3, pp.1-55, 2015.  https://doi.org/10.1145/2806887
  66. A. Dragojevic, D. Narayanan, M. Castro, and O. Hodson, "FaRM: Fast remote memory," in 11th USENIX Symposium on Networked Systems Design and Implementation (NSDI 14), pp.401-414, 2014. 
  67. A. Klimovic, Y. Wang, P. Stuedi, A. Trivedi, J. Pfefferle, and C. Kozyrakis, "Pocket: Elastic ephemeral storage for serverless analytics," in 13th USENIX Symposium on Operating Systems Design and Implementation (OSDI 18), pp.427-444, 2018. 
  68. C. Wu, V. Sreekanti, and J. M. Hellerstein, "Autoscaling tiered cloud storage in anna," Proceedings of the VLDB Endowment, Vol.12, pp.624-638, 2019.  https://doi.org/10.14778/3311880.3311881
  69. A. Chen, "A review of emerging non-volatile memory (NVM) technologies and applications," Solid-State Electronics, Vol.125, pp.25-38, 2016.  https://doi.org/10.1016/j.sse.2016.07.006
  70. M. Lipp et al., "Meltdown: Reading kernel memory from user space," Communications of the ACM, Vol.63, No.6, pp.46-56, 2020.  https://doi.org/10.1145/3357033
  71. P. Kocher et al., "Spectre attacks: Exploiting speculative execution," Communications of the ACM, Vol.63, No.7, pp.93-101, 2020.  https://doi.org/10.1145/3399742
  72. A. Perez, G. Molto, M. Caballer, and A. Calatrava, "A programming model and middleware for high throughput serverless computing applications," in Proceedings of the 34th ACM/SIGAPP Symposium on Applied Computing, pp.106-113, 2019. 
  73. W. Zhang, V. Fang, A. Panda, and S. Shenker, "Kappa: A programming framework for serverless computing," in Proceedings of the 11th ACM Symposium on Cloud Computing, pp.328-343, 2020. 
  74. S. Risco, G. Molto, D. M. Naranjo, and I. Blanquer, "Serverless workflows for containerised applications in the cloud continuum," Journal of Grid Computing, Vol.19, pp.1-18, 2021.  https://doi.org/10.1007/s10723-021-09539-1
  75. E. Jonas, Q. Pu, S. Venkataraman, I. Stoica, and B. Recht, "Occupy the cloud: Distributed computing for the 99%," in Proceedings of the 2017 Symposium on Cloud Computing, pp.445-451, 2017. 
  76. Maurizio, S. Giallorenzo, I. Lanese, F. Montesi, M. Peressotti, and S. P. G. Zingaro, "No more, no less: A formal model for serverless computing," in Coordination Models and Languages: 21st IFIP WG 6.1 International Conference, pp.148-157, 2019. 
  77. S. Winzinger and G. Wirtz, "Model-based analysis of serverless applications," in 2019 IEEE/ACM 11th International Workshop on Modelling in Software Engineering (MiSE), pp.82-88, 2019. 
  78. V. Lenarduzzi and A. Panichella, "Serverless testing: Tool vendors' and experts' points of view," IEEE Software, Vol.38, No.1, pp.54-60, 2020.  https://doi.org/10.1109/MS.2020.3030803
  79. S. Winzinger and G. Wirtz, "Applicability of coverage criteria for serverless applications," in 2020 IEEE International Conference on Service Oriented Systems Engineering (SOSE), pp.49-56, 2020. 
  80. Y. Gan et al., "An open-source benchmark suite for microservices and their hardware-software implications for cloud & edge systems," in Proceedings of the Twenty-Fourth International Conference on Architectural Support for Programming Languages and Operating Systems, pp.3-18, 2019. 
  81. T. Yu et al., "Characterizing serverless platforms with serverlessbench," in Proceedings of the 11th ACM Symposium on Cloud Computing, pp.30-44, 2020. 
  82. P. Maissen, P. Felber, P. Kropf, and V. Schiavoni, "Faasdom: A benchmark suite for serverless computing," in Proceedings of the 14th ACM International Conference on Distributed and Event-based Systems, pp.73-84, 2020. 
  83. N. Mahmoudi and H. Khazaei, "SimFaaS: A performance simulator for serverless computing platforms," arXiv preprint arXiv:2102.08904, 2021. 
  84. M. Prechtl, R. Lichtenthaler, and G. Wirtz, "Investigating possibilites for protecting and hardening installable FaaS platforms," in 14th Symposium and Summer School on Service-Oriented Computing, SummerSOC 2020, Crete, Greece, September 13-19, 2020 14, pp.107-126, 2020. 
  85. "Amazon Lambda authorizer." https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-use-lambda-authorizer.html. Online available; accessed at 2023/09/28. 
  86. K. Swedha and T. Dubey, "Analysis of web authentication methods using amazon web services," in 9th International Conference on Computing, Communication and Networking Technologies (ICCCNT), pp.1-6, 2018. 
  87. D. S. Jegan, L. Wang, S. Bhagat, T. Ristenpart, and M. Swift, "Guarding serverless applications with seclambda," arXiv preprint arXiv:2011.05322, 2020. 
  88. P. Datta, P. Kumar, T. Morris, M. Grace, A. Rahmati, and A. Bates, "Valve: Securing function workflows on serverless computing platforms," in Proceedings of The Web Conference 2020, pp.939-950, 2020. 
  89. K. Alpernas, C. Flanagan, S. Fouladi, L. Ryzhyk, M. Sagiv, T. Schmitz, and K. Winstein, "Secure serverless computing using dynamic information flow control," Proceedings of the ACM on Programming Languages, Vol.2, pp.1-26, 2018.