<!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>A Web-based System for Launching Large Experiment Series on Supercomputers?</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Evgeniy Kuklin</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Sergei Pravdin</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Krasovskii Institute of Mathematics and Mechanics</institution>
          ,
          <addr-line>Ekaterinburg</addr-line>
          ,
          <country country="RU">Russia</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Ural Federal University</institution>
          ,
          <addr-line>Ekaterinburg</addr-line>
          ,
          <country country="RU">Russia</country>
        </aff>
      </contrib-group>
      <fpage>136</fpage>
      <lpage>145</lpage>
      <abstract>
        <p>The researchers developed a user-friendly web-based service for launching large series of experiments on parallel computing systems. Simulation of various biological processes requires that dozens of numerical experiments with parameter variations have to be conducted. A key feature of the proposed system is the automatic generation of con guration les based on a proposed algorithm for generating tuples and automatic job launching, which saves researchers from manual data preparation. The developed system is currently used for conducting computational experiments to study the drift of spiral waves in myocardium on the Uran supercomputer, Ekaterinburg, Russia.</p>
      </abstract>
      <kwd-group>
        <kwd>Parallel computing systems</kwd>
        <kwd>Supercomputers</kwd>
        <kwd>Experiment series launching</kwd>
        <kwd>Graphical user interface</kwd>
        <kwd>Living system simulation</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>Living system simulation often demands a large number of computational
experiments on the same model but with varying parameter values. Since experiments
are time-consuming, conducting them in a reasonable time frame without parallel
computing systems and supercomputers is di cult. In order to obtain accurate
results, dozens or hundreds of numerical experiments must be prepared and
performed. For many scientists, working with a command line on supercomputers
is tedious and frustrating.</p>
      <p>Often, these problems are solved using already existing specialized
applications, which are accessed from various web platforms. However, most platforms
are focused on a speci c task and utilize preinstalled software, which limits their
use. In addition, they do not allow users to exibly con gure the automatic
generation of input data for di erent simulation models. This can cause problems
when conducting a large number of experiments.</p>
      <p>To reduce experiment preparation, the authors developed the web-based
multiplatform system for launching experiments on a supercomputer. The system
conducts large series of computational experiments with di erent parameter
values, saving scientists from manually preparing the input data and launching jobs.
? Supported by the RSF project 17-71-20024 (IMM UB RAS).
It tracks and saves parameters of previous experiments to be reused or recon
gured. The service provides a simple web interface that works remotely without
the installation of additional software. Though the project was initiated for the
purposes of heart modeling, the system can also be used for di erent
computational clusters and can run almost any software that has an input con guration
le in the standard INI le format. A build-in parser supports sections, enclosed
in square brackets and making parameter lists more structured, and comments.
If varied parameter values make an arithmetic progression, they can be speci ed
in a short form as a start value, an increment, and a nal value. The present
article describes the architecture of the developed system, as well as the algorithm
for generating tuples from sets of values of individual parameters, and features
of the graphical user interface.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Service Architecture</title>
      <p>After we encountered technical problems when using Python for desktop GUI
development, we conceptualized the interface. Remote users could use di erent
operation systems, and could not have administrator rights, which caused
problems with installing the required packages for the desktop version. Therefore, a
web-based interface was conceived, which should work with any computer, even
on a tablet or smartphone.</p>
      <p>The schematic diagram of the system is shown in Fig. 1. The main
components of the system are located on a dedicated server. These include: a web
server, which provides the interface, a database, a storage directory for
experimental metadata, and several service scripts.</p>
      <p>User PC
Web interface</p>
      <p>Dedicated server
H T T P</p>
      <p>Web server</p>
      <p>P H P</p>
      <p>Database
Computational S L U R M
nodes</p>
      <p>Head node</p>
      <p>SFTP
Supercomputer</p>
      <p>NFSv4
/home</p>
      <p>Storage system</p>
      <p>Archive</p>
      <p>Fig. 1. Web service architecture</p>
      <p>The system uses the concept of a computational package, which is prepared
