<!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>CONCURRENTLY EMPLOYING RESOURCES OF SEVERAL SUPERCOMPUTERS WITH PARASCIP SOLVER BY EVEREST PLATFORM</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="editor">
          <string-name>Sergey Smirnov, Vladimir Voloshinov, Oleg Sukhoroslov</string-name>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>HSE University</institution>
          ,
          <addr-line>Moscow</addr-line>
          ,
          <country country="RU">Russia</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Institute for Information Transmission Problems of the Russian Academy of Sciences (Kharkevich Institute)</institution>
          ,
          <addr-line>Bolshoy Karetny per. 19, build.1, Moscow, 127051</addr-line>
          ,
          <country country="RU">Russia</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2021</year>
      </pub-date>
      <fpage>5</fpage>
      <lpage>9</lpage>
      <abstract>
        <p>ParaSCIP is rather advanced open-source solver for discrete and global optimization problems. This solver is distinguished by that it can run on distributed memory systems and use up to 80,000 cores, solving open problems from the MIPLIB test libraries. Earlier, using this solver, we confirmed the conjecture on optimal packing of nine congruent circles on a square flat torus. The goal of the study was to increase computing performance by utilizing resources of multiple clusters to solve hard optimization problem. To do this, we use the previously developed DDBNB application, which allows to speed up the solution of optimization problems by using coarse-grained parallelization based on a static decomposition of feasible domain made before solving starts. DDBNB is an application for the Everest distributed computing platform which is responsible for running jobs on heterogeneous computing resources (servers, cloud instances, clusters, etc.). As a result, DDBNB, Everest, and ParaSCIP had to be modified to make it possible to exchange incumbents (feasible solutions found by the solver) between several ParaSCIP instances running on different supercomputers. The resulting system was benchmarked using three different instances of Traveling Salesman Problem. The supercomputers HPC5 of the NRC “Kurchatov Institute” and cHARISMa of the HSE University were used as computing resources. As a result, for two problem instances, there is an effect, and the speedup is especially noticeable for a more complex problem. However, for a simpler problem, the exchange of incumbents does not seem to affect the amount of speedup. For the third instance, there is no particular effect, at least no slowdown is observed.</p>
      </abstract>
      <kwd-group>
        <kwd>distributed computing</kwd>
        <kwd>DDBNB</kwd>
        <kwd>ParaSCIP</kwd>
        <kwd>branch-and-bound</kwd>
        <kwd>domain decomposition</kwd>
        <kwd>global optimization</kwd>
        <kwd>discrete optimization</kwd>
        <kwd>message passing interface</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        DDBNB [
        <xref ref-type="bibr" rid="ref1 ref2 ref3">1, 2, 3</xref>
        ] is a distributed application processing a set of computational tasks in parallel
. Each of T is a pair {P, S}, where P is the initial data of some mathematical
programming problem (represented as NL-file), S is a set of solver settings. Each P is a subproblem of
some main problem in the sense that its set of feasible solutions is a subset (possibly empty) of the
feasible domain of the main problem. The key features of DDBNB are: 1) immutability of the
specified set of tasks; 2) the minimum data exchange between these tasks (only incumbent solution
values). This is consistent with the coarse-grained parallelism model. DDBNB is an application for the
Everest distributed computing platform [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], http://everest.distcomp.org, which is responsible for
running jobs on heterogeneous computing resources (servers, clusters, clouds, etc.).
      </p>
      <p>
        SCIP [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] is a state-of-the-art branch-and-bound solver for various types of discrete and global
optimization problems. In the context of this work, it is important that SCIP allows solving mixed
integer linear and nonlinear mathematical programming problems (MILP, MINLP). It is currently the
fastest [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] and most advanced (in terms of the ability to solve different types of problems, the
frequency of new versions and the composition of the development team) open source solver.
      </p>
      <p>SCIP is distributed as a part of SCIP Optimization Suite, which includes the UG
