Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/6G-Future-Lab-Bavaria/NextGSim
https://github.com/6G-Future-Lab-Bavaria/NextGSim
Last synced: 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/6G-Future-Lab-Bavaria/NextGSim
- Owner: 6G-Future-Lab-Bavaria
- License: mit
- Created: 2023-10-09T12:14:44.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-05-31T20:10:29.000Z (5 months ago)
- Last Synced: 2024-05-31T21:30:23.138Z (5 months ago)
- Language: Python
- Size: 6.78 MB
- Stars: 3
- Watchers: 1
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
- awesome-edge-computing - NextGSim
README
# NextGSim
NextGSim provides a simulation environment focusing on resource management aspects in mobile edge computing scenarios. It consists of mainly two parts: Radio Network simulation and Edge Computing
simulation. These two simulations are loosely connected to enable both independent and joint use.# Simulated Architecture
The simulated architecture resembles a joint management server, where edge and radio-related information is simultaneously updated
to the edge orchestrator and SD-RAN controller. Therefore, novel resource allocation, offloading decisions, and orchestration algorithms can be tested through NextGSim.
Figure 1: Relationship between NextGSim modules.
# Radio Simulation
The Radio Access Network (RAN) consists of the user plane and the control plane.RAN user plane: The user plane is responsible for creating the scenario (Scenario module), depending on the parameters provided by the user in the
configuration file. The indoor factory scenario consists of a constant number and placement of gNBs, however, the indoor and outdoor scenarios are reconfigurable.
gNBs placement is characterized by 3D coordinates (X,Y,Z), the coverage defined by the radios of macro or micro gNBs. The Channel model module is responsible for
generating the signal quality between the serving gNBs and the users roaming in the area covered by the gNBs.
Meanwhile, the users are placed randomly in the scenario space, characterized by the user's coordinates (x,y,z) and by the velocity v. The velocity value of a user stays constant
during the simulation time after the initialization process. User module is responsible for the generation of the traffic patterns, user's mobility, and user radio resource
control (RRC) states.RAN control plane: RAN control plane simulates the behaviour of SD-RAN controller.
The module includes the radio resource management algorithms, such as resource allocation via
state-of-the-art algorithms: round-robin, throughput proportional fair, max-CQI.
Further, through the handovers, the module assures the connectivity of the end-users to the
best serving gNB. The RRC state transitions of the users between RRC Idle, RRC Connected and
RRC Inactive sets the bases for the sustainability studies for the end-usr devices.# Edge Computing Simulation
Edge Computing part consists of 3 main modules that are Application, Entities and
Network.Application: An application is defined by its services which form a directed
acyclic graph(DAG). Microservices can generate, receive and process messages. In such a scenario, a task is completed
when the last microservice in a DAG, processes its message. Different users can share microservices at the edge or have
a dedicated microservice for themselves.Entities: Entities implemented are Edge Server, Orchestrator, CPU and Router. Edge servers are the computing
nodes that serves users at the edge of the network. They are controlled by the orchestrator which decides where to deploy services,
which services users need to be assigned to, forward radio related information to services and if necessary migrate services
between edge servers.CPU module defines the processing behaviour of the services. Different processing behaviour can be implemented
module. As a proof-of-concept example a latency aware processing algorithm is implemented, where messages from users that suffer
higher radio link latency is prioritized, in order to increase the chance of meeting the deadline of the task.Router is a simple entity that routes messages between entities like edge servers and base stations. Currently, it only implements
the shortest path algorithm for routing.Network: This module implements the topology between entities and microservices. Physical entities
are connected to each other with links that are defined by their bandwidth and latency.# Examples
Figure 5 in our paper is a result of an experiment to assess the effect of various combinations of radio resource allocation and
edge application queueing approaches. In order to reproduce the results, run "experiments/experiments_figure5.sh" in your terminal.
To generate the plot out of the results, run "plotting/figure5.py".Figure 6 in our paper is a result of an experiment to assess the effect of increasing the number of application instances
and number of users on completion rate of a task.
In order to reproduce the results, run "experiments/experiments_figure6.sh" in your terminal.
To generate the plot out of the results, run "plotting/figure6.py".# Publication
nextGSIM: Towards Simulating Network Resource Management for Beyond 5G NetworksIf you use this software, please cite it as below.
@inproceedings{jano2023nextgsim,
title={nextGSIM: Towards Simulating Network Resource Management for Beyond 5G Networks},
author={Jano, Alba and Mert Bese, Mehmet and Mohan, Nitinder and Kellerer, Wolfgang and Ott, J{\"o}rg},
booktitle={IEEE Future Networks World Forum},
year={2023}
}# Contact Authors
RAN modules - Alba Jano (email: [email protected])
Edge computing modules - Mehmet Mert Bese ([email protected])