Simulators
In the MLSysOps project, various simulation tools and environments are being extended to introduce additional capabilities and aspects to support simulation scenarios that are of interest to the project, including job/task management in datacenters, mobility and wireless communication at the edge, and drone-based applications.
Pointers to the code and documentation will be added here as the respective artifacts become available for public use (late 2024, early 2025).
Drone Simulation Environment
The drone simulation environment allows developers to test software for unmanned aerial vehicles, which run a proper autopilot and may communicate with nearby (edge) nodes over WiFi or remote (cloud) nodes via 4/5G links. Such experiments can be performed in a hassle-free, safe and reproducible way, without having to go out in the field, which requires extensive preparations, is very time-consuming and inevitably comes with several limitations due to weather conditions, safety restrictions and physical constraints.
The simulation environment is based on an extended version of AeroLoop. In a nutshell, virtual nodes run as separate VMs within a KVM host, with WLAN and LAN interfaces. WiFi links between UAV nodes and edge nodes are simulated via NS3, while the LAN interface can be used to let virtual nodes interact with external software running on physical nodes or VMs. If desired, the performance of 4/5G links can be simulated over the LAN interface using the Linux tc utility. Virtual UAVs run the Ardupilot autopilot in SITL mode with the actual flight dynamics model running in Gazebo. It is possible to have several virtual UAV nodes or other virtual mobile nodes, such as rovers. Moreover, virtual nodes can be equipped with virtual cameras in Gazebo, which generate video streams that can be captured and processed as desired.
A more detailed description, with relevant references can be found in deliverable D4.3 “Final versions of system simulators”.
Code and documentation (configuration with a drone and a rover): https://github.com/mlsysops-eu/AeroLoop. The AeroLoop code is released under GPL-3.0; the modified NS3 TAP/bridge code is GPL-2.0 (as NS3).
Contact: Foivos Pournaropoulos
EdgeCloudSim
The Edge-Node simulation environment allows the testing of different deployment scenarios by varying the devices’ population, their mobility patterns and computational burden, device-edge-cloud offloading policies, and the network configurations. The simulation environment is based on an extended version of EdgeCloudSim. In a nutshell, it has been extended by introducing additional network features (i.e. incorporates a realistic path loss exponent and takes into consideration both frequency and distance so as to align with 5G communications) and energy features (battery-powering was an option originally not considered and it has been included), enhanced events tracing mechanisms (in the direction of implementing the data generation for feeding ML tasks) and the introduction of realistic mobility patterns (i.e. by using real world maps and traces, through the integration with SUMO simulator). Through all these features, it is possible to conduct comprehensive and full-fledged simulations by considering the different factors that characterize a plethora of heterogeneous, dynamic, and cyber-physical edge computing-related scenarios.
A more detailed description, with relevant references can be found in deliverable D4.3 “Final versions of system simulators”, including the extensions implemented in order to support an enhanced dataset generation in the light of MLSysOps goal. In particular, our extensions aim to introduce realistic energy, networking and mobility models. With respect to the latter, we integrated EdgeCloudSim with SUMO simulator.
Code and documentation are available on https://github.com/CSpemeLab/Mlsysops under GPL-3.0 license.
Contact: Claudio Savaglio
Network Simulation Environment
The simulator has been designed to integrate physical-layer realism with system-level metrics to capture critical factors affecting resource allocation, security and anomaly detection, enabling dynamic modelling of 5G network scenarios such as node mobility, connection management and real-time responses to network conditions. In particular, we have extended the simulator with a power-based jammer to further evaluate the system resilience to interference. A more detailed description, with relevant references can be found in deliverable D4.3 “Final versions of system simulators”.
The dependencies of the simulator are outlined as below:
Open5GS is available on https://github.com/open5gs/open5gs under GNU AGPL v3.0 license.
srsRAN is available on https://github.com/srsran/srsRAN_4G under GNU AGPL v3.0 license.
GNU Radio is available on https://github.com/gnuradio/gnuradio under GPL-3.0 license.
Contact: Jiali Xu
Cloud Simulation Environment
The simulation of cloud server infrastructure enables scale-out experiments on the management of cloud infrastructure, experimentation with configuration parameters not available to end-users of public cloud infrastructures (such as jobs consolidation, node allocation control, node performance/power step configuration), and controlled experimentation with varying energy prices and green energy availability, which is not possible to perform (in a reproducible way) even if one had access to real cloud infrastructures. The cloud simulation environment scales to hundreds of datacenter nodes, that may span multiple datacenters. It supports dynamically switching nodes on/off, controlling multiple CPU voltage/frequency steps, nodes with multiple memory capacities, and different CPU and memory power profiles based on the characterization of real systems (ARM and Intel). It also supports different Service Level Agreements (SLA) models, as well as fine-grained energy price variability, which, in turn, can be used to model the dynamic availability of green energy.
The framework that was chosen as a basis (and respectively extended) for this work is CloudSim, developed by CLOUDS Lab at the University of Melbourne and distributed as a Java-based open-source software.
A more detailed description, with relevant references can be found in deliverable D4.3 “Final versions of system simulators”.
Code and documentation are available on https://github.com/mlsysops-eu/ExtCloudSim. The extended CloudSim code is released as free open source under GNU LGPL v3.0 license.
Contacts: Bowen Sun, Christos Antonopoulos