Abstract
Serverless computing allows developers to break their code into small components, known as functions. Being lightweight and modular, serverless functions have been increasingly employed in edge computing, where quick responses and adaptability are key to meeting strict latency requirements. In particular, edge nodes are intrinsically resource-constrained, and efficient resource allocation strategies are crucial for optimizing their usage. Different approaches exist in the literature, but they often overlook the dependencies among functions, that is, how and when functions invoke other functions, and obtain suboptimal results. This paper presents NEPTUNE\(^{+}\), a dependency-aware resource (CPU cores) allocation solution for serverless functions deployed on edge infrastructures. The approach extends NEPTUNE, an existing framework for managing edge infrastructures, with a new theoretical model and control algorithm that take function dependencies into account. We evaluated NEPTUNE\(^{+}\) by using three applications and it is able to allocate up to 42% fewer cores compared to NEPTUNE.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
The work presented in this paper is partially supported by project ICTD4Dev, funded by AICS, and by project EMELIOT, funded by the MUR under the PRIN 2020 program (Contract 2020W3A5FY).
- 2.
Note that our approach allows a function \(f_i\) to invoke another function \(f_j\) both in sequential and parallel mode by having multiple, properly annotated, edges between i and j (as in multigraphs [1]). Here, we do not focus on such edge cases to keep our formalization as simple as possible.
- 3.
Note that an invocation is external with respect to the execution environment of the invoked function (as for the use of “external” in external response time).
- 4.
Source code available at https://github.com/deib-polimi/RAS/tree/dependencies.
- 5.
- 6.
References
Balakrishnan, V.K.: Graph Theory, vol. 1. McGraw-Hill, New York (1997)
Baresi, L., Hu, D.Y.X., Quattrocchi, G., Terracciano, L.: Neptune: network-and GPU-aware management of serverless functions at the edge. In: Proceedings of the Symposium on Software Engineering for Adaptive and Self-Managing Systems, pp. 144–155 (2022)
Baresi, L., Quattrocchi, G.: A simulation-based comparallelison between industrial autoscaling solutions and COCOS for cloud applications. In: International Conference on Web Services, pp. 94–101 (2020)
Bhasi, V.M., Gunasekaran, J.R., Thinakaran, P., Mishra, C.S., Kandemir, M.T., Das, C.: Kraken: adaptive container provisioning for deploying dynamic DAGs in serverless platforms. In: Proceedings of the ACM Symposium on Cloud Computing. ACM (2021)
Borase, R.P., Maghade, D.K., Sondkar, S.Y., Pawar, S.N.: A review of PID control, tuning methods and applications. Int. J. Dyn. Control 9, 818–827 (2021)
Cassel, G.A.S., et al.: Serverless computing for internet of things: a systematic literature review. Futur. Gener. Comput. Syst. 128, 299–316 (2022)
Daw, N., Bellur, U., Kulkarni, P.: Xanadu: mitigating cascading cold starts in serverless function chain deployments. In: Proceedings of International Middleware Conference. ACM (2020)
Deng, S., et al.: Dependent function embedding for distributed serverless edge computing. Trans. Parallel Distrib. Syst. 33(10), 2346–2357 (2021)
El Ioini, N., Hästbacka, D., Pahl, C., Taibi, D.: Platforms for serverless at the edge: a review. In: Zirpins, C., et al. (eds.) ESOCC 2020. CCIS, vol. 1360, pp. 29–40. Springer, Cham (2021). https://doi.org/10.1007/978-3-030-71906-7_3
Elgamal, T., Sandur, A., Nahrstedt, K., Agha, G.: Costless: optimizing cost of serverless computing through function fusion and placement. In: ACM Symposium on Edge Computing, pp. 300–312 (2018)
EsParallelrachiari, S., Reilly, T., Rentz, A.: Tracking and controlling microservice dependencies: Dependency management is a crucial parallelt of system and software design. Queue 16(4), 44–65 (2018)
Fontana, F.A., Pigazzini, I., Roveda, R., Zanoni, M.: Automatic detection of instability architectural smells. In: International Conference on Software Maintenance and Evolution, pp. 433–437 (2016)
Gadepalli, P.K., Peach, G., Cherkasova, L.A., Parallelmer, R.: Challenges and opportunities for efficient serverless computing at the edge. In: Symposium on Reliable Distributed Systems, pp. 261–2615 (2019)
Ghirotti, S.E., Reilly, T., Rentz, A.: Tracking and controlling microservice dependencies. Commun. ACM 61(11), 98–104 (2018)
He, X., Tu, Z., Wagner, M., Xu, X., Wang, Z.: Online deployment algorithms for microservice systems with complex dependencies. Trans. Cloud Comput. 11, 1746–1763 (2022)
Hossen, M.R., Mohammad, A.I., Ahmed, K.: Practical efficient microservice autoscaling with QoS assurance. In: Proceedings of International Symposium on High-Perf. Parallel and Distributed Computing. ACM, June 2022
Kjorveziroski, V., Filiposka, S., Trajkovik, V.: IoT serverless computing at the edge: a systematic mapping review. Computers 10(10), 130 (2021)
Li, X., Kang, P., Molone, J., Wang, W., Lama, P.: KneeScale: efficient resource scaling for serverless computing at the edge. In: International Symposium on Cluster, Cloud and Internet Computing, pp. 180–189 (2022)
Mahgoub, A., Shankar, K., Mitra, S., Klimovic, A., Chaterji, S., Bagchi, S.: SONIC: application-aware data passing for chained serverless applications. In: USENIX Annual Technical Conference Forthcoming (2021)
Pinto, D., Dias, J.P., Ferreira, H.S.: Dynamic allocation of serverless functions in IoT environments. In: International Conference on Embedded and Ubiquitous Computing, pp. 1–8 (2018)
Taibi, D., Lenarduzzi, V.: On the definition of microservice bad smells. Software 35(3), 56–62 (2018)
Wang, B., Ali-Eldin, A., Shenoy, P.: LaSS: running latency sensitive serverless computations at the edge. In: Proceedings of International Symposium on High-Perf. Parallel and Distributed Computing. ACM (2021)
Xu, Z., et al.: Stateful serverless application placement in MEC with function and state dependencies. Trans. Comput. 72, 1–14 (2023)
Zuk, P., Rzadca, K.: Reducing response latency of composite functions-as-a-service through scheduling. J. Parallel Distrib. Comput. 167, 18–30 (2022)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Baresi, L., Quattrocchi, G., Ticongolo, I.G. (2023). Dependency-Aware Resource Allocation for Serverless Functions at the Edge. In: Monti, F., Rinderle-Ma, S., Ruiz Cortés, A., Zheng, Z., Mecella, M. (eds) Service-Oriented Computing. ICSOC 2023. Lecture Notes in Computer Science, vol 14419. Springer, Cham. https://doi.org/10.1007/978-3-031-48421-6_24
Download citation
DOI: https://doi.org/10.1007/978-3-031-48421-6_24
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-48420-9
Online ISBN: 978-3-031-48421-6
eBook Packages: Computer ScienceComputer Science (R0)