Skip to main content

Runtime Load-Shifting of Distributed Controllers Across Networked Devices

  • Conference paper
  • First Online:
Distributed Applications and Interoperable Systems (DAIS 2023)

Abstract

The ability to monitor and steer the behaviour of complex distributed systems is an increasingly hot research topic, fostered by the growing adoption of hybrid cloud-edge technologies that constitute a computational continuum. One key feature of these systems is the ability to scale in size, embracing a wide number of heterogeneous devices and applications. This complexity, in turn, impacts the monitoring and control systems that need, at the same time, to be able to deal with high complexity and computational load and be available on all kinds of devices. In this paper, we introduce an architecture that allows for shifting the computational load of monitor systems at runtime across different devices in the cloud-edge continuum. We show the feasibility of the proposed approach by providing a reference implementation integrated with an existing simulation platform, leveraging Kotlin multiplatform to allow interoperability among different runtimes.

Artifacts available in https://zenodo.org/record/7817433.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 49.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 64.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    http://yaml.org/spec/1.2/spec.pdf.

  2. 2.

    https://bsonspec.org/spec.html.

  3. 3.

    One notable example is the porting of the ioquake3 engine (https://ioquake3.org/) in JavaScript (http://www.quakejs.com/) as a proof-of-concept of the feasibility of running complex applications in the browser.

  4. 4.

    https://github.com/Kotlin/kotlinx.serialization.

  5. 5.

    https://docs.korge.org/korim/.

  6. 6.

    https://github.com/AlchemistSimulator/Alchemist.

  7. 7.

    https://github.com/AngeloFilaseta/DAIS-2023-alchemist-web-renderer.

References

  1. Aguzzi, G., Casadei, R., Maltoni, N., Pianini, D., Viroli, M.: ScaFi-Web: a web-based application for field-based coordination programming. In: Damiani, F., Dardha, O. (eds.) COORDINATION 2021. LNCS, vol. 12717, pp. 285–299. Springer, Cham (2021). https://doi.org/10.1007/978-3-030-78142-2_18

    Chapter  Google Scholar 

  2. Aslam, S., Shah, M.A.: Load balancing algorithms in cloud computing: a survey of modern techniques. In: 2015 National Software Engineering Conference (NSEC). IEEE, December 2015. https://doi.org/10.1109/nsec.2015.7396341

  3. Audrito, G., Casadei, R., Damiani, F., Stolz, V., Viroli, M.: Adaptive distributed monitors of spatial properties for cyber-physical systems. J. Syst. Softw. 175, 110908 (2021). https://doi.org/10.1016/j.jss.2021.110908

    Article  Google Scholar 

  4. Audrito, G., Viroli, M., Damiani, F., Pianini, D., Beal, J.: A higher-order calculus of computational fields. ACM Trans. Comput. Logic. 20(1), 1–55 (2019). https://doi.org/10.1145/3285956

  5. Bak, S., Menon, H., White, S., Diener, M., Kalé, L.V.: Multi-level load balancing with an integrated runtime approach. In: 18th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing, CCGRID 2018, Washington, DC, USA, May 1–4, 2018, pp. 31–40. IEEE Computer Society (2018). https://doi.org/10.1109/CCGRID.2018.00018

  6. Bellavista, P., Corradi, A., Stefanelli, C.: Mobile agent middleware for mobile computing. Computer 34(3), 73–81 (2001). https://doi.org/10.1109/2.910896

    Article  Google Scholar 

  7. Bennaceur, A., et al.: Modelling and analysing resilient cyber-physical systems. In: SEAMS@ICSE 2019, pp. 70–76. ACM (2019). https://doi.org/10.1109/SEAMS.2019.00018

  8. Casadei, R., Viroli, M., Aguzzi, G., Pianini, D.: ScaFi: a Scala DSL and toolkit for aggregate programming. SoftwareX 20, 101248 (2022). https://doi.org/10.1016/j.softx.2022.101248

    Article  Google Scholar 

  9. Chen, B., Cheng, H.H.: A runtime support environment for mobile agents. In: Volume 4a: ASME/IEEE Conference on Mechatronic and Embedded Systems and Applications. ASME (2005). https://doi.org/10.1115/detc2005-85389

  10. Ciatto, G., Calegari, R., Omicini, A.: 2P-KT: a logic-based ecosystem for symbolic AI. SoftwareX 16, 100817 (2021). https://doi.org/10.1016/j.softx.2021.100817

    Article  Google Scholar 

  11. Currier, C.: Protocol buffers. In: Mobile Forensics – The File Format Handbook, pp. 223–260. Springer International Publishing, ham (2022). https://doi.org/10.1007/978-3-030-98467-0_9

  12. Denti, E., Omicini, A., Ricci, A.: TUProlog: a light-weight prolog for internet applications and infrastructures. In: Ramakrishnan, I.V. (ed.) PADL 2001. LNCS, vol. 1990, pp. 184–198. Springer, Heidelberg (2001). https://doi.org/10.1007/3-540-45241-9_13

    Chapter  Google Scholar 

  13. Doeraene, S.: Cross-platform language design in scala.js (keynote). In: Proceedings of the 9th ACM SIGPLAN International Symposium on Scala. p. 1. Association for Computing Machinery (2018). https://doi.org/10.1145/3241653.3266230

  14. Doeraene, S., Schlatter, T., Stucki, N.: Semantics-driven interoperability between scala.js and JavaScript. In: Proceedings of the 2016 7th ACM SIGPLAN Symposium on Scala, pp. 85–94. Association for Computing Machinery (2016). https://doi.org/10.1145/2998392.2998404

  15. Domenico, A.D., Perna, G., Trevisan, M., Vassio, L., Giordano, D.: A network analysis on cloud gaming: Stadia. GeForce now PSNow. Netw. 1(3), 247–260 (2021). https://doi.org/10.3390/network1030015

    Article  Google Scholar 

  16. Hagos, T.: Introduction to kotlin. In: Beginning Kotlin, pp. 1–20. Apress, November 2022. https://doi.org/10.1007/978-1-4842-8698-2_1

  17. Ihrig, C.J.: JavaScript object notation. In: Pro Node.js for Developers, pp. 263–270. Apress (2013). https://doi.org/10.1007/978-1-4302-5861-2_17

  18. Kanbar, A.B., Faraj, K.: Region aware dynamic task scheduling and resource virtualization for load balancing in IoT-fog multi-cloud environment. Future Gener. Comput. Syst. 137, 70–86 (2022). https://doi.org/10.1016/j.future.2022.06.005

    Article  Google Scholar 

  19. Milojicic, D.S.: The edge-to-cloud continuum. Computer 53(11), 16–25 (2020). https://doi.org/10.1109/MC.2020.3007297

    Article  Google Scholar 

  20. Mishra, S.K., Sahoo, B., Parida, P.P.: Load balancing in cloud computing: a big picture. J. King Saud Univ. Comput. Inf. Sci. 32(2), 149–158 (2020). https://doi.org/10.1016/j.jksuci.2018.01.003

  21. Newmarch, J.: Testing java swing-based applications. In: TOOLS 1999: 31st International Conference on Technology of Object-Oriented Languages and Systems, 22–25 September 1999, Nanjing, China, pp. 156–165. IEEE Computer Society (1999). https://doi.org/10.1109/TOOLS.1999.796479

  22. Odersky, M.: Essentials of scala. In: Langages et Modèles à Objets, LMO 2009, Nancy, France, 25–27 mars 2009. vol. L-3, p. 2. Cépaduès-Éditions (2009)

    Google Scholar 

  23. Pianini, D.: Simulation of large scale computational ecosystems with alchemist: a tutorial. In: Matos, M., Greve, F. (eds.) DAIS 2021. LNCS, vol. 12718, pp. 145–161. Springer, Cham (2021). https://doi.org/10.1007/978-3-030-78198-9_10

    Chapter  Google Scholar 

  24. Pianini, D., Montagna, S., Viroli, M.: Chemical-oriented simulation of computational systems with ALCHEMIST. J. Simul. 7(3), 202–215 (2013). https://doi.org/10.1057/jos.2012.27

    Article  Google Scholar 

  25. Popic, S., Pezer, D., Mrazovac, B., Teslic, N.: Performance evaluation of using protocol buffers in the internet of things communication. In: 2016 International Conference on Smart Systems and Technologies (SST). IEEE, October 2016. https://doi.org/10.1109/sst.2016.7765670

  26. Robillard, M.P., Kutschera, K.: Lessons learned while migrating from swing to JavaFX. IEEE Softw. 37(3), 78–85 (2020). https://doi.org/10.1109/MS.2019.2919840

    Article  Google Scholar 

  27. Subramanian, V.: React-bootstrap. In: Pro MERN Stack, pp. 315–376. Apress (2019). https://doi.org/10.1007/978-1-4842-4391-6_11

  28. Taherizadeh, S., Jones, A., Taylor, I.J., Zhao, Z., Stankovski, V.: Monitoring self-adaptive applications within edge computing frameworks: a state-of-the-art review. J. Syst. Softw. 136, 19–38 (2018). https://doi.org/10.1016/j.jss.2017.10.033

    Article  Google Scholar 

  29. Thakkar, M.: Introducing react.js. In: Building React Apps with Server-Side Rendering, pp. 41–91. Apress (2020). https://doi.org/10.1007/978-1-4842-5869-9_2

  30. Vanhatupa, J.M.: Browser games for online communities. Int. J. Wirel. Mob. Netw. 2(3), 39–47 (2010). https://doi.org/10.5121/ijwmn.2010.2303

    Article  Google Scholar 

Download references

Acknowledgements

The authors thank Gianluca Aguzzi for the fruitful discussions on languages, frameworks, and tools for multi-platform programming.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Danilo Pianini .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2023 IFIP International Federation for Information Processing

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Filaseta, A., Pianini, D. (2023). Runtime Load-Shifting of Distributed Controllers Across Networked Devices. In: Patiño-Martínez, M., Paulo, J. (eds) Distributed Applications and Interoperable Systems. DAIS 2023. Lecture Notes in Computer Science, vol 13909. Springer, Cham. https://doi.org/10.1007/978-3-031-35260-7_6

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-35260-7_6

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-35259-1

  • Online ISBN: 978-3-031-35260-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics