<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <journal-title-group>
        <journal-title>ISCA</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Modification of the BookSim simulator for modeling networks-on-chip based on two-dimensional circulant topologies</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Amerikanov Aleksandr Assistant National Research University Higher School of Economics 34 Tallinskaya Ulitsa</institution>
          ,
          <addr-line>123458, Moscow, Russian Federation</addr-line>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Lezhnev Evgeny Assistant National Research University Higher School of Economics 34 Tallinskaya Ulitsa</institution>
          ,
          <addr-line>123458, Moscow, Russian Federation</addr-line>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Romanov Aleksandr PhD, Associate professor National Research University Higher School of Economics 34 Tallinskaya Ulitsa</institution>
          ,
          <addr-line>123458, Moscow, Russian Federation</addr-line>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2007</year>
      </pub-date>
      <volume>126</volume>
      <fpage>126</fpage>
      <lpage>137</lpage>
      <abstract>
        <p>In this paper, a review of various high-level models of networks-on-chip, their performance capabilities, and characteristics was carried out. As a result, the BookSim simulator was chosen. Application of circulant topologies for implementation of communication subsystems in networks-onchip (NoCs) as alternatives to other regular topology was proved. The process of modifying the BookSim simulator described allowed high-level modeling of NoCs with any topologies (including two-dimensional circulants), as well as testing new routing algorithms in such networks.</p>
      </abstract>
      <kwd-group>
        <kwd>network-on-chip</kwd>
        <kwd>high-level modeling</kwd>
        <kwd>BookSim simulator</kwd>
        <kwd>circulant topology</kwd>
        <kwd>regular topology</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <p>
        Nowadays, the use of multiprocessor systems is becoming an increasingly common solution. The growing complexity of