via the interface and then sent through \SFTP" protocol to the supercomputer
storage system into the user's home directory. The entire computational package
is stored in a special directory on the web server for possible re-use in the future;
key information about the package is written to the database. All supporting
scripts are sent along with the original data in the computational package, but
they can also be taken from a special directory on the storage system.</p>
      <p>On the supercomputer, after the automatic preparation of input con
guration les for each experiment of the series (see Section 3.3), the launch script
sets the tasks for execution through interacting with the supercomputer
workload manager, such as \SLURM". Data obtained as a result of the calculations
remain in the storage system, which is connected to the compute nodes and the
cluster head node via \NFSv4" protocol. These data can optionally be placed in
a common archive of the research group, which work with the system.
3
3.1</p>
    </sec>
    <sec id="sec-3">
      <title>Technical Issues</title>
      <p>Web Interface
One of the main objectives of the project was to provide an easy-to-use system
through a user-friendly interface requiring minimal adaptation. As mentioned,
the universal web interface used likely on any computer.</p>
      <p>The process of setting a series of experiments is divided into four steps. In
the rst step (see Appendix; Fig. 2), a user can start a new project, select one
of the previous projects, or check the status of jobs already running on the
supercomputer.</p>
      <p>The second step (Appendix; Fig. 3) involves editing the con guration le for
the simulation program. Simulation of living systems may involve the launch of a
large number of experiments on one model with a variation of several parameters.
For convenience, the parameter values for each experiment can be speci ed in
one le, separating the values with a space.</p>
      <p>In the third step (Appendix; Fig. 4), the user speci es all the necessary
information to place the jobs in the execution queue on a parallel computing
system. The information includes the path to the source folder, parameters for
the workload manager, the working directory, and a description of the
experiment. Presumable, the source code is already stored on the supercomputer, since
the program must be built there.</p>
      <p>The last step (Appendix; Fig. 5) displays details of the experiment series,
and the queue of the active user jobs (con rming the tasks have been
successfully started for calculation). To display the queue, the supercomputer workload
manager receives a request with the appropriate command from the web server.
3.2</p>
      <p>Database Usage
In order to repeat a previous experiment, it is su cient to save the simulation
program, the experimental con guration les, and the parameters for the
workload manager. Every experiment is assigned a unique identi er stored in the
database along with other parameters of the experiment that becomes the name
of the directory storing the les related to the experiment. The rest of the data
is saved in the next steps of the experiment.</p>
      <p>On the service home page, the latest experiments of all users are displayed
