testing of allocation algorithms for SDM-EONs. Ad-
dressing this need, the article presents an SDM exten-
sion for a flexible optical networks simulator library
called Flex Net Sim (Falc
´
on et al., 2021). The ex-
tension aims to provide a robust and effective means
for coding and validating C++ allocation algorithms
for SDM-EONs, allowing the researcher to code RM-
CSA algorithms quickly, taking care of the allocation
policies, and leaving the simulation details to the li-
brary.
The new module introduces significant changes
to two of the main components of the library, along
with minor modifications to the remaining compo-
nents. These changes focus on storing link informa-
tion by adding a new dimension for cores, enhancing
how the simulator manages certain network informa-
tion, and allocating connection requests. Addition-
ally, user-friendly auxiliary macros have been incor-
porated to facilitate straightforward programming.
This article is organized as follows: First, the
“State of the Art” section reviews existing simula-
tion tools. Next, the “Architecture” section outlines
our proposed solution and discusses the models and
heuristics in the “Model and Heuristics Used” section.
The “Specific Problem Implementation” section de-
tails practical aspects, while the “Simulation Results”
section presents the tool’s performance. Finally, the
“Conclusions” section summarizes our contributions
and findings.
2 STATE OF THE ART
In the field of EONs, there is a limited selec-
tion of simulation tools available. Through our
research, we could identify only a few, such as
EONS (Delvalle et al., 2016), ElasticO++ (Tessinari
et al., 2016), FlexGridSim (Moura and Drummond,
2020), CEONS (Aibin and Blazejewski, 2015), and
SimEON (Cavalcante et al., 2017).
Regarding SDM specifically, even fewer tools
have been found. OMNeT++ is quite versatile and
supports SDM; however, it has a steep learning curve
due to its utilization of advanced programming con-
cepts, which may be unfamiliar to some researchers.
Other tools like VPItransmissionMaker and NS-3 of-
fer SDM support but do not focus on allocation algo-
rithms.
Comparatively to other simulators in the litera-
ture, Flex Net Sim is focused on resource allocation
techniques in dynamic optical networks and offers
tremendous flexibility when coding heuristics, mod-
ifying the topology, and adding or removing network
resources. Incorporating a multicore optical network
handling extension into the simulator is essential to
fully utilize its adaptability to the new technology.
3 ARCHITECTURE
The simulation library Flex Net Sim consists of 4
main components that work together to model the sys-
tem and generate output data: Network, Simulator,
Controller, and Allocator, shown in Fig. 1.
Simulator
Controller Network
Allocator
Figure 1: Representation of the architecture.
The library’s Network component stores informa-
tion about the network’s nodes, links, slots, and meth-
ods for modifying the network state. These meth-
ods are atomic and only allow one link or slot mod-
ification at a time. This component does not work
with lightpaths since it works at the level of links and
nodes.
The controller component handles the network’s
global information, such as established network con-
nections and routes between nodes. It provides meth-
ods for assigning or unassigning connections, modi-
fying slot states, and setting connection lightpaths.
The simulator component creates connection re-
quests, which are parameterized by the user, and
sends them to the controller for allocation using the
allocator component.
Finally, the user can actively contribute to the al-
locator component by creating the algorithm used for
allocation, which is the only part of the simulator
where user input is required.
There are two types of events: arrival and depar-
ture. Arrival occurs when a new connection attempt is
made, while departure takes place when a connection
releases previously allocated resources. During an ar-
rival event, the simulator randomly generates a triad
(source node, destination node, bitrate) and passes it
to the Controller component. This component fea-
tures a virtual function that invokes the researcher’s
resource allocation algorithm and returns a mapping
of the resources to be assigned by the controller. The
Controller then attempts to allocate resources within
the network component. If successful, the simulator
proceeds to the next event. Conversely, during a de-
parture event, the connection ID to be released is iden-
tified, and the controller is responsible for instructing
the network component to free up these resources.
SIMULTECH 2023 - 13th International Conference on Simulation and Modeling Methodologies, Technologies and Applications
296