framework [7] to enable SCIP parallelization. There are two parallel solvers based on UG: FiberSCIP,
a multi-threaded application (for shared memory environment), and parallel MPI application
ParaSCIP, which could be launched on a computational cluster. In ParaSCIP MPI processes are not
equivalent: there is one dedicated Load Coordinator (LC) and multiple solver processes. On the Load
Coordinator’s side, a presolve is made and then presolved problem is distributed to solver processes.
Then the so-called Ramp Up occurs, when the solver processes begin to solve the problem with the
aim of spawning new subproblems and transferring them to the LC so that it has enough subproblems
to load all the other work processes. Solver processes and the LC exchange mainly small messages
with the incumbent solution values. Thus, the key features of ParaSCIP are: 1) subtasks are generated
dynamically, without requiring any manual action from the user; 2) the amount of data exchanged
between MPI processes is similar to DDBNB’s one; 3) ParaSCIP works only on clusters.</p>
      <p>In this study, an attempt was made to use more computational resources at the same time with
ParaSCIP by utilizing resources of multiple clusters in order to solve problem instances faster. To do
this, we use the DDBNB application we previously developed. As a result, DDBNB, Everest, and
ParaSCIP had to be modified to make it possible to exchange incumbent solutions (feasible solutions
found by the solver) between several ParaSCIP instances running on different supercomputers.</p>
    </sec>
    <sec id="sec-2">
      <title>2. UG/ParaSCIP, DDBNB and Everest Modification</title>
      <p>
        The process of integrating ParaSCIP solver into DDBNB is different from the integration of
the previously added CBC and SCIP [
        <xref ref-type="bibr" rid="ref1 ref2 ref3">1, 2, 3</xref>
        ] solvers. ParaSCIP is a parallel application that runs on a
computing cluster and uses MPI (Message Passing Interface) to exchange data between solver
processes and a Load Coordinator process [fig. 1]. Thus, launching this solver differs significantly
from launching ordinary solvers like SCIP and CBC, which operate within a single process. DDBNB
was modified to allow launching ParaSCIP as MPI application.
      </p>
      <p>To load an incumbent solution into ParaSCIP, not only the objective function value of the
solution are required, but also the values of the decision variables for this solution [8]. Earlier, data
exchange between subtasks in DDBNB implied transmission of objective function values only. These
values could be obtained and changed through messages sent to the Everest server through the
socalled task messages — special messages by which a task launched by an Everest agent can interact
with the Everest server [fig. 2]. For the exchange of incumbent solutions with values of variables, the
task message format in Everest has been modified: an additional parameter was added to task
messages so that it became possible to transmit a text string with encoded values of non-zero decision
variables along with the incumbent value.</p>
      <p>Similarly to other solvers, the most complicated part was to modify ParaSCIP so that it could
receive and use an incumbent solution found by another instance of the solver (for example, running
on another cluster). When solver finds a new incumbent solution, our code converts it to original
problem coordinates, saves it to a file on disk and reports file’s name to a separate process which does
data exchange with Everest server. When a new incumbent solution is received from outside, our code
reads it, converts and sends it to ParaSCIP’s main process (Load Coordinator [fig. 1]) with MPI_Isend.</p>
    </sec>
    <sec id="sec-3">
      <title>3. Computational Experiments</title>
      <p>The goal of the computational experiments was to check the possibility of exchanging
incumbents over the network for tasks running on several computational clusters simultaneously and
to assess its effect on the solving time of optimization problems.</p>
      <p>
        For the experiments, the Traveling Salesman Problem was chosen with three data sets from
TSPLIB [
        <xref ref-type="bibr" rid="ref7">9</xref>
        ]: ch150, ch130 and bier127. From each data set, two sets of AMPL NL-files were created:
single NL (dd0) corresponding to the original problem, and four NLs (dd2) corresponding to four
subproblems obtained by fixing two boolean variables. AMPL model was described in [
        <xref ref-type="bibr" rid="ref8">10</xref>
        ].
      </p>
      <p>The supercomputers HPC5 of the NRC “Kurchatov Institute” and cHARISMa of the HSE