using information from the database (see Appendix; Fig. 2). This makes it
possible to avoid duplicate calculations when required experiment has already been
conducted or to reproduce an experiments when necessary. Moreover, once
performed, a series of experiments can be easily restarted with di erent parameters
without replacing the elds, which accelerates launching repeated calculations.</p>
      <p>
        The database used for the project is PostgreSQL [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. The launching scripts
were written in Python, Bash, and PHP.
3.3
      </p>
      <p>Generation of Con guration Files
The used simulation software stores all model parameters in a standard INI
conguration le. For example, to study the drift of spiral waves in the myocardium,
several models with 10{20 parameters are used, and almost every parameter in
the corresponding con guration les can be variated. The system never knows
how many combinations will result from user settings. Using a recursion is not a
good idea, so an e cient algorithm for full parameter enumeration was necessary.</p>
      <p>Each input le describes values of parameters a0; a1; : : : ; ak. According to
a speci c task, a parameter ai can be constant for all launches or must take
a0; ai1; : : : ; aini g. So, a set of input les where varying
values from a set Vi = f i
parameters take values from their respective sets must be created. We propose
a simple algorithm to get all tuples. The number of tuples is N = (n0 + 1)(n1 +
1) : : : (nk+1). Each input le is created based on indices i0; i1; : : : ; ik of parameter
values. To get a tuple corresponding to an index I 2 f0; : : : ; N 1g, we use a
backing array J1:::k and utilize the algorithm 1.</p>
      <sec id="sec-3-1">
        <title>Algorithm 1: Tuples generation algorithm</title>
        <p>procedure FindTuples</p>
        <p>Jk = I
for p from k
begin</p>
        <p>1 downto 1 do
ip = Jp+1 mod np</p>
        <p>Jp = Jp+1 div np
end
i0 = J1 mod n0</p>
        <p>Finally, the Ith tuple is formed using indices i0; i1; : : : ; ik, which serve to
create N con guration les with unique parameter values. Each con guration
le is placed to its own directory, from where its own copy of simulation software
is launched. For convenience, the directory names depend on values and names
of the varied parameters.</p>
        <p>Two ways of specifying a set of values of one parameter are supported. Users
may simply list the values by separating them with a space or apply an
expression, like 200...10...300, in which the initial value, the step, and the nal value
are speci ed, respectively.
4</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Discussion and Approbation</title>
      <p>The users of the developed system appreciated the convenience of the new web
GUI and the ability to launch a series of dozens of experiments in ve minutes
without working in a command line. Using settings from previous experiments
reduces the time to launch a new experiment series to less than a minute.
Overall, the user-friendly system helped the researchers to conduct computational
experiments more e ciently.</p>
      <p>The proposed system was tested with the Uran supercomputer located at
the Krasovskii Institute of Mathematics and Mechanics of the Russian Academy
of Sciences in Ekaterinburg, Russia. The system currently carries out
computational experiments to study the drift of spiral waves in myocardium. Myocardium
is an active medium and consists of interconnected elements. They have a
resting state and can temporarily reach an excited state when enough stimulus is
applied. Excited elements produce stimuli that spread in all directions and can
excite neighboring elements. Thus, waves of excitation can appear. The waves
can be plane and spiral. Spiral waves in myocardium emerge only in the case
of dangerous arrhythmias and must be treated if they persist. One treatment
called low-voltage cardioversion-de brillation (LVCD) involves periodical
applying a small electrical current to an area in the myocardium so that the stimulated
zone produces plane waves with greater frequency than the spiral waves. The
plane waves begin to occupy broader and broader zones and nally supersede
the spiral waves. The aim of the study is to nd out the optimal stimulation
parameters for the LVCD. Five models with di erent numbers of parameters are
used for the simulation.</p>
      <p>
        The induced drift of spiral waves was simulated with a range of cardiac
models, model parameters, stimulation periods, and areas [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. There were 6 8+5 9
sets of parameters in total (parameters varied for di erent models).
      </p>
      <p>
        As myocardium has bers along which the excitation spreads faster than
across, it considered anisotropic. The wave drift was studied in an anisotropic
tissue [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], so ber direction was a new parameter that also varied. In total, 7 5 2
parameter sets were examined.
      </p>
      <p>
        Another work was devoted to studying LVCD in anisotropic myocardium
models with curved bers using biophysical ionic Luo|Rudy cell model [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ].
After measuring the time of the spiral wave drift and determining the type of
interaction between waves, the ndings were compared with the results of the
isotropic and parallel ber anisotropic cases. In total, seventeen parameter sets
were investigated.
      </p>
      <p>
        The computational program was written in C using a third-party software
[
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] for parsing INI les.
      </p>
      <p>Although the service was designed for heart modeling problems, it can also
be used with another computational clusters and other software.
5</p>
    </sec>
    <sec id="sec-5">
      <title>Related Work</title>
      <p>
        To assist domain-speci c scientists in conducting numerical experiments on
parallel computing systems, various platforms have been created [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. A number
of projects have provided the integration of application software packages with
supercomputers. For example, the DiVTB (Distributed Virtual Test Bed)
platform provides a task-oriented approach for solving speci c classes of problems
in computer-aided engineering through resources supplied by grid computing
environments. It has a user-friendly graphical interface where parameters of a
computational experiment can be speci ed, and the experiment can then be
executed on a supercomputer.
      </p>
      <p>
        A \Specialized web portal for solving problems on multiprocessor computing
systems" [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] is a similar to DiVTB project for remote calculations. The system
incorporates several parallel algorithms to solve the inverse gravity of lateral
density reconstruction, the structural inverse gravity, and the magnetic problem
of the contact surface reconstruction.
      </p>
      <p>
        A platform called Education-research Integration through Simulation On the
Net" (EDISON) [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] has been designed and implemented to access and run
various technological computer-aided design software tools. The platform provides an
easy-to-use GUI that helps geographically distributed researchers run and share
their tools in ve areas: computational uid dynamics, computational chemistry,
nanophysics, computer-aided optimal design, and computational structural
dynamics.
      </p>
      <p>
        The Orion system [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] provides a practical and economical interface on the
Tianhe-2 supercomputer to enable big data applications to run on Tianhe-2 via
a single command or a shell script.
      </p>
      <p>While many systems are limited by an integrated set of algorithms or
applications, the distinctive feature of the proposed system is the ability to use
various software to run experiments, providing users exibility and convenience.
Also, previous projects did not provide automation, such as launching of a
series of computational experiments with varying parameter values. However, the
positive experience of management of such systems via a web interface is worth
noting and inspired the creation of the proposed system.
6</p>
    </sec>
    <sec id="sec-6">
      <title>Conclusion</title>
      <p>The paper describes the web-based multiplatform system for launching a series
of experiments on a supercomputer. The service interface allows users to set the
parameters and run jobs on a supercomputer without working in a command
line. The system focuses on minimizing the number of user actions required for
launching a large series of experiments. Using the built-in database, a previously
conducted experiment can be quickly restarted with new settings. The system
supports INI sections and comments, and allows users to specify a range of values
incrementally.</p>
      <p>The architecture of interaction among a computing cluster, a database, and
an external web application were presented with the algorithm for generating
tuples from sets of values with individual parameters, and features of the graphical
user interface were also presented. The system is used for carrying out
computational experiments to study the drift of spiral waves in myocardium on the Uran
supercomputer.</p>
      <p>The nearest extension of the project is the option of automatically writing
to the archive with indexing in the database and the ability to search through
previously launched experiments using keywords. Adapting the system for more
interactive job control (for example, canceling all the jobs launched during an
experiment) will greatly enhance usability. The researchers also plan to add
build-in data post-processing methods for convenience.</p>
    </sec>
    <sec id="sec-7">
      <title>Acknowledgments</title>
      <p>Our study was performed using the Uran supercomputer of the Krasovskii
Institute of Mathematics and Mechanics.</p>
    </sec>
    <sec id="sec-8">
      <title>Appendix</title>
      <sec id="sec-8-1">
        <title>Typical screens from the web interface are listed below.</title>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1. PostgreSQL:
          <article-title>The world's most advanced open source database</article-title>
          . https://www.postgresql.org/. Accessed:
          <fpage>2018</fpage>
          -06-29.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>Sergei</given-names>
            <surname>Pravdin</surname>
          </string-name>
          , Timur Nezlobinsky, and
          <article-title>Alexander Pan lov</article-title>
          .
          <article-title>Inducing drift of spiral waves in 2D isotropic model of myocardium by means of an external stimulation</article-title>
          .
          <source>CEUR Workshop Proceedings</source>
          ,
          <year>1894</year>
          :
          <volume>268</volume>
          {
          <fpage>284</fpage>
          ,
          <year>2017</year>
          . URL http://ceurws.org/Vol-1894
          <source>/bio6.pdf. Proceedings of the 48th International Youth SchoolConference 'Modern Problems in Mathematics and its Applications'</source>
          , Yekaterinburg, Russia, February 5-
          <issue>11</issue>
          ,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>Timofei</given-names>
            <surname>Epanchintsev</surname>
          </string-name>
          , Sergei Pravdin, Andrey Sozykin, and
          <article-title>Alexander Pan lov</article-title>
          .
          <article-title>Simulation of overdrive pacing in 2D phenomenological models of anisotropic myocardium</article-title>
          .
          <source>Procedia Computer Science</source>
          ,
          <volume>119</volume>
          :
          <fpage>245</fpage>
          {
          <fpage>254</fpage>
          ,
          <year>2017</year>
          .
          <article-title>ISSN 1877-0509</article-title>
          . URL http://www.sciencedirect.com/science/article/pii/S187705091732392X. 6th
          <source>International Young Scientist Conference on Computational Science, YSC</source>
          <year>2017</year>
          ,
          <volume>01</volume>
          -
          <fpage>03</fpage>
          November 2017, Kotka, Finland.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>Timofei</given-names>
            <surname>Epanchintsev</surname>
          </string-name>
          , Sergei Pravdin, and
          <article-title>Alexander Pan lov</article-title>
          .
          <article-title>Spiral wave drift induced by high-frequency forcing. Parallel simulation in the Luo{Rudy anisotropic model of cardiac tissue</article-title>
          .
          <source>In Computational Science { ICCS</source>
          <year>2018</year>
          , pages
          <fpage>378</fpage>
          {
          <fpage>391</fpage>
          . Springer International Publishing,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>N.</given-names>
            <surname>Devillard</surname>
          </string-name>
          .
          <article-title>IniParser: stand-alone ini parser library in ANSI C</article-title>
          . https://github.com/ndevilla/iniparser,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Stanislav</surname>
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Polyakov</surname>
            ,
            <given-names>Andrey P.</given-names>
          </string-name>
          <string-name>
            <surname>Demichev</surname>
            , and
            <given-names>Alexander P.</given-names>
          </string-name>
          <string-name>
            <surname>Kryukov</surname>
          </string-name>
          .
          <article-title>Web toolkit for scienti c research: State of the art and the prospect for development</article-title>
          .
          <source>Procedia Computer Science</source>
          ,
          <volume>66</volume>
          :
          <fpage>429</fpage>
          {
          <fpage>438</fpage>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>Elena</given-names>
            <surname>Akimova</surname>
          </string-name>
          , Vladimir Misilov, Aliya Skurydina, and
          <string-name>
            <given-names>Maxim</given-names>
            <surname>Martyshko</surname>
          </string-name>
          .
          <article-title>Specialized web portal for solving problems on multiprocessor computing systems</article-title>
          .
          <source>CEUR Workshop Proceedings</source>
          ,
          <volume>1513</volume>
          :
          <fpage>123</fpage>
          {
          <fpage>129</fpage>
          ,
          <year>2015</year>
          . URL http://ceur-ws.
          <source>org/</source>
          Vol-
          <volume>1513</volume>
          / paper-12.pdf.
          <source>Proceedings of the 1st Ural Workshop on Parallel</source>
          , Distributed, and
          <article-title>Cloud Computing for Young Scientists</article-title>
          , Yekaterinburg, Russia, Nov.
          <year>17th</year>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>Suh</given-names>
            <surname>Young-Kyoon</surname>
          </string-name>
          ,
          <article-title>Hoon Ryu, Hanki Kim, and Kum Won Cho</article-title>
          .
          <article-title>EDISON: A webbased hpc simulation execution framework for large-scale scienti c computing software</article-title>
          .
          <source>pages 608 { 612</source>
          ,
          <year>2016</year>
          .
          <source>Proceeding of IEEE/ACM 16th International Symposium on Cluster Cloud and Grid Computing (CCGrid</source>
          <year>2016</year>
          ), May
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>Xi</given-names>
            <surname>Yang</surname>
          </string-name>
          ,
          <string-name>
            <surname>Chengkun Wu</surname>
          </string-name>
          , Kai Lu,
          <string-name>
            <surname>Lin</surname>
            <given-names>Fang</given-names>
          </string-name>
          , Yong Zhang, Shengkang Li,
          <string-name>
            <given-names>Guixin</given-names>
            <surname>Guo</surname>
          </string-name>
          , and
          <string-name>
            <given-names>YunFei</given-names>
            <surname>Du</surname>
          </string-name>
          .
          <article-title>An interface for biomedical big data processing on the Tianhe-2 supercomputer</article-title>
          . Molecules,
          <volume>22</volume>
          (
          <issue>12</issue>
          ),
          <year>2017</year>
          . URL http://www.mdpi.com/1420-3049/ 22/12/2116/html.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>