Flexible Self-organisation for the Cloud-Edge Continuum: a Macro-programming Approach
Macro-programming enables the definition of highly distributed applications as a single “macro-program”, providing first-class abstractions to describe and reason about global system behaviour, supporting self-organisation. However, the deployment of a macro-program in heterogeneous edge-cloud infrastructures is not trivial, due to device constraints and complex trade-offs between functional and non-functional concerns. To address the problem, in this paper, we propose a modularisation framework for splitting the macro-level system behaviour into components that can be flexibly and dynamically deployed on the available infrastructure, with two key features. Firstly, our design supports collective components, which provide self-organising services out of local interaction among neighbour devices. Secondly, we provide a “forwarding” mechanism allowing offloading of components to neighbour devices while respecting constraints, à la multi-tier programming. As formalised and then validated by simulation, our proposal is shown to (i) keep the functional correctness of a monolithic deployment, by preserving its self-stabilising behaviour; and (ii) enable more deployments and nonfunctional benefits (e.g. lower energy footprint).
Authors
- Roberto Casadei (ORCID: https://orcid.org/0000-0001-9149-949X)
- Nicolas Farabegoli (ORCID: https://orcid.org/0000-0002-7321-358X)
- Mirko Viroli
Institutions
- Azienda-Unita' Sanitaria Locale Di Cesena (IT)
- University of Bologna (IT)
Publication Details
- Published
- 2024-09-16
- DOI
- https://doi.org/10.1109/acsos61780.2024.00020
- Citations
- 4
- Primary Topic
- Cloud Computing and Resource Management
- Type
- article
- Field-Weighted Citation Impact
- 3.12