University were used as computing resources. Most of the tests were carried out on the cluster of the
HSE University, as it was less loaded, which made it possible to obtain more stable figures for
performance tests. Two clusters were used only in the integration experiment to show the possibility of
simultaneous work and exchange of incumbents on two different clusters.</p>
      <p>
        For the computational experiment, the ParaSCIP solver from the SCIP 6.0.2 distribution with
the aforementioned modifications was built on both clusters. To run DDBNB with ParaSCIP, a
separate Everest agent was configured on the clusters using the basic “local” computing resource
adapter, which allows to fork processes on the cluster’s submission node. We did not use specialized
adapter with SLURM support [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] which allows running on a cluster only batches of jobs with one
process each, because with ParaSCIP it is necessary to request the cluster’s resource manager to
allocate resources with several processes within one job.
      </p>
      <p>Table 1 lists the series of DDBNB executions made with ParaSCIP. In each series, 10
DDBNB executions were made and the results were taken only for those where all tasks started
running on clusters approximately simultaneously (the difference between the start times of the last
and the first is no more than 60 seconds). The number of runs that meet this condition is listed in the
“N runs” column. The median run time (the end time of the last task minus the start time of the first) is
shown in the “Median” column. These medians are shown in [fig. 3].</p>
      <p>To check if the speedup can be caused by simple dividing the problem into subproblems, we
compare the dd0 and dd2-n/c (with the incumbents exchange disabled) series. So, the problem was
solved without decomposition and with decomposition into four subproblems, respectively, but
without exchanging incumbents. It turns out that for ch150 and bier127 this scenario gives a
slowdown, and for ch130 it gives performance comparable to the solution with the incumbents
exchange (dd2).</p>
      <p>Comparison of the dd2 and dd2-n/c series allows us to evaluate the effect of the exchange of
incumbents. It can be seen that there is no effect for ch130, and for ch150 and bier127, the exchange
of incumbents gives a speedup, although for the latter it does not allow to become faster than solving
the original problem with a single instance of ParaSCIP.</p>
      <p>For the ch150 task [fig. 3], launches were made on two clusters at once: it can be seen that the
dd2+kiae series, where two subtasks were executed on one cluster and two on the other, worked faster
than the dd0-kiae series and about the same as the dd0 series, but noticeably faster than dd2-n/c. That
is, the exchange of incumbents for tasks simultaneously running on two different clusters made it
possible to speed up, although not as much as the execution of all four subtasks on the faster and less
loaded cluster gives.</p>
    </sec>
    <sec id="sec-4">
      <title>4. Conclusion and Future Work</title>
      <p>The paper presents the modification to the DDBNB application, the Everest cloud platform
and the ParaSCIP solver which were improved to allow the exchange of incumbents between several
instances of ParaSCIP running in different jobs on clusters. DDBNB with modifications and a patch
for UG framework are available in a separate branch in a DDBNB’s GitHub repository,
https://github.com/distcomp/ddbnb/tree/parascip. Computational experiments have been carried out
showing the effect of the improvements made. There is no particular effect for one of the three
problem instances, at least no slowdown is observed. For the other two, there is an effect, and the
speedup is especially noticeable for a more complex problem (ch150). However, for a simpler problem
(ch130), the exchange of records does not seem to affect the amount of speedup. Thus, we can
conclude that the integration of DDBNB and the ParaSCIP solver was successful, but its effect is not
stable. Future work could be focused on improving usability of the presented approach by allowing
setting solver parameters and resource manager settings.</p>
    </sec>
    <sec id="sec-5">
      <title>5. Acknowledgement</title>
      <p>Authors thank Stefan Vigerske and Yuji Shinano for their consultations on using of SCIP and
