Skip to main content

Dependency-Aware Resource Allocation for Serverless Functions at the Edge

  • Conference paper
  • First Online:
Service-Oriented Computing (ICSOC 2023)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 14419))

Included in the following conference series:

  • 1563 Accesses

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Similar content being viewed by others

Notes

  1. 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. 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. 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. 4.

    Source code available at https://github.com/deib-polimi/RAS/tree/dependencies.

  5. 5.

    https://github.com/vhive-serverless/vSwarm/tree/main/benchmarks/hotel-app.

  6. 6.

    https://github.com/microservices-demo/microservices-demo.

References

  1. Balakrishnan, V.K.: Graph Theory, vol. 1. McGraw-Hill, New York (1997)

    MATH  Google Scholar 

  2. 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)

    Google Scholar 

  3. 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)

    Google Scholar 

  4. 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)

    Google Scholar 

  5. 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)

    Article  MathSciNet  Google Scholar 

  6. Cassel, G.A.S., et al.: Serverless computing for internet of things: a systematic literature review. Futur. Gener. Comput. Syst. 128, 299–316 (2022)

    Article  Google Scholar 

  7. Daw, N., Bellur, U., Kulkarni, P.: Xanadu: mitigating cascading cold starts in serverless function chain deployments. In: Proceedings of International Middleware Conference. ACM (2020)

    Google Scholar 

  8. Deng, S., et al.: Dependent function embedding for distributed serverless edge computing. Trans. Parallel Distrib. Syst. 33(10), 2346–2357 (2021)

    Article  Google Scholar 

  9. 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

    Chapter  Google Scholar 

  10. 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)

    Google Scholar 

  11. 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)

    Article  Google Scholar 

  12. 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)

    Google Scholar 

  13. 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)

    Google Scholar 

  14. Ghirotti, S.E., Reilly, T., Rentz, A.: Tracking and controlling microservice dependencies. Commun. ACM 61(11), 98–104 (2018)

    Article  Google Scholar 

  15. 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)

    Article  Google Scholar 

  16. 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

    Google Scholar 

  17. Kjorveziroski, V., Filiposka, S., Trajkovik, V.: IoT serverless computing at the edge: a systematic mapping review. Computers 10(10), 130 (2021)

    Article  Google Scholar 

  18. 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)

    Google Scholar 

  19. 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)

    Google Scholar 

  20. 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)

    Google Scholar 

  21. Taibi, D., Lenarduzzi, V.: On the definition of microservice bad smells. Software 35(3), 56–62 (2018)

    Article  Google Scholar 

  22. 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)

    Google Scholar 

  23. Xu, Z., et al.: Stateful serverless application placement in MEC with function and state dependencies. Trans. Comput. 72, 1–14 (2023)

    Article  Google Scholar 

  24. Zuk, P., Rzadca, K.: Reducing response latency of composite functions-as-a-service through scheduling. J. Parallel Distrib. Comput. 167, 18–30 (2022)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Giovanni Quattrocchi .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics