<!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 />
    <article-meta>
      <title-group>
        <article-title>Using the cluster "Sergey Korolev" for modelling computer networks</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>D Y Polukarov</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>A P Bogdan</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Samara National Research University</institution>
          ,
          <addr-line>Moskovskoe Shosse, 34А, Samara, Russia, 443086</addr-line>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2019</year>
      </pub-date>
      <fpage>424</fpage>
      <lpage>431</lpage>
      <abstract>
        <p>Modelling large-scale networks requires significant computational resources on a computer that produces a simulation. Moreover, the complexity of the calculations increases nonlinearly with increasing volume of the simulated network. On the other hand, cluster computing has gained considerable popularity recently. The idea of using cluster computing structures for modelling computer networks arises naturally. This paper describes the creation of software which combines an interactive mode of operation, including a graphical user interface for the OMNeT++ environment, with a batch mode of operation more natural to the high-performance cluster, "Sergey Korolev". The architecture of such a solution is developed. An example of using this approach is also given.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        1. Introduction
Modeling large-scale networks requires significant computational resources on a computer that
produces a simulation. Many universities have at their disposal computational cluster architectures of
various sizes. The aim of this current work is to improve the quality of network simulation by using
cluster "Sergey Korolev" of Samara National Research University. OMNeT++ is used in this work to
model computer networks. OMNeT++ is a discrete event simulation environment [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. The primary
application area of OMNeT++ is the simulation of communication networks. OMNeT++ has a number
of examples in its composition. This simplifies the process of deploying and verifying the system on a
cluster.
      </p>
      <p>
        The use of the high performance cluster "Sergey Korolev" often dictates a batch (and not
interactive) mode of operation [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], without no graphical interface being available. And although there
are nevertheless some opportunities for interactive work using the cluster, and some graphical
output [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] can be made available in relation to this, these possibilities are severely limited.
      </p>
      <p>
        For simulation of computer networks, it is more convenient to use an interactive mode of operation
alongside a graphical user interface. For these purposes, software should be created which is capable
of interacting with the user via graphical tools. In such a case, the OMNeT++ system [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] can serve as a
convenient shell. The user can use the OMNeT++ system models but make the necessary calculations
using the cluster in batch mode. Subsequently, the results of the calculations are transmitted to the
user's local computer.
      </p>
    </sec>
    <sec id="sec-2">
      <title>2. Related works</title>
      <p>
        In [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], the authors analyzed a set of INET models [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], in terms of the ability of such model networks,
in OMNeT++, to run in parallel. The authors found several issues which prevented the parallel
execution of INET models. They analyzed these problems and developed solutions to them – to allow
parallel launching of INET models. A situational analysis (using the case-study method) showed the
feasibility of this approach. Although there are some elements of the model range that have not yet
been investigated, and the performance attained still leaves some room for improvement, the results
show an acceleration due to parallelization across most configurations.
      </p>
      <p>A number of papers are devoted to the use of clusters in scientific applications.</p>
      <p>
        In [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], the authors implemented a fast installation of a virtual cluster in heterogeneous
environments. To do this, they created a performance model that predicted the installation time of a
virtual cluster. They proposed a resource selection policy based on the model made as well. They
divided the entire installation of the virtual cluster into five logical steps and created a model for each
step. Each step is represented as a linear combination of software and hardware parameters, including
processor speed, disk I/O performance, and installation package size. An advanced virtual cluster
installer was also made. Experiments using the advanced installer have shown the effectiveness of the
selection policy based on the models created.
      </p>
      <p>
        The work [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] is the result of efforts to support a data analysis cluster (DAC) with minimal effort
from the local system administrator. The authors tried to enable the scientist to focus on analyzing the
data and not on managing the cluster. They developed a tool that allows a scientist to deploy and
restore entire clusters with minimal effort. Puppet CMS was used to implement the deployment
algorithm. This allowed system administrators to spend less time deploying a cluster. The ATLAS
Tier 3 Cluster is given as an example. Reducing the time spent deploying and maintaining the cluster
will result in more scientific results being produced from the DACs.
      </p>
      <p>There are works that offer novel algorithms for storing and processing data on clusters.</p>
      <p>
        Article [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] contains an approach to distributed image storage. This is done to improve the
efficiency of parallel image processing algorithms. The distributed image was defined as a set of
overlapping fragments. This made it possible to avoid bottlenecks of parallel processing and
overlapping associated with reading/writing image data. Since the efficiency of a distributed system
for processing large-sized images is largely determined by data access methods in image processing
software and the convenience of visualizing processing results. The authors analyzed the advantages
and bottlenecks of popular parallel image processing systems. A novel approach to data organization
in distributed systems for image processing and storage is proposed. This approach is based on the
concept of a distributed image. The concept of the organization of distributed image data is proposed,
which solves most of the current problems. Achieved the required level of fault tolerance of the
distributed storage of image fragments.
      </p>
      <p>A number of papers are devoted to the use of the OMNeT++ simulator on cluster architectures.</p>
      <p>
        The article [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] describes the parallelization of OMNeT++ simulations with Xgrid. The necessary
changes in OMNeT++ for the automatic creation of job description files for Xgrid are developed. This
allows the user to easily set up a simulation for Xgrid. By processing the job specification file, the
Xgrid controller then distributes the individual simulation runs to all available parallel computing
machines. Smaller files, such as configuration files, may be included in the job description file. Large
files should be read or written to network shares for increased performance. The actions developed
accelerated simulation modeling, almost linear with respect to additional computing power, compared
to conventional single-process computing.
      </p>
      <p>
        The article [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] presents a scheme for cluster modeling of distributed systems based on Ethernet
(RTEthernet) in real time. It relies on the OMNeT++ discrete event simulation environment associated
with the ARM-based coprocessor. The presented approach allows us to associate the real RTEthernet
subsystem with virtual components operating in discrete modeling that implement the required
behavior for the subsystem. The authors estimated the performance limits of this approach with
respect to latency and jitter when running a simulation on a Linux system with a real-time kernel fix.
The results showed that synchronization requirements for cluster modeling of small RTEthernet
networks can be achieved.
      </p>
      <p>This paper demonstrates the concept of cluster modeling of RTEthernet systems. The computing
platform is based on a standard PC with an RT-Linux kernel, on which RTEthernet models work in the
OMNeT++ simulation environment and the ARM9 microcontroller as a coprocessor.</p>
      <p>The evaluation showed that the platform provides sufficient performance for the latency
requirements of distributed real-time systems in the 230µs range, which is limited and has a linear
dependence on frame size. The observed jitter is below 40µs.</p>
      <p>
        The article [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] reports on the novel parallel and distributed modeling architecture for OMNeT++,
an open source discrete-event modeling environment. The main application area of OMNeT++ is
network communication modeling. Support for the conservative PDES protocol (zero message
algorithm) and relatively new simulation protocol has been implemented. The OMNeT++ PDES
implementation has a modular and extensible architecture that makes it easy to add new
synchronization protocols and new communication mechanisms, which also makes it an attractive
platform for PDES research. The advantage of the implementation is that it has the principle of
“separation of experiments from models” and, thus, allows simulation models to run in parallel
without any changes. It is based on a new placeholder approach for instantiating the model on
different logical processes (LPs).
      </p>
      <p>So, to summarize, the above article describes an analysis of the parallelization problems inherent in
the INET set of OMNeT++ models and demonstrates the possibility of INET parallelization, using a
number of modifications to the models; this parallelization was primarily aimed at distributed
initialization of the INET models.</p>
      <p>The concept of distributed multistage initialization allows for the creation of a simulation model
which supports distributed simulation execution. The tests showed that there is an acceleration of
execution, due to parallelization, for the given example in most configurations, although there is still
potential for further optimization. The implementation covers the most commonly used protocols, such
as Ethernet, IPv4, TCP, and UDP, as well as the related models such as ICMPv4 or the application of
UDP.</p>
    </sec>
    <sec id="sec-3">
      <title>3. Deploy and run a project on a cluster</title>
      <sec id="sec-3-1">
        <title>3.1 Deploying</title>
        <p>
          According to the official documentation [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ], the cluster is accessed via SSH-2, and SFTP is used to
transfer files. Programs are run as part of batch processing tasks.
        </p>
        <p>To deploy a network simulator on a cluster, the steps presented in Table 1 are necessary.
access the cluster;
upload the necessary files to the cluster;
create a task which build the OMNeT++ network simulator and wait for its completion
(there is a version of OMNeT++ without an IDE, this is what was used here);
create a task which build the INET Framework;
create a test simulation model;
create a task which runs the simulation and wait for its completion;
download the result of the work.</p>
        <p>However, interactive task execution is possible on the cluster - given access to a free node in the
cluster. The simulation will be run as follows (in Figure 2).</p>
        <p>It is worth noting that the main difficulties encountered when deploying a simulator on a cluster are
to do with recreating the necessary environment and also there are the problems relating to the limited
access available (all work is done in the console mode).</p>
        <p>
          After initial testing, it was found that the INET Framework does not support parallel simulation
work. To solve this problem, the proposals in “Parallel INET for OMNeT++” [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ] were used.
However, this work has the disadvantage that it is based on the old versions of OMNeT++ and the
INET Framework (from 2014), and so dictates a slightly different structure for the modules (changes
in the algorithm are necessary).
        </p>
      </sec>
      <sec id="sec-3-2">
        <title>3.2 Run on cluster</title>
        <p>To work with MPI, the Tictoc1 system was selected; this consists of two modules. These modules
should be assigned to different MPI nodes, as shown in Figure3.</p>
        <p>Then the project in OMNeT++ is built on the local machine.</p>
        <p>To check the functionality from the project directory via mpirun, the following command is issued:
$ mpirun -np 2 ./tictoc -m -u Cmdenv -c Tictoc1 omnetpp.ini.
The result of such a command should look like this:</p>
        <p>Next, the folder containing the project itself and the folder containing the source files must be
copied over in order that the necessary libraries can be collected together into a working folder on the
supercomputer, so that all can then be compiled (the libraries, and the project itself). The list of
required libraries can be viewed using ldd %executable_file_name%, usually the necessary
libraries will be only those that are in the OMNeT++ folder.</p>
        <p>Next, it necessary to build the project on the cluster.</p>
        <p>Then you need to create, in the working folder on the supercomputer, the task file *.pbs.
Sample file content is as follows:
#!/bin/bash
#PBS -N helloOMNeT //name of task
#PBS -A helloOMNeT
#PBS -l walltime=00:01:00 //required time
#PBS -l nodes=1:ppn=2 //number of nodes and processes
#PBS -j oe //error stream to standard output
cd $PBS_O_WORKDIR
export PATH=$PBS_O_PATH
# Loading Intel MPI v4 environment
module load impi/4
export I_MPI_DEVICE=rdma
export I_MPI_DEBUG=0
export I_MPI_FALLBACK_DEVICE=disable
# command run task taking into account the features of the environment
mpirun -r ssh -machinefile $PBS_NODEFILE -np $PBS_NP ./tictoc -m
Cmdenv -c Tictoc1 omnetpp.ini.
-u</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Future work</title>
      <p>We plan to test the work of OMNeT++ on the cluster "Sergey Korolev" using the project INET
Framework. It is also planned to organize the possibility of full interactive work in the graphical
interface of the modeling environment. To illustrate the effectiveness of the method used, it is planned
to measure the performance of applications running on a cluster.</p>
    </sec>
    <sec id="sec-5">
      <title>5. Conclusion</title>
      <p>In this paper, we showed the development of software which allows us to combine an interactive mode
of operation of the OMNeT++ modeling system and the batch mode of the cluster “Sergey Korolev”.
in Via initial testing, it was discovered that the way by which networks are created in the course of
simulation does not work in Parallel INET for OMNeT++. As a result, it was decided to create a
network for parallel simulation using a Python script, and for ordinary simulation using a module
created for OMNeT++. These results can be used to solve the other, related, problems [12].</p>
    </sec>
    <sec id="sec-6">
      <title>Acknowledgments</title>
      <p>This work was undertaken as a component of the project part of the state task of the Ministry of
Science and Higher Education of the Russian Federation No. 2.974.2017/4.6.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>OMNeT</given-names>
            <surname>++ Discrete Event Simulator</surname>
          </string-name>
          <string-name>
            <surname>URL</surname>
          </string-name>
          : https://omnetpp.org/ (
          <volume>23</volume>
          .
          <fpage>01</fpage>
          .
          <year>2019</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <article-title>[2] Instructions for working with computer systems at</article-title>
          SCC of Samara University Supercomputer center of Samara University URL: http://hpc.ssau.ru/node/19/ accessed 23.01.2019
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>Enabling</given-names>
            <surname>Distributed</surname>
          </string-name>
          <article-title>Simulation of OMNeT++ INET Models URL</article-title>
          : https://arxiv.org /pdf/1409.0994.
          <string-name>
            <surname>pdf</surname>
          </string-name>
          (
          <volume>23</volume>
          .
          <fpage>01</fpage>
          .
          <year>2019</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>INET</given-names>
            <surname>Framework</surname>
          </string-name>
          <string-name>
            <surname>URL</surname>
          </string-name>
          : https://inet.omnetpp.org/ (
          <volume>23</volume>
          .
          <fpage>01</fpage>
          .
          <year>2019</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <surname>Yamasaki</surname>
            <given-names>S</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Maruyama</surname>
            <given-names>N</given-names>
          </string-name>
          and
          <string-name>
            <surname>Matsuoka</surname>
            <given-names>S 2007</given-names>
          </string-name>
          <article-title>Model-based resource selection for efficient virtual cluster deployment</article-title>
          <source>Proceedings of the 2nd international workshop on Virtualization technology in distributed computing p 6</source>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <surname>Hendrix</surname>
            <given-names>V</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Benjamin</surname>
            <given-names>D</given-names>
          </string-name>
          and
          <string-name>
            <surname>Yao Y 2012 Scientific Cluster</surname>
          </string-name>
          <article-title>Deployment and Recovery-Using puppet to simplify cluster management</article-title>
          <source>Journal of Physics: Conference Series</source>
          <volume>396</volume>
          (
          <issue>4</issue>
          )
          <fpage>042027</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <surname>Kazanskiy</surname>
            <given-names>N L</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Popov</surname>
            <given-names>S B</given-names>
          </string-name>
          <year>2011</year>
          <article-title>Distributed storage and parallel processing for large-size optical images</article-title>
          <source>Proceedings of SPIE (Optical Technologies for Telecommunications) 8410 84100I DOI: 10.1117/12</source>
          .928441
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <surname>Seggelmann</surname>
            <given-names>R</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rüngeler</surname>
            <given-names>I</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tüxen</surname>
            <given-names>M</given-names>
          </string-name>
          and
          <string-name>
            <surname>Rathgeb E P 2009 Parallelizing OMNeT</surname>
          </string-name>
          <article-title>++ simulations using xgrid Proceedings of the 2nd International Conference on Simulation Tools and Techniques (Institute for Computer Sciences, Social-Informatics and</article-title>
          Telecommunications Engineering) p
          <fpage>69</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <surname>Karfich</surname>
            <given-names>O</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bartols</surname>
            <given-names>F</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Steinbach</surname>
            <given-names>T</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Korf</surname>
            <given-names>F</given-names>
          </string-name>
          and
          <string-name>
            <surname>Schmidt T C 2013</surname>
          </string-name>
          <article-title>A hardware/software platform for real-time ethernet cluster simulation in OMNeT++</article-title>
          <source>Proceedings of the 6th International ICST Conference on Simulation Tools</source>
          and
          <article-title>Techniques (Institute for Computer Sciences, SocialInformatics</article-title>
          and Telecommunications Engineering)
          <fpage>334</fpage>
          -
          <lpage>337</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>Varga</surname>
            <given-names>A</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sekercioglu</surname>
            <given-names>A Y</given-names>
          </string-name>
          <year>2003</year>
          <article-title>Parallel simulation made easy with OMNeT++ 15th European Simulation Symposium</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>Parallel</surname>
            <given-names>INET</given-names>
          </string-name>
          for OMNeT++ URL: https://redmine.comsys.rwth-aachen.de/redmine/ projects/parallel-inet
          <source>/ (01.05</source>
          .
          <year>2019</year>
          ) [12]
          <string-name>
            <surname>Nikitin</surname>
            <given-names>V S</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Semenov</surname>
            <given-names>E I</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Solostin</surname>
            <given-names>A V</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sharov</surname>
            <given-names>V G</given-names>
          </string-name>
          and
          <string-name>
            <surname>Chayka S V 2016</surname>
          </string-name>
          <article-title>Modeling the" smartlink connection"</article-title>
          performance
          <source>Computer Optics</source>
          <volume>40</volume>
          (
          <issue>1</issue>
          )
          <fpage>64</fpage>
          -
          <lpage>73</lpage>
          DOI:10.18287/
          <fpage>2412</fpage>
          -6179- 2016-40-1-
          <fpage>64</fpage>
          -73
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>