LAKE – COSMOS (Continuum Optimization for Swarm-based Multi-tier Orchestration System)
ID: R24 | Licence: TBD | Owner: LAKE | Contacts: schranz@lakeside-labs.com |
Short Description | COSMOS (Continuum Optimization for Swarm-based Multi-tier Orchestration System) is a simulation framework built specifically for MYRTUS to simulate local rules i) inspired by swarm intelligence or ii) designed with evolutionary algorithms using FREVO, of the MYRTUS 360° edge-fog-cloud vision. |
Key features | – Agent-based modelling of incoming pods and devices on the edge-fog-cloud layers – Resource demand simulation – Implementation of 2 reference algorithms (random, greedy) – Auto-generation of diverse edge-fog-cloud environments – Evaluation of fog and cloud dependencies – Evaluation of communication cost for workload allocation – Scalability in terms of the number of interacting agents – Open-source, Python implementation |
Require | The following Python modules are required for this project. Ensure that you have the specified versions installed: – mesa (3.0.3) – matplotlib (3.5.1) – numpy (1.21.5) – networkx (3.3) – protobuf (3.12.4) – pyyaml (6.0) Additional Dependencies (installed via mesa) – pandas (2.0.3) – tqdm (4.66.4) – python-dateutil (2.8.2) |
Provide | Plots and related data for: – Evaluation of fog and cloud dependencies – Evaluation of communication cost for workload allocation |
Input | – In a main config file, the user can define: num_pods: 2500 # must be bigger than or equal to sim_steps – pods_per_step: 0 # set to 0 for the default value (num_pods/sim_steps) – sim_steps: 10 – num_edge_devices: 35 # ignored if import_sample is True – num_fog_nodes: 10 # ignored if import_sample is True – num_cloud_servers: 5 # ignored if import_sample is True – behaviour_type: ‘mlp’ # ‘random_walk’, ‘aco’ or ‘mlp’ (for neural network based decision-making) – import_graph: True – graph_sample: EFC1 – nn_sample: ‘mlp_config15:31:57.462020.yaml’ # needs to be specified fr ‘mlp’ behaviour_type mode ‘normal’ – plot_all: True # takes effect if mode is not ‘train’ – gen_samples_num: 50 # takes effect if mode == ‘gen’ – mode: ‘normal’ # ‘normal’ for normal mode, ‘gen’ for generating samples, ‘train’ for training – path_to_dataset: ‘generated/dataset’ |
Output | Plots and related data for: – Evaluation of fog and cloud dependencies – Evaluation of communication cost for workload allocation |
User | In the context of MYRTUS, COSMOS is used to evaluate i) swarm-inspired and ii) evolutionary generated algorithms in simulation before integration to the real system → System Designer |
Benefits for the user | – Experiment with the MYRTUS environment in the usage of swarm intelligence – Configure new network topologies and evaluate the differences – Run any kind of use case due to high enough abstraction level |
Position in the MYRTUS DPE | Step 1 – Continuum modeling, simulation and analysis |
TRL@M0 | 1 |
TRL@M36 | 3-4 |
General description
COSMOS (Continuum Optimization for Swarm-based Multi-tier Orchestration System) is a Python-based simulation framework built specifically for MYRTUS to simulate local rules i) inspired by swarm intelligence or ii) designed with evolutionary algorithms using FREVO, of the MYRTUS 360° edge-fog-cloud vision.

Plans and Expectation
Assessment Plan@M18:
Preparation and implementation of the simulation framework are concluded. Initial simulation and evaluation of two baseline algorithms (random, greedy) and one swarm intelligence algorithm, namely the ants algorithm. Concepts for the implementation of the hormone algorithm are already done.
Expected Results@M18:
Release of the COSMOS simulation framework to the public MYRTUS git, including the baseline algorithms and one swarm algorithm.
References
- A first publication on the ants algorithm in COSMOS is accepted and will be published ~March 2025.