یک چارچوب ریزدانه و آگاه از محل غیرمتمرکز برای مدیریت حافظه نهان در رایانش بدون سرور
محورهای موضوعی : مهندسی برق و کامپیوتر
محمد کاهانی
1
,
سعید ابریشمی
2
*
,
عادل نجاران طوسی
3
1 - گروه مهندسی کامپیوتر، دانشکده مهندسی، دانشگاه فردوسی مشهد، مشهد، ایران
2 - گروه مهندسی کامپیوتر، دانشکده مهندسی، دانشگاه فردوسی مشهد، مشهد، ایران
3 - دانشکده سیستم_های محاسباتی و اطلاعاتی، دانشگاه ملبورن، استرالیا
کلید واژه: رایانش بدون سرور, تابع به عنوان خدمت, توابع حالتمند, حافظه نهان در سطح تابع, توابع مبدأ.,
چکیده مقاله :
امروزه استفاده از برنامههای مبتنی بر رایانش بدون سرور و تابع بهعنوان سرویس بهطور فزایندهای گسترش یافته است. این رویکرد به کاربران اجازه میدهد بدون نیاز به پیکربندی میزبانهای زیرساختی، برنامههای خود را مستقر کرده و از مزایایی همچون مدل هزینه مبتنی بر مصرف، انعطافپذیری و مقیاسپذیری خودکار سکوهای بدون سرور بهرهمند شوند. با این حال، به دلیل ماهیت بدونحالت توابع بدون سرور، در سناریوهایی که توابع نیازمند تعامل با یکدیگر هستند یا دسترسی به دادههای حجیم مطرح است، کارآیی سیستم با محدودیت مواجه میشود. در رویکردهای متداول، برای رفع این محدودیت از انبارههای داده راه دور مانند 3Amazon S استفاده میشود که سربار زمانی قابل توجهی ایجاد میکنند. یکی از راهکارهای کاهش این سربار، بهکارگیری حافظه نهان است. اگرچه مطالعاتی در این زمینه انجام شده است، اما این پژوهشها عموماً حافظه نهان را در سطح میزبان یا در سطح کل برنامه کاربردی مدیریت کردهاند که از کارایی مطلوب برخوردار نیست. در این مقاله، با ارائه چارچوبی جدید در بستر متنباز بدون سرور، یک سامانه ریزدانه مدیریت حافظه نهان در سطح هر تابع و مبتنی بر آگاهی از محلیت پیشنهاد شده است. این رویکرد ضمن کاهش زمان پاسخ توابع، امکان بهرهبرداری بهینهتر از منابع موجود را نیز فراهم میسازد.
Nowadays, the use of serverless computing and Function-as-a-Service (FaaS) applications has been rapidly increasing. This paradigm enables users to deploy their applications without the need to configure infrastructure hosts, while benefiting from advantages such as pay-per-use pricing, flexibility, and automatic scalability of serverless platforms. However, due to the stateless nature of serverless functions, system performance is often limited in scenarios where functions need to interact with each other or when accessing large volumes of data. In common approaches, remote data stores such as Amazon S3 are employed to address this limitation, which introduce significant latency overhead. One solution to mitigate this overhead is the use of caching. Although several studies have explored caching in serverless environments, they generally manage caches either at the host level or at the application level, which does not yield optimal performance. In this paper, we propose a novel framework on an open-source serverless platform that introduces a fine-grained, locality-aware caching system at the function level. This approach not only reduces function response time but also enables more efficient utilization of available resources.
[1] G. P. Mattia and R. Beraldi, "P2PFaaS: A framework for FaaS peer-to-peer scheduling and load balancing in fog and edge computing," SoftwareX, vol. 21, Article ID: 101290, Feb. 2023.
[2] J. Wen, Z. Chen, X. Jin, and X. Liu, "Rise of the planet of serverless computing: A systematic review, "ACM Trans. Software Engineeing. Methodology, vol. 32, no. 5, Article ID: 13, 2023.
[3] H. Shafiei, A. Khonsari, and P. Mousavi, "Serverless computing: A survey of opportunities, challenges, and applications, "ACM Computing Survey, vol. 54, no. 11S, Article ID: 239, Jan. 2022.
[4] Amazon, Amazon S3, [Online] Available: https://aws.amazon.com/s3/ [Accessed Jan. 2024]
[5] –, Cloudstate: Distributed State Management for Serverless, [Online]. Available: https://github.com/cloudstateio/cloudstate [Accessed Jan. 2024].
[6] –, Stateful Functions: A Platform-Independent Stateful Serverless Stack, [Online]. Available: https://nightlies.apache.org/flink/flink-statefun-docs-master/ [Accessed Ja. 2024].
[7] H. Zhang, A. Cardoza, P. B. Chen, S. Angel, and V. Liu, "Fault-tolerant and transactional stateful serverless workflows," in Proc. 4th USENIX Symp. on Operating Systems Design and Implementation, pp. 1187-1204, 4-6 Nov. Aug. 2020.
[8] V. Sreekanti, et al., "Cloudburst: stateful functions-as-a-service," Proc. of the VLDB Endowment, vol. 13, no. 11, pp. 2438-2452, 2020.
[9] Z. Jia and E. Witchel, "Boki: Stateful serverless computing with shared logs," in Proc. of the ACM SIGOPS 28th Symp. on Operating Systems Principles, pp. 691-707, Virtual Event Germany, 26-29 Oct. 2021.
[10] D. Barcelona-Pons, P. Sutra, M. Sanchez-Artigas, G. Paris, and P. Garcia-Lopez, "Stateful serverless computing with crucial," ACM Trans. on Software Engineering and Methodology, vol. 31, no. 3, Article ID: 39, 38 pp., Jul. 2022.
[11] F. Romero, et al., "Faa$T: A transparent auto-scaling cache for serverless applications," in Proc. of the ACM Symp. on Cloud Computing, pp. 122-137, Seattle, WA, USA, 1-4 Nov. 2021.
[12] Ao Wang, et al., "InfiniCache: exploiting ephemeral serverless functions to build a cost-effective memory cache," in Proc. of the 18th USENIX Conf, on File and Storage Technologies, pp. 267-282, Santa Clar, CA, USA, 24-27 Feb. 2020.
[13] J. Zhang, et al., "InfiniStore: Elastic serverless cloud storage," Proc. of the VLDB Endowment, vol. 16, no. 7, p. 1629-1642, Mar. 2023.
[14] –, Kubernetes, [Online]. Available: https://kubernetes.io/ [Accessed Jan. 2024].
[15] A. Klimovic, et al., "Pocket: Elastic ephemeral storage for serverless analytics," in Proc. of the 13th USENIX Symp. on Operating Systems Design and Implementation, pp. 428-444, Carlsbad, CA, USA, 8-10 Oct. 2018.
[16] C. Wu, V. Sreekanti, and J. M. Hellerstein, "Transactional causal consistency for serverless computing," in Proc. of the 2020 ACM SIGMOD Int. Conf. on Management of Data, pp. 83-97, Portland, OR, USA, 14-19 Jun. 2020.
[17] D.Mvondo, et al., "OFC: an opportunistic caching system for FaaS platforms," in Proc. of the 16th European Conf. on Computer Systems, pp. 228-244, Virtual Event UKy, 26-28 Apr. 2021.
[18] –, OpenFaaS, [Online]. Available: https://docs.openfaas.com/architecture/gateway/ [Accessed Jan. 2024]
[19] –, OpenEBS, [Online]. Available: https://openebs.io/docs/ [Accessed January 2024]
[20] –, Sidecar Containers, 2023. [Online]. Available: https://kubernetes.io/docs/concepts/workloads/pods/sidecar-containers/. [Accessed 5 Sept. 2023]
[21] A. Fuerst and P. Sharma, "Locality-aware load-balancing for serverless clusters," in Proc. of the 31st Int. Symp. on High-Performance Parallel and Distributed Computing, pp. 227-239, Minneapolis, MN, USA, 27 Jun.-1 Jul. 2022.
[22] Y. Lee and S. Choi, "A greedy load balancing algorithm for FaaS platforms," in Proc. of the 2021 5th Int. Conf. on Cloud and Big Data Computing, pp. 63-69, Liverpool, UK, 13-15 Aug. 2021.
[23] –, IPVS Scheduling Algorithm, [Online]. Available: https://keepalived-pqa.readthedocs.io/en/latest/scheduling_algorithms.html [Accessed Jan. 2024].
[24] J. Kim and K. Lee, "FunctionBench: A suite of workloads for serverless cloud function service," in Proc. 2019 IEEE 12th Int. Conf. on Cloud Computing, pp. 502-504, Milan, Italy, 8-13 Jul. 2019.
[25] S. Elnikety, Azure Public Dataset, [Online]. Available: https://github.com/Azure/AzurePublicDataset/blob/master/AzureFunctionsInvocationTrace2021.md [Accessed Jan. 2024].