level. There is a substantial paucity of such tools in the
academic community. To the best of our knowledge,
there are few existing system-level 5G simulators. 5G-
LENA (Patriciello, 2019), based on ns3
1
is an evolu-
tion of the LENA simulator (Baldo, 2011) and the
mmWave simulation module from ns3. It is focused on
the simulation of MAC and PHY layer of NR and pro-
vides tools for the evaluation of Bandwidth Parts man-
agement. However, it does not model dual-connectiv-
ity scenarios or configurations with coexisting LTE-
Advanced and 5G networks. There are also other 5G
simulators, notably 5GK-Simulator
2
, Vienna 5G SL
simulator (Müller et al, 2018) and WiSE (Jao et al,
2018). These model the MAC layer and the physical
link to a high level of fidelity, so that users can test
(e.g.) new transmission and decoding schemes. The
purpose of a system-level simulator is fundamentally
different, i.e., to allow the testing of end-to-end ser-
vices and scenarios, possibly at a large scale, including
layer-3, layer-4, and application-layer protocols and
logic. Some of the above tools do provide a system-
level execution mode, which allows simulating link-
level aspects on a large scale, by introducing simplifi-
cation in modelling while significantly increasing exe-
cution efficiency. However, none of them simulate ap-
plication packets flowing through the network.
In this paper, we present Simu5G
3
, a new 5G sim-
ulator based on the well-known SimuLTE library
(Virdis et al, 2014, 2015, 2019), used by industry and
academia. Simu5G is based on the OMNeT++ simula-
tion framework, and provides a collection of models
with well-defined interfaces, which can be instantiated
and connected to build arbitrarily complex simulation
scenarios. Simu5G incorporates all the models from
the INET library, which allows one to simulate generic
TCP/IP networks including 5G NR layer-2 interfaces.
In particular, Simu5G simulates the data plane of the
5G RAN (rel. 16) and core network. It allows simula-
tion of 5G communications in both Frequency Division
Duplexing (FDD) and Time Division Duplexing
(TDD) modes, with heterogeneous gNBs (macro, mi-
cro, pico etc.), possibly communicating via the X2 in-
terface to support handover and inter-cell interference
coordination. Dual connectivity between an eNB (LTE
base station) and a gNB (5G NR base station) is also
available. 3GPP-compliant protocol layers are pro-
vided, whereas the physical layer is modelled via real-
istic, customizable channel models. Resource schedul-
ing in both uplink and downlink directions is sup-
ported, with support for Carrier Aggregation and mul-
tiple numerologies, as specified by the 3GPP standard
1
https://www.nsnam.org/, last accessed April 2020.
2
http://5gopenplatform.org, last accessed on April 2020.
(3GPP TR 38.300, TR 38.211). Simu5G supports a
large variety of models for mobility of UEs, including
vehicular mobility.
Simu5G allows one to code and test, for instance,
resource allocation and management schemes in 5G
networks, e.g. selecting which UEs to target, using
which modulation scheme, etc., taking into account in-
ter-cell interference coordination, carrier selection, en-
ergy efficiency and so on. Moreover, it allows one to
instantiate scenarios where a user application, running
at the UE, communicates with a MEC application re-
siding at a MEC host (Nardini et al, 2018), to evaluate
(e.g.) the round-trip latency of a new-generation ser-
vice, inclusive of the computation time at the MEC
host. More to the point, Simu5G can run in real-time
emulation mode, enabling interaction with real de-
vices. In fact, on one hand OMNeT++ allows real-time
scheduling of events; on the other hand, the INET li-
brary allows can be configured so as to exchange IP
packets between local applications or network inter-
faces and the simulator. These IP packets are processed
by the simulator as if they were traversing the 5G cel-
lular network. The above two features concur to allow
a user to run live networked applications having an em-
ulated 5G network in the middle, using the same code-
base for both simulations and live prototyping, which
abates the developing time and makes results more re-
liable and easier to demonstrate.
The rest of the paper is organized as follows. Sec-
tion 2 briefly reviews the OMNeT++ framework and
the SimuLTE library. Section 3 describes Simu5G. Its
validation is described in Section 4, whereas Section 5
shows profiling results and the performance evaluation
of two exemplary simulation scenarios. Section 6 con-
cludes the paper and outlines future work.
2 BACKGROUND
This section introduces basic notions of cellular net-
works, then it describes the OMNeT++ simulation
framework and the INET library, and finally the Sim-
uLTE library, on which Simu5G is built.
2.1 An Overview of Cellular Networks
In this section we provide enough background for a
reader to understand the modelling concepts described
in the rest of this paper. The basic concepts underlying
are common to both 4G (LTE) and 5G (NR) cellular
networks, as standardized by the 3GPP. For this rea-
3
http://simu5g.org/, last accessed on April 2020.