ParaSCIP solvers. This work is supported by the Russian Science Foundation (Project 20-07-00701).
This research was supported in part through resources of supercomputer facilities provided by NRU
HSE. This work has been carried out using computing resources of the federal collective usage centre
Complex for Simulation and Data Processing for Mega-science Facilities at NRC "Kurchatov
Institute" (ministry subvention under agreement RFMEFI62117X0016), ckp.nrcki.ru.
at:
[8] Sergey Smirnov and Vladimir Voloshinov. Integration of ParaSCIP solvers running on several
clusters on the base of everest cloud platform. Procedia Computer Science, 156:13–18, 2019.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>S.</given-names>
            <surname>Smirnov</surname>
          </string-name>
          and
          <string-name>
            <given-names>V.</given-names>
            <surname>Voloshinov</surname>
          </string-name>
          .
          <article-title>On domain decomposition strategies to parallelize branch-andbound method for global optimization in Everest distributed environment</article-title>
          .
          <source>Procedia Computer Science</source>
          ,
          <volume>136</volume>
          :
          <fpage>128</fpage>
          -
          <lpage>135</lpage>
          ,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>S.</given-names>
            <surname>Smirnov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Sukhoroslov</surname>
          </string-name>
          , and
          <string-name>
            <given-names>V.</given-names>
            <surname>Voloshinov</surname>
          </string-name>
          .
          <article-title>Using resources of supercomputing centers with everest platform</article-title>
          . In V. Voevodin and S. Sobolev, editors,
          <source>Supercomputing, Communications in Computer and Information Science</source>
          , pages
          <fpage>687</fpage>
          -
          <lpage>698</lpage>
          . Springer International Publishing,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>S.</given-names>
            <surname>Smirnov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Voloshinov</surname>
          </string-name>
          .
          <article-title>Implementation of concurrent parallelization of branch-and-bound algorithm in Everest distributed environment</article-title>
          .
          <source>Procedia Computer Science</source>
          ,
          <volume>119</volume>
          :
          <fpage>83</fpage>
          -
          <lpage>89</lpage>
          ,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>O.</given-names>
            <surname>Sukhoroslov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Volkov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Afanasiev</surname>
          </string-name>
          .
          <article-title>A web-based platform for publication and distributed execution of computing applications</article-title>
          .
          <source>2015 14th International Symposium on Parallel and Distributed Computing</source>
          , pp.
          <fpage>175</fpage>
          -
          <lpage>184</lpage>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>A.</given-names>
            <surname>Gleixner</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Bastubbe</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Eifler</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Gally</surname>
          </string-name>
          , G. Gamrath,
          <string-name>
            <given-names>R. L.</given-names>
            <surname>Gottwald</surname>
          </string-name>
          , G. Hendel,
          <string-name>
            <given-names>C.</given-names>
            <surname>Hojny</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Koch</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. E.</given-names>
            <surname>Lübbecke</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. J.</given-names>
            <surname>Maher</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Miltenberger</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Müller</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. E.</given-names>
            <surname>Pfetsch</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Puchert</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Rehfeldt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Schlösser</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Schubert</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Serrano</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Shinano</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. M.</given-names>
            <surname>Viernickel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Walter</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Wegscheider</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. T.</given-names>
            <surname>Witt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Witzig</surname>
          </string-name>
          .
          <source>The SCIP Optimization Suite 6.0. ZIB-Report 18-26</source>
          , Zuse Institute Berlin,
          <year>July 2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>H.</given-names>
            <surname>Mittelmann</surname>
          </string-name>
          . The MIPLIB2017 Benchmark http://plato.asu.edu/ftp/milp.
          <source>html (accessed 14.09</source>
          .
          <year>2021</year>
          )
          <article-title>Instances</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [9]
          <string-name>
            <surname>MP-TESTDATA - The TSPLIB Symmetric Traveling Salesman Problem Instances</surname>
          </string-name>
          . Available at: http://elib.zib.de/pub/mp-testdata/tsp/tsplib/tsp/ (accessed 14.09.
          <year>2021</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>V.</given-names>
            <surname>Voloshinov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Smirnov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Sukhoroslov</surname>
          </string-name>
          .
          <article-title>Implementation and use of coarse-grained parallel branch-and-bound in Everest distributed environment</article-title>
          .
          <source>Procedia Computer Science</source>
          ,
          <volume>108</volume>
          :
          <fpage>1532</fpage>
          -
          <lpage>1541</lpage>
          ,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>