tasks requires that computer systems continually improve performance. In multicore systems with a small amount of cores
(2-10 cores), communication between computing cores and other components of a chip occurs successfully with the help of
the common bus. The bus is an infrastructure for data transmission between the core blocks (for example, AMBA [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] and
Avalon [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]). Generally, only one block of processor can manage data transmission on the bus at one time, while the others
can only accept data. Therefore, with an increase in the number of cores, this approach in the organization of their
interaction leads to a decrease in the overall speed of the entire system [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. In order not to significantly change the concept
of the block communication subsystem, but at the same time to increase the speed of the entire system, various variants of
common bus segmentation were developed [
        <xref ref-type="bibr" rid="ref4 ref5">4, 5</xref>
        ]. Such an approach complicates the entire system and, ultimately, does not
solve the problem as a whole.
      </p>
      <p>
        Acknowledged and widespread approach is usage of core communication options by creation of NoC [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. Such network
allows division between the chip elements, responsible for data transmission, and the computing units. Each computational
unit connects to a network via an interface connected to a router that provides data transmission between units. At the same
time the NoC is a separate subsystem and it does not influence the internal organization of a computing unit which can use
classical buses to connect its structural elements [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ].
      </p>
      <p>
        Copyright © 2019 for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0).
A topical area for research of NoCs is the search for optimal topologies and routing algorithms for them. Classical
topologies (mesh [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], torus [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], hypercube [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], spidergon [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]) have significant limitations to their use, since their
characteristics deteriorate with an increase in the number of nodes [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. The use of circulant topologies that have better
characteristics than the classical topologies allows creating networks with a large number of nodes (from 100 and more).
This is well demonstrated in Figure 1 and Figure 2 which show the dependence of the diameter and the average distance
between nodes in hops on the number of nodes in the topology of circulant ܥܰሺǢ ݏ ଵ ǡ ݏ ଶ ሻ in comparison with the classical
regular topologies. In this case, circulants maintain a regular structure which facilitates routing in them in comparison, for
example, with irregular topologies [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ].
their functioning and synthesis at the RTL level using specialized software (for example, using CAD ModelSim,
Quartus Prime, Synopsys IC Compiler, etc.). The low-level modeling allows getting time diagrams of the system as a
whole, and after the synthesis – to evaluate the resources used. This approach is applied when it is necessary to simulate as
close as possible to the actual operation of the device. For example, in work [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ], the VHDL model is used to estimate
energy costs, and in work [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ], by using various HDL descriptions, various implementations of routers are synthesized to
estimate the on-chip area and maximum clock frequency.
      </p>
      <p>
        An approach, that uses low-level modeling in the context of developing networks on a chip with circulant topologies,
was applied in [
        <xref ref-type="bibr" rid="ref26">26</xref>
        ]. Several algorithms were proposed for routing in circulant networks of type ܥܰሺǢ ͳǡ ݏ ଶ ሻ .
      </p>
      <p>The first table routing algorithm allows routing based on a previously calculated route table between each network node.
The table stores the port numbers to which the packet is to be sent so that it reaches the correct node. The table is stored in a
distributed form so that each router stores only one step of the complete route. For the algorithm to work, it is necessary for
the head fleet of the packet to store the destination node number. The router here is a digital apparatus which from the head
fleet, takes the node number of the destination and uses it as an index to refer to a line of the table stored in the router from
which it takes the port’s number to send the packet.</p>
      <p>The second and third algorithms do not store routing data, but iteratively calculate the number of the next node in the
route. The second algorithm calculates the router and the port connected to it as follows: according to certain rules, the
direction of transmission of the packet is hourly or counterclockwise after which a transition takes place along a large or
small generatrix of the circulant with a mandatory approach to the destination node. The third algorithm is a development of
the second algorithm in which, for the sake of simplification, optimal paths between nodes are not always chosen. By
introducing additional checks on the choice of the direction and the generatrix, as well as taking into account situations
where the optimal route contains a cyclic network traversal, the calculation of the optimal routes in the network was
achieved. The third algorithm is a development of the second algorithm in which, due to its simplicity, the optimal route
between the nodes were not always calculated. Introducing additional checks on the choice of direction and the generatrix,
and also considering that with a certain configuration of the topology, there may be cases when the optimal route contains a
cyclical bypass of the network, the calculation of the optimal routes in the network was achieved.</p>
      <p>
        Low-level modeling was performed in the Verilog language [
        <xref ref-type="bibr" rid="ref26">26</xref>
        ] with further testing of the operation of the algorithms,
as well as the calculation of the occupied chip resources after synthesis. The results obtained allowed us to confirm the
hypothesis about the best characteristics of NoC based on circulant topologies, smaller occupied chip resources compared to
the use of other topologies. However, in spite of the encouraging results obtained, a higher level simulation is required to
analyze the distribution of traffic across networks and the effectiveness of routing algorithms in them.
3.1 High-level NoC simulators
When modeling NoC, an important task is to choose a suitable simulator. A number of simulators were developed; thus, it
is possible to carry out studies on NoC parameters. They can be divided into two categories:
      </p>
      <p>
        Simulators of general purpose networks – designed to simulate any network as a whole, but can be used for NoC
as well: Gem5, Graphite, Sniper, Hornet, Fusionsim, Esesc, Wattch, Hotspot, NS2, NS3, Omnet ++, Netsim,
Orion [
        <xref ref-type="bibr" rid="ref13 ref27 ref28 ref29">13, 27, 28, 29</xref>
        ].
      </p>
      <p>
        Simulators designed specifically for modeling NoC: BookSim, WormSim, Vnoc, Matrics, SICOSYS, Garnet,
Ocintsim, Noxim, Nostrum, Nirgam, Occn, Nocsim, Access Noxim, NoCTweak, Atlas, gpNoCsim, Xmulator,
Phoenixsim, SUNMAP, NOCMAP, ReliableNoC, MapoNoC [
        <xref ref-type="bibr" rid="ref14 ref15 ref16 ref17 ref30 ref31 ref32">14-17, 30-32</xref>
        ].
      </p>
      <p>In general, the structure of NoC simulators can be represented as follows (Figure 3):
1. Setting up the simulator (model initialization, setting limits on simulation time and warm-up time, selection of
simulation mode);
2. Setting parameters of synthetic tests (size and structure of the network, traffic profile, location of hot spots of the
network, etc.);
3. Selection of parameters for embedded tests (determination of the characteristic graph of the problem and the
algorithm for projecting the graph of the problem onto the core);
4. Configuring traffic (number of streams, packet length, packet rate);
5. Configuring the router (type of routers, number and length of packet buffers);
6. Routing configuration (routing algorithm);
7. Selection of measured parameters (network bandwidth, energy consumption, packet transmission delays).
Let’s consider a number of the most common NoC simulators.</p>
      <p>
        BookSim [
        <xref ref-type="bibr" rid="ref14 ref30">14, 30</xref>
        ] is a simulator developed in C++. It allows modeling a large number of different topologies, for
example, 2D mesh, 2D torus, folded torus, butterfly fat tree, etc., as well as routing algorithms in them. There is an
implemented support for managing the queues of the router and virtual circuits, as well as the event-driven
microarchitecture of the router. The simulator also supports resizing buffers, arbitration policies, and synthetic traffic
patterns. Using the simulator enables to evaluate a large range of performance parameters, to analyze the packet
transmission delays and the dependence of bandwidth on the network load.
      </p>
      <p>
        Vnoc [
        <xref ref-type="bibr" rid="ref31">31</xref>
        ] is a simulator for modeling dynamic voltage and frequency scaling (DVFS) in NoCs. It is developed in C++
and is based on the Orion model. This simulator supports such topologies as 2D-mesh, torus and allows generating various
types of traffic. The simulator estimates energy consumption depending on the traffic of the entire network and is not
suitable for analyzing the functioning of individual routers, as well as other topologies and specific routing algorithms in the
network.
      </p>
      <p>
        Noxim [
        <xref ref-type="bibr" rid="ref32">32</xref>
        ] is a SystemC based simulator that has a command line interface to change input parameters. The simulator is
also based on the Orion power model and is currently designed for 2D-mesh topology and allows synthetic tests to be
performed to analyze power consumption, throughput, and delays. In the simulator, one can set the network size, packet
generation rate, router buffer size, static or adaptive routing algorithm.
      </p>
      <p>
        Nostrum [
        <xref ref-type="bibr" rid="ref33">33</xref>
        ] is a multi-level simulator on SystemC. It supports 2D mesh, torus, ring, tree topologies, XY routing
algorithms, and deflection. Nostrum allows projecting a task graph onto network nodes. The user can also change the
settings of the router (buffer size) and select the type of traffic.
      </p>
      <p>
        Nirgam [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] is an open source simulator written in SystemC and designed to carry out a discrete-event simulation of the
GCN. The current version of the simulator supports 2D-mesh and torus topologies. The simulator supports routing
algorithms Deterministic XY, Adaptive Odd-Even (OE), Source Routing. It is possible to configure the number of buffers,
their size, size of the fleet, as well as the frequency of the network. There is also a choice of the type of traffic. The result of
the work of the simulator is the data on the average delay of the packets and the bandwidth for each channel.
      </p>
      <p>
        NoCTweak [
        <xref ref-type="bibr" rid="ref16 ref17">16, 17</xref>
        ] simulator is developed in SystemC. It is intended for an early study of the performance and energy
efficiency of NoC, for example, the transmission capacity, latency, and estimation of the energy consumed by parts of NoC.
The current version of the simulator is intended only for 2D-mesh topology. The simulator supports many settings, such as
network size, choice of router type, location of hot spots, packet generation frequency, packet switching strategy, CMOS
process selection, chip frequency, and voltage selection. NoCTweak supports both embedded tests and synthetic tests.
      </p>
      <p>
        NOCMAP [
        <xref ref-type="bibr" rid="ref34">34</xref>
        ] is an open source C++ simulator. This simulator works only with 2D-mesh topology. This tool
implements two algorithms for displaying the characteristic graph of the problem on the network topology, such as BB and
SA. It uses the bit energy model to calculate the minimum total binding energy of the GCN. The BB algorithm is used for
the topological allocation of network IP nodes to minimize the total consumption of communication energy. Based on the
EPAM bit energy model (XY, OE and WF), which is a comparison of energy and performance with a different routing
algorithm (XY, OE and west-first), this simulator implements an efficient BB algorithm. For comparison, the SA algorithm
is also implemented which shows that the proposed algorithms are more efficient than SA with respect to the optimal result
and simulation speed. ReliableNoC [
        <xref ref-type="bibr" rid="ref35">35</xref>
        ] is an enhanced version of the NOCMAP simulator that adds reliability parameters
to the NOCMAP simulator.
      </p>
      <p>Thus, on the basis of the in-depth analysis of the considered NoC simulators (Table 1), we can conclude that 2D-mesh
topology is the prevailing topology in most common high-level NoC models. At the same time, the topology is often the
basis of the program code, all the basic model calculations and its structure of classes and interactions between them depend
Simulator</p>
      <p>Language</p>
      <p>
        Among the NoC simulators considered, BookSim [
        <xref ref-type="bibr" rid="ref14 ref30">14, 30</xref>
        ] supports the largest number of topologies and routing
algorithms and also has the capabilities to customize the modeling process, traffic, packet distribution, support for virtual
channels, etc. The support of a large number of topologies required the developers to implement a clearer model structure
and standardize the interfaces of interaction between individual modules. This, as well as the fact that the model is open
source, suggests that this simulator can be the basis for further modification.
      </p>
    </sec>
    <sec id="sec-2">
      <title>4 BookSim NoC simulator</title>
      <p>
        BookSim [
        <xref ref-type="bibr" rid="ref14 ref30">14, 30</xref>
        ] is a console application for modeling traffic for various topologies. This simulator is initially focused on
running on UNIX-like systems. The source code is broken down into separate modules, which makes it convenient to
modify and add new functionality. The structure of modules of the simulator is shown in Figure 4.
      </p>
      <sec id="sec-2-1">
        <title>Performance parameters</title>
      </sec>
      <sec id="sec-2-2">
        <title>Delays Bandwidth</title>
      </sec>
      <sec id="sec-2-3">
        <title>Energy</title>
        <p>consumption
Delays
Energy
consumption
Bandwidth</p>
      </sec>
      <sec id="sec-2-4">
        <title>Bandwidth</title>
        <p>capability
Delays
Use of links
Delays
Bandwidth
capability
Capacity
Bandwidth
capability
Delays
Energy
consumption</p>
      </sec>
      <sec id="sec-2-5">
        <title>Energy consumption Durability</title>
      </sec>
      <sec id="sec-2-6">
        <title>Input parameters</title>
      </sec>
      <sec id="sec-2-7">
        <title>File</title>
      </sec>
      <sec id="sec-2-8">
        <title>Command line Command line</title>
      </sec>
      <sec id="sec-2-9">
        <title>Command line</title>
      </sec>
      <sec id="sec-2-10">
        <title>File</title>
      </sec>
      <sec id="sec-2-11">
        <title>Command line</title>
      </sec>
      <sec id="sec-2-12">
        <title>Command line on it in an implicit form, i.e. a change in topology entails the reworking of virtually the entire source code of the model. This significantly limits the capabilities of the models.</title>
        <p>No
No
Yes
No
No
Yes</p>
        <p>No</p>
        <p>The simulator can be divided into 7 modules: a module describing topologies, a module describing routers, a module
describing allocators, a module for arbitrating access to router resources, a module describing traffic, a module for
analyzing power consumption. A module is a set of classes inherited from a general class. This is done to simplify
modification of the simulator.</p>
        <p>
          The topology description module contains a base class in which variables common for topologies, such as the number of
nodes, the size of the network, the number of channels, are then redefined when forming the topology. The module also
contains general functions that do not depend on the selected topology, for example, creating allocators and reading /
writing data to channels. It calls the topology class specified in the configuration file to calculate specific topology
parameters. Currently, developers support 10 topologies: mesh [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ], torus [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ], cmesh [
          <xref ref-type="bibr" rid="ref36">36</xref>
          ], fly [
          <xref ref-type="bibr" rid="ref37">37</xref>
          ], qtree [
          <xref ref-type="bibr" rid="ref38">38</xref>
          ], tree4,
fat tree [
          <xref ref-type="bibr" rid="ref39">39</xref>
          ], flat fly [40], AnyNet, DragonFly [41].
        </p>
        <p>The module of description of routers contains a list of channels and other variables for the router operation, and functions
for adding input and output channels. One can use 3 types of routers: input-queue router, event-driven router, and chaos
router.</p>
        <p>The module of description of the allocators contains a description of the methods of distributing the resources of routers
among their customers, each of which can use one or several resources. Multiple type blockers are supported: iSLIP
separable allocator, parallel iterative matching (pim), separable output-first allocator, lonely output allocator (loa),
wavefront allocator, separable input-first allocator.</p>
        <p>The arbitration description module contains algorithms for distributing access to router resources. The following
arbitration algorithms are possible: round-robin, matrix, tree, priority.</p>
        <p>The traffic description module controls how the packets will go to the network, how fast and which nodes will generate
the traffic. It is possible to set uniform generation of traffic by all nodes, according to a specific algorithm, as well as
random generation.</p>
        <p>The power consumption analysis module allows analyzing energy consumption of the network being modeled depending
on the specified parameters of the chip production processes.</p>
        <p>All these modules are united by the main module to the input of which a configuration file with a description of the
simulated network arrives. It directly creates and configures the network, starts the simulation, selects a routing algorithm,
and collects statistics.</p>
        <p>
          Configuring the simulator is made through the configuration file. This definitely structured file contains the definition of
all the necessary parameters for the simulator operation [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ]:
1. Name of the topology to be tested, and also (depending on the selected topology) its parameters (number of nodes,
type of topology, its dimension, number of routers in the network);
2. Description of number of channels, width of the channel buffers, number of virtual channels;
3. Adjusting microarchitecture of the router (algorithm for distributing packets across channels, as well as algorithm
for distributing the load on routers);
4. Description of traffic (its structure, size, generation algorithm, and rate of packets entering the network in one
cycle);
5. General settings (number of simulation cycles, duration of one cycle and number of cycles to heat the network).
        </p>
        <p>BookSim conducts a simulation in three phases: warming up, measurement, analysis. The duration of these phases
depends on the parameters set in the configuration file. Delay and throughput are displayed after each phase, and at the end,
the average for these values is calculated. After the warm-up phase is completed, a message is displayed, and the simulator
moves to the next measurement phase, reconfiguring all the parameters. The statistical data of the simulated topology is
displayed before each next phase of the simulation. Upon completion of the simulation, BookSim generates an output file in
which all simulation results are recorded.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>5 BookSim simulator modification</title>
      <p>In order to use BookSim to model circulant topologies, it was necessary to make certain changes to its source code. To
begin with, a description of the topology was created. All structures, in which topologies supported by the simulator are
described, are built on the same principle: there is a class in which the main characteristics of the topology are stored. Also,
the topology class has a set of functions that, when called, will calculate the size of the network, calculate the total number
of physical channels, and configure individual network routers. The class also contains functions for building a network and
creating links between routers.</p>
      <p>All classes describing topologies are descendants of the general Network class which contains general information about
the network (number of nodes, number of channels, number of network cycles, etc.). It is used to configure parameters of
the virtual channels and the mechanism for confirming transfers using credits, as well as selecting the necessary class for
implementing the topology described in the configuration file and registering the routing algorithm for the topology. At this
layer of the model, there is a choice of algorithms for distributing traffic over the virtual channels of routers. An instance of
the Network class controls reading and writing of flits to ports defined by the routing algorithm and controls reading and
writing of credits.</p>
      <p>Thus, the Network class is an intermediary between the topology classes and the rest of the simulator logic. This is an
important advantage of the BookSim simulator, since, unlike many other simulators, the interface for connecting new NoC
topologies is implemented.</p>
      <p>Thus, the first thing done was the creation of a new class called Circulant which stores the number of network nodes and
the list of generators. Also, in the developed class, functions for calculating the size of the circulant network and number of
channels calculating the numbers of the nearest nodes (with the distance to the selected node equal to one hop) were
implemented. Next, changes were made to Network class by adding connection condition of the developed new topology
class, when it is mentioned in the configuration file.</p>
      <p>
        BookSim supports modeling of various topologies among which there are many variations of mesh and torus topologies.
For most of these variations, one can use the same routing algorithms. Therefore, instead of setting up a routing algorithm
in each class, the developers created a separate Routerfunc class which collects all the routing algorithms for all possible
topology classes as functions. To implement the selection of the required routing algorithm, gRoutingFunctionMap,
container is used; it stores references to the routing algorithms. In the configuration file, in the part of the topology setting,
the name of selected algorithm is specified, and then when setting up the routers, it is selected. In this file, the algorithms,
given in [
        <xref ref-type="bibr" rid="ref26">26</xref>
        ] for routing in circulant topologies, were specified and added to the gRoutingFunctionMap container.
      </p>
      <p>Since the definition of settings of the simulator occurs through the configuration file, the data is read from it in a certain
way and the corresponding variables are initialized. In order for the simulator to correctly read the configuration file to
simulate the circulant topology, changes were made to the class that implements processing of the read data from the
configuration file booksim_config. These changes might not be made; however, in this case, the possibility of describing the
generatrices in the form of a string, separated by a comma, is lost, which complicates the use of the simulator to simulate
circulant topologies with a large number of generatrices. At the same time, the classes, in which the configuration file
parser was implemented, did not need to be changed, since it simply read lines and distributes data from them into several
associative arrays. The read string with the generatrices is stored in a string variable and is further divided into an array of
numbers. An example of a configuration file for circulant network modeling is presented in Figure 5.</p>
    </sec>
    <sec id="sec-4">
      <title>6 Approbation</title>
      <p>To test the operation of the modified simulator, modeling and comparison of networks with mesh, torus, and circulant
topologies was performed. The optimal shapes of the mesh, torus, and circulant topologies were chosen for testing in order
to eliminate the influence of the geometric shape of the topologies on the result. For the circulant topology, restrictions were
imposed on the choice of the number of nodes in the network. They are calculated by the formula ܰ ൌ ݊ ଶ , where ܰ –
number of nodes in the network, ݊ – natural number. Thus, mesh(10x10), torus(10x10), and circulant ܥͳͲሺǢ ͳǡ ͳͺሻ
networks were simulated. The topology ܥͳͲሺǢ ͳǡ ͳͺሻ , obtained as a result of synthesis using the generatrix proposed
in [42], is optimal and characterized by the best values of diameter and average distance between nodes for circulants with
100 nodes [43]. The comparison was carried out on the average rate of transmission and reception of fleets when changing
the rate of generation of packets. The simulation was carried out with the following model parameters:
Packet length – 10 flits;
Warming up period – 3;
Sampling period – 1000;
Number of virtual channels – 8;
Traffic type – uniform;</p>
      <p>Rate of traffic generation – from 0.05 to 1.0.</p>
      <p>The simulation results are shown in Figures 6 and 7.</p>
      <p>Figure 7 – Dependence of average packet latency on injection rate</p>
      <p>
        The results obtained demonstrate that with the selected topology configuration, the throughput of mesh(10x10) topology
stabilized at 0.3; torus(10x10) – at 0.35; circulant ܥ ሺ ͳͲǢ ͳǡ ͳͺ ሻ – at 0.55. Also, the saturation of NoC with the circulant
topology occurs later than in mesh and torus topologies. These results confirm the previously obtained results [
        <xref ref-type="bibr" rid="ref26">26</xref>
        ] and
demonstrate high efficiency of using circulant topologies as the basis of NoCs.
      </p>
    </sec>
    <sec id="sec-5">
      <title>7 Conclusion</title>
      <p>Thus, a review of high-level NoC simulators was conducted. It showed that most high-level simulators support the
implementation of NoC modeling only with mesh and torus topologies. Meanwhile, it is the BookSim simulator which is
capable to carry out topology simulations not only of mesh and torus, but also their modifications, as well as other
topologies. It was the key feature for choosing a simulator for further modification. The facts of the BookSim (it is an open
source code, it is written in C++, and it can simulate various characteristics of networks) confirmed the correctness of the
choice of this simulator. The changes, proposed to the structure of simulator, ensured development of a class describing the
circulant topology; routing algorithms, allowed simulation of NoC with two-dimensional circulant topologies and a
comparative analysis of the results of their modeling with other topologies, were also added. To test the operation of the
modified simulator, networks with mesh, torus and two-dimensional circulant networks were simulated, and data were
obtained on the delays of receiving and transmitting fleets in the network. This makes it possible to conduct high-precision
modeling of NoCs with high-level circulant topologies.</p>
    </sec>
    <sec id="sec-6">
      <title>Acknowledgments</title>
      <p>The research leading to these results has received funding from the Basic Research Program at the National Research
University Higher School of Economics.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>AMBA</given-names>
            <surname>SPECIFICATIONS</surname>
          </string-name>
          . https://www.arm.com/products/system-ip/amba-specifications.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>Avalon</given-names>
            <surname>Bus Specification Reference Manual</surname>
          </string-name>
          ,
          <year>2002</year>
          . http://coen.boisestate.edu/clarenceplantingfiles/2011/09/ avalon_bus_spec.pdf.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>G.</given-names>
            <surname>Nychis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Fallin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Moscibroda</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O. Mutlu. Next</given-names>
            <surname>Generation</surname>
          </string-name>
          On-Chip
          <source>Networks: What Kind of Congestion Control Do We Need? Hotnets-IX: Proceedings of the 9th ACM SIGCOMM Workshop on Hot Topics in Networks, ACM, article 12</source>
          ,
          <year>October 2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>T.</given-names>
            <surname>Seceleanu</surname>
          </string-name>
          .
          <article-title>Communication on a Segmented Bus Platform</article-title>
          .
          <source>Proc. of the IEEE International SOC Conference</source>
          ,
          <volume>205</volume>
          -
          <fpage>208</fpage>
          ,
          <year>October 2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>J. Y.</given-names>
            <surname>Chen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W. B.</given-names>
            <surname>Jone</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. S.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Lu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T. F.</given-names>
            <surname>Chen</surname>
          </string-name>
          .
          <article-title>Segmented bus design for low-power systems</article-title>
          .
          <source>IEEE Transactions on Very Large Scale Integration (VLSI) Systems</source>
          ,
          <volume>7</volume>
          (
          <issue>1</issue>
          ):
          <fpage>25</fpage>
          -
          <lpage>29</lpage>
          ,
          <year>March 1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>A.</given-names>
            <surname>Jantsch</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Tenhunen</surname>
          </string-name>
          . Networks on Chip. Kluwer Academic Publishers,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>W. J.</given-names>
            <surname>Dally</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Towles</surname>
          </string-name>
          .
          <article-title>Principles and practices of interconnection networks</article-title>
          .
          <source>Elsevier</source>
          ,
          <volume>550</volume>
          ,
          <year>December 2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>D.</given-names>
            <surname>Deb</surname>
          </string-name>
          , J. Jose,
          <string-name>
            <given-names>S.</given-names>
            <surname>Das</surname>
          </string-name>
          .
          <article-title>Cost effective routing techniques in 2D mesh NoC using on-chip transmission lines</article-title>
          .
          <source>Journal of Parallel and Distributed Computing</source>
          ,
          <volume>123</volume>
          :
          <fpage>118</fpage>
          -
          <lpage>129</lpage>
          ,
          <year>January 2019</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>A. Q.</given-names>
            <surname>Ansari</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. R.</given-names>
            <surname>Ansari</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. A.</given-names>
            <surname>Khan</surname>
          </string-name>
          .
          <article-title>Modified quadrant-based routing algorithm for 3D Torus Network-on-Chip architecture</article-title>
          .
          <source>Perspectives in Science</source>
          ,
          <volume>8</volume>
          :
          <fpage>718</fpage>
          -
          <lpage>721</lpage>
          ,
          <year>September 2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>M. B. Marvasti</surname>
            ,
            <given-names>T. H. Szymanski.</given-names>
          </string-name>
          <article-title>The performance of hypermesh NoCs in FPGAs</article-title>
          .
          <source>IEEE 30th International Conference on Computer Design (ICCD)</source>
          ,
          <fpage>492</fpage>
          -
          <lpage>493</lpage>
          ,
          <year>December 2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>R.</given-names>
            <surname>Bishnoi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Kumar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Laxmi</surname>
          </string-name>
          .
          <article-title>Distributed adaptive routing for spidergon NoC</article-title>
          .
          <source>18th International Symposium on VLSI Design and Test (IEEE)</source>
          ,
          <fpage>1</fpage>
          -
          <lpage>6</lpage>
          ,
          <year>August 2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>A. Y.</given-names>
            <surname>Romanov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>I. I.</given-names>
            <surname>Romanova</surname>
          </string-name>
          .
          <article-title>Use of irregular topologies for the synthesis of networks-on-chip</article-title>
          .
          <source>IEEE 35th International Conference on Electronics and Nanotechnology (ELNANO)</source>
          ,
          <fpage>445</fpage>
          -
          <lpage>449</lpage>
          ,
          <year>July 2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>R.</given-names>
            <surname>Kourdy</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Yazdanpanah</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Rad</surname>
          </string-name>
          .
          <article-title>Using the NS-2 network simulator for evaluating multi-Protocol label switching in network-on-</article-title>
          <string-name>
            <surname>Chip</surname>
          </string-name>
          .
          <source>Second Int. Conf. Computer Research and Development</source>
          ,
          <volume>795</volume>
          -
          <fpage>799</fpage>
          , May
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>N.</given-names>
            <surname>Jiang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Michelogiannakis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Becker</surname>
          </string-name>
          ,
          <string-name>
            <surname>B. Towles W. J. Dally.</surname>
          </string-name>
          <article-title>BookSim 2.0 User's Guide</article-title>
          ,
          <year>March 2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>L.</given-names>
            <surname>Jain</surname>
          </string-name>
          .
          <article-title>NIRGAM: A Simulator for NoC Interconnect Routing</article-title>
          and
          <string-name>
            <given-names>Application</given-names>
            <surname>Modeling</surname>
          </string-name>
          .
          <source>Design Automation and Test in Europe (DATE)</source>
          ,
          <fpage>1</fpage>
          -
          <lpage>2</lpage>
          ,
          <year>September 2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>A. T.</given-names>
            <surname>Tran</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B. M.</given-names>
            <surname>Baas</surname>
          </string-name>
          .
          <article-title>NoCTweak: a Highly Parameterizable Simulator for Early Exploration of Performance and Energy of Networks On-Chip</article-title>
          .
          <source>Technical Report</source>
          , VLSI Computation Lab, ECE Department,
          <volume>12</volume>
          :
          <year>July 2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>A.</given-names>
            <surname>Romanov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Ivannikov. SystemC Language</surname>
          </string-name>
          <article-title>Usage as the Alternative to the HDL and High-level Modeling for NoC Simulation</article-title>
          .
          <source>International Journal of Embedded and Real-Time Communication Systems (IJERTCS)</source>
          ,
          <volume>9</volume>
          (
          <issue>2</issue>
          ):
          <fpage>18</fpage>
          -
          <lpage>31</lpage>
          ,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>N.</given-names>
            <surname>Genko</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Atienza</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Benini. Feature - Noc Emulation</surname>
          </string-name>
          :
          <article-title>A Tool and Design Flow for MPSoC</article-title>
          .
          <source>IEEE Circuits and Systems Magazine</source>
          ,
          <volume>7</volume>
          (
          <issue>4</issue>
          ):
          <fpage>42</fpage>
          -
          <lpage>51</lpage>
          ,
          <year>January 2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>D.</given-names>
            <surname>Bertozzi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Jalabert</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Benini</surname>
          </string-name>
          .
          <article-title>NoC Synthesis Flow for Customized Domain Specific Multiprocessor Systemson-Chip</article-title>
          .
          <source>IEEE Transactions on Parallel and Distributed Systems</source>
          ,
          <volume>16</volume>
          (
          <issue>2</issue>
          ):
          <fpage>113</fpage>
          -
          <lpage>129</lpage>
          ,
          <year>February 2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>K.</given-names>
            <surname>Goossens</surname>
          </string-name>
          ,
          <string-name>
            <surname>J. Dielissen.</surname>
          </string-name>
          <article-title>The Aethereal Network on Chip: Concepts, Architectures and Implementations</article-title>
          .
          <source>IEEE Design and Test of Computers</source>
          ,
          <volume>22</volume>
          (
          <issue>5</issue>
          ):
          <fpage>414</fpage>
          -
          <lpage>421</lpage>
          ,
          <year>October 2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>D.</given-names>
            <surname>Siguenza-Tortosa</surname>
          </string-name>
          ,
          <string-name>
            <surname>J. Nurmi.</surname>
          </string-name>
          <article-title>VHDL-based simulation environment for Proteo NoC</article-title>
          .
          <source>Proceedings of the Seventh IEEE International High-Level Design Validation and Test Workshop</source>
          , 1-
          <fpage>6</fpage>
          ,
          <year>October 2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>R. G.</given-names>
            <surname>Mota</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Silveira</surname>
          </string-name>
          , et al.
          <article-title>Efficient routing table minimization for fault-tolerant irregular Network-on-Chip</article-title>
          .
          <source>IEEE International Conference on Electronics, Circuits and Systems (ICECS)</source>
          ,
          <fpage>632</fpage>
          -
          <lpage>635</lpage>
          ,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>X.</given-names>
            <surname>Duan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Li</surname>
          </string-name>
          .
          <article-title>A Multiphase Routing Scheme in Irregular Mesh-Based NoCs</article-title>
          .
          <source>Fourth International Symposium on Parallel Architectures, Algorithms and Programming</source>
          ,
          <volume>277</volume>
          -
          <fpage>280</fpage>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <given-names>J. C. S.</given-names>
            <surname>Palma</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C. A. M.</given-names>
            <surname>Marcon</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F. G.</given-names>
            <surname>Moraes</surname>
          </string-name>
          .
          <article-title>Mapping embedded systems onto NoCs: the traffic effect on dynamic energy estimation</article-title>
          .
          <source>Proceedings of the 18th annual symposium on Integrated circuits and system design (SBCCI'05)</source>
          ,
          <fpage>196</fpage>
          -
          <lpage>201</lpage>
          ,
          <year>September 2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <given-names>K.</given-names>
            <surname>Goossens</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Diellisen</surname>
          </string-name>
          ,
          <string-name>
            <surname>A. Radulescu.</surname>
          </string-name>
          <article-title>AEthereal network on chip: concepts, architectures, and</article-title>
          .
          <source>IEEE Design &amp; Test of Computers</source>
          ,
          <volume>22</volume>
          (
          <issue>5</issue>
          ):
          <fpage>414</fpage>
          -
          <lpage>421</lpage>
          ,
          <year>September 2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [26]
          <string-name>
            <given-names>A.</given-names>
            <surname>Yu</surname>
          </string-name>
          . Romanov.
          <article-title>Development of routing algorithms in networks-on-chip based on ring circulant topologies</article-title>
          .
          <source>Heliyon</source>
          ,
          <volume>5</volume>
          (
          <issue>4</issue>
          ): article e01516,
          <year>April 2019</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [27]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Ben-Itzhak</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Zahavi</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Cidon.</surname>
          </string-name>
          <article-title>NoCs simulation framework for OMNeT++</article-title>
          .
          <source>Fifth IEEE/ACM Int. Symp. Networks on Chip (NoCS)</source>
          ,
          <fpage>265</fpage>
          -
          <lpage>266</lpage>
          , May
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          [28]
          <string-name>
            <given-names>H.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Zhu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Peh</surname>
          </string-name>
          .
          <article-title>Orion: a power-performance simulator for interconnection networks</article-title>
          .
          <source>Microarchitecture (MICRO-35). Proceedings. 35th Annual IEEE/ACM International Symposium on. - IEEE</source>
          ,
          <fpage>294</fpage>
          -
          <lpage>305</lpage>
          ,
          <year>November 2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          [29]
          <article-title>The Network Simulator - ns-2</article-title>
          . https://www.isi.edu/nsnam/ns/.
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          [30]
          <string-name>
            <given-names>N.</given-names>
            <surname>Jiang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. U.</given-names>
            <surname>Becker</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Michelogiannakis</surname>
          </string-name>
          , et al.
          <article-title>A detailed and flexible cycle-accurate Network-on-Chip simulator</article-title>
          .
          <source>IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS)</source>
          ,
          <fpage>86</fpage>
          -
          <lpage>96</lpage>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          [31]
          <string-name>
            <given-names>H.</given-names>
            <surname>Phan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Tran</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Yoneda</surname>
          </string-name>
          .
          <article-title>Power consumption estimation using VNOC2.0 simulator for a fuzzy-logic based low power Network-on-Chip</article-title>
          .
          <source>IEEE International Conference on IC Design and Technology (ICICDT)</source>
          ,
          <fpage>1</fpage>
          -
          <lpage>4</lpage>
          , May
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          [32]
          <string-name>
            <given-names>V.</given-names>
            <surname>Catania</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Mineo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Monteleone</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Palesi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Patti</surname>
          </string-name>
          .
          <article-title>Cycle-accurate network on chip simulation with noxim</article-title>
          .
          <source>ACM Transactions on Modeling and Computer Simulation (TOMACS)</source>
          ,
          <volume>27</volume>
          (
          <issue>1</issue>
          ): article 4,
          <year>November 2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref33">
        <mixed-citation>
          [33]
          <string-name>
            <given-names>Z.</given-names>
            <surname>Lu</surname>
          </string-name>
          . NNSE:
          <article-title>Nostrum network-on-chip simulation environment. Swedish system-on-chip conference</article-title>
          ,
          <year>March 2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref34">
        <mixed-citation>
          [34]
          <string-name>
            <given-names>J.</given-names>
            <surname>Hu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Marculescu</surname>
          </string-name>
          .
          <article-title>Energy-aware mapping for tile-based NoC architectures under performance constraints</article-title>
          .
          <source>Proceedings of the ASP-DAC Asia and South Pacific Design Automation Conference</source>
          ,
          <volume>233</volume>
          -
          <fpage>239</fpage>
          ,
          <year>April 2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref35">
        <mixed-citation>
          [35]
          <string-name>
            <given-names>C.</given-names>
            <surname>Ababei</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H. S.</given-names>
            <surname>Kia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O. P.</given-names>
            <surname>Yadav</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Hu</surname>
          </string-name>
          .
          <article-title>Energy and reliability oriented mapping for regular networks-on-chip</article-title>
          .
          <source>Proceedings of the Fifth ACM/IEEE International Symposium</source>
          ,
          <volume>121</volume>
          -
          <fpage>128</fpage>
          , May
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref36">
        <mixed-citation>
          [36]
          <string-name>
            <given-names>H. J.</given-names>
            <surname>Kim</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. T.</given-names>
            <surname>Seo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T. H.</given-names>
            <surname>Han</surname>
          </string-name>
          . 3CEO:
          <article-title>Three dimensional Cmesh based electrical-optical router for networks-onchip</article-title>
          .
          <source>ICTC</source>
          <year>2011</year>
          ,
          <volume>114</volume>
          -
          <fpage>119</fpage>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref37">
        <mixed-citation>
          [37]
          <string-name>
            <given-names>P.</given-names>
            <surname>Yebenes</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Escudero-Sahuquillo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P. J.</given-names>
            <surname>Garcia</surname>
          </string-name>
          , et al.
          <article-title>An Effective Queuing Scheme to Provide Slim Fly Topologies with HoL Blocking Reduction and Deadlock Freedom for Minimal-Path Routing</article-title>
          .
          <source>IEEE 3rd International Workshop on High-Performance Interconnection Networks in the Exascale and Big-Data Era (HiPINEB)</source>
          ,
          <fpage>25</fpage>
          -
          <lpage>32</lpage>
          ,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref38">
        <mixed-citation>
          [38]
          <string-name>
            <given-names>K.</given-names>
            <surname>Hose</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Karnstedt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Koch</surname>
          </string-name>
          , et al.
          <source>Processing Rank-Aware Queries in P2P Systems</source>
          . Databases,
          <string-name>
            <surname>Information Systems</surname>
          </string-name>
          , and Peer-to-
          <source>Peer Computing: Proceedings of the</source>
          <year>2005</year>
          /2006 international conference on Databases,
          <article-title>information systems, and peer-to-peer computing</article-title>
          ,
          <volume>171</volume>
          -
          <fpage>178</fpage>
          ,
          <year>August 2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref39">
        <mixed-citation>
          [39]
          <string-name>
            <given-names>H.</given-names>
            <surname>Ghalwash</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C. H.</given-names>
            <surname>Huang</surname>
          </string-name>
          .
          <article-title>QOS for SDN-based fat-tree networks</article-title>
          .
          <source>Future of Information and Communication Conference FICC 2019: Advances in Information and Communication</source>
          ,
          <volume>691</volume>
          -
          <fpage>705</fpage>
          ,
          <year>2019</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>