<!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>Dynamic Computing Resource Extension using COBalD/TARDIS</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>R. Florian von Cube</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>RenØ Caspart</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>Max Fischer</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>Manuel Giels</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>Eileen Khn</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>Gnter Quast</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>Matthias J. Schnepf</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>Computing Challenges in Physics</institution>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Karlsruhe Institute of Technology</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>To dynamically increase computing power on demand, Cloud providers, HPC clusters, and free institute resources can be used. In order to make theses so-called opportunistic resources transparently available, the services COBalD and TARDIS are developed in collaboration of the Institute of Experimental Particle Physics (ETP) and the Steinbuch Centre for Computing (SCC) at KIT. The opportunistic resources are integrated into an overlay batch system (OBS), which acts as a singlepoint-of-entry for the users. Depending on the decisions of the OBS, the utilization, and the allocation of the additional compute resources, COBalD/TARDIS adjust the resource allocation at the various resource providers. To supply the necessary software environment for the jobs, required by the scientic communities, virtualization and containerization technologies are used on those heterogeneous resources.</p>
      </abstract>
      <kwd-group>
        <kwd>Opportunistic Resources • Heterogeneous Resources • Overlay Batch System • High Energy Physics • Resource Scheduling</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>mitigating load peaks or providing specic hardware. By backlling with jobs
from other communities, those resources can achieve higher eciencies. The
usage of the shared clusters, however, is often inconvenient for the end-user and
requires a lot of eort, because of multiple identity providers, the need to
provision software and each cluster operating its dedicated workload management
system. With several such resources, the end-user has to assess which the most
suitable resource is and check which resource has capacity at the current time. If
a resource is only temporarily available, this decision gets even more challenging.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Single point-of-entry</title>
      <p>For the end-user, usage through a single point-of-entry with dynamic integration
and provisioning of a heterogeneous resource-pool, containing all resources, also
the opportunistic ones, is more desirable. To enable a transparent usage, the
opportunistic resources are integrated into an overlay batch-system (OBS). This
can be e.g. the batch system of the institute or the collaboration. By
integrating the opportunistic resources into the OBS, the end-user only has to interact
with this layer, instead of with each resource separately. Authentication and
authorization at the several opportunistic resources is done through proxy users
per institute or research group. With this further authentication of the end user
becomes dispensable.</p>
      <p>The OBS also takes care of the decision of the job to resource scheduling
and accounting. However, providing the user with a single point-of-entry to a
plethora of heterogeneous resources, it has to be taken care, that the jobs
runtime environment is the same, no matter which resource it is scheduled to. For
this, containerization and virtualization technologies are used. With those, it is
assured, that e.g. specic software is installed.
3</p>
      <p>Resource Integration using TARDIS
The integration of the opportunistic resources is performed by TARDIS [11]
(Transparent Adaptive Resource Dynamic Integration System). TARDIS starts
so called drones on the opportunistic resource, which integrate the resource into
the OBS. A drone is a placeholder job that allocates the resource and integrates
it in the OBS. The drone runs either natively on the resource, or it is started
in a container, or a virtual machine. The drone is responsible for preparing the
resource to accept jobs from the OBS. When this preparation is performed, the
OBS can place jobs on the newly integrated resource.
3.1</p>
      <p>Overlay Batch-System Adapter
For the integration of the opportunistic resources into the OBS, TARDIS
interfaces the OBS through a BatchSystemAdapter . The adapter denes, how
resources are added to the OBS and how they are managed. At the moment
TARDIS supports HTCondor [12] as OBS. An adapter for the Slurm
Workload Manager is currently under development in collaboration with the university
of Freiburg.
3.2</p>
      <p>Resource Provider Interface
For the life cycle management of the opportunistic resources, they are interfaced
with SiteAdapters. A SiteAdapter denes, how the resource is allocated, how
the status of the drone can be monitored, and how drones can be terminated.</p>
      <p>
        At the moment HTCondor, MOAB [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], and Slurm [15] batch systems, as
well as CloudStack [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], and OpenStack [14] cloud APIs are supported.
4
      </p>
      <p>
        Resource Mix Assessment with COBalD
To optimize the usage of the integrated opportunistic resources, the decisions of
the OBS are monitored by assessing the suitability of the presently integrated
resources to the current job mix. This assessment is done by COBalD [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]
(COBalD the Opportunistic Balancing Daemon).
      </p>
      <p>For each resource component like CPU, memory, or disk space, the ratio
of the assigned and the requested component is determined. Here, requested
means requested by the drone, and assigned is what is assigned to the actual
jobs running on the resource. The maximum and minimum are called allocation
and utilization, respectively:
allocation = max
utilization = min</p>
      <sec id="sec-2-1">
        <title>CPUassigned ;</title>
        <sec id="sec-2-1-1">
          <title>CPUrequested</title>
        </sec>
      </sec>
      <sec id="sec-2-2">
        <title>CPUassigned ;</title>
        <sec id="sec-2-2-1">
          <title>CPUrequested</title>
        </sec>
      </sec>
      <sec id="sec-2-3">
        <title>Memoryassigned ;</title>
        <sec id="sec-2-3-1">
          <title>Memoryrequested</title>
        </sec>
      </sec>
      <sec id="sec-2-4">
        <title>Memoryassigned ;</title>
        <sec id="sec-2-4-1">
          <title>Memoryrequested</title>
          <p>.</p>
          <p>By comparing those, a suitability of the drone to the current job mix can
be determined. Consider the following example as shown in g. 1: A drone
requesting a virtual machine with 20 CPU-cores and 80 GB of memory at the
resource provider, runinng jobs which sum up to 20 CPU cores, but only use
60 GB of memory. With this the machine is fully allocated as all CPU-cores are
assigned and it can not run any more jobs. However the memory is only utilized
to 75%. This implies that the machine is not the optimal t for the current job
mix.</p>
          <p>Depending on the utilization and the allocation of the drones, COBalD
determines the demand for the respective resource. That is the number of drones
of that type that should be requested. On the other hand supply is the number
of drones of the same type, currently available in the OBS. The policy, when
to request more drones of a specic type is congurable with a Controller. It
increases the demand, when drones of the specic type have a high allocation
and decreases it if the utilization is low.
utilization
not
used
Memory Fraction
1</p>
          <p>COBalD uses TARDIS resource provider interfaces to determine the
number of drones which should be requested at each one of them. An overview of the
resource scheduling process, depending on the decisions of the OBS is shown in
g. 2. Because of their modularity COBalD/TARDIS are easily customizable
and can be adapted to virtually every setup.
5</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Examplary Setups</title>
      <p>COBalD/TARDIS is used for resource scheduling in production environments
in several institutes within and outside of physics.
5.1</p>
      <p>Institute of Experimental Particle Physics
At the Institute of Experimental Particle Physics (ETP) of the Karlsruhe
Institute of Technology (KIT), research groups of for example the AMS, Belle, and
CMS collaboration share one local HTCondor batch system. For data analysis
and simulation, multiple resources are used:</p>
      <p>
        The normal desktop workstations, when not used interactively, and dedicated
local worker nodes with 600 CPU-cores are integrated in the OBS. All jobs
run in Docker-containers [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ].
      </p>
      <p>The HPC cluster ForHLRII at KIT with 25.000 CPU-cores is integrated
using COBalD and TARDIS. The drones are bash-scripts, backlled to
the Slurm Workload Manager, which start up a HTCondor-process. The
jobs run in a Singularity -containers [13].</p>
      <p>Local res. 1</p>
      <p>Local res. 2
g</p>
      <p>Submits
jobs</p>
      <p>OBS</p>
      <p>Job 1
Job 2
Job 5
Job 6
Resource Prov. 1
drone 1 drone 2
Resource Prov. 2
drone 3 drone 4
,
Job 3
Job 4
OBS
placeholder</p>
      <p>Requests
resources</p>
      <p>Assesses
resource
suitability</p>
      <p>The HPC cluster BWForCluster NEMO at the university of Freiburg
is also integrated using COBalD and TARDIS. It is shared with several
other communities and consists of 900 worker nodes summing up to roughly
20.000 CPU-cores. The drones run as virtual machines, booted through
OpenStack via the MOAB batch system. Within the virtual machines,
provided by the HPC center, the jobs run inside of Docker-containers.
All resources are available to the physicists at ETP completely transparent
through the batch system. With this setup several thousand CPU-cores are
opportunistically integrated and used as shown in g. 3.
5.2</p>
      <p>WLCG Tier 1 Center GridKa
GridKa is one of the 13 tier 1 centers of the Worldwide LHC Computing Grid
(WLCG), located at KIT. It provides compute and storage resources for several
high energy and astroparticle physics collaborations. As shown in g. 4
opportunistic resources are transparently made available to the collaborations through
one dedicated compute entry-point, a so-called compute element (CE). The
resources are managed using COBalD and TARDIS. This also allows for dynamic
integration of dedicated hardware, as e.g. graphic cards for deep learning.
5.3</p>
      <p>
        Fighting COVID-19
The Institute of Experimental Particle Physics and the tier 1 center GridKa
contribute to the distributed computing projects Rosetta@home [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] and
FoldFig. 3. The number of CPU cores used through the OBS at ETP. The resources at
the HPC clusters NEMO and ForHLRII are dynamically integrated using COBalD
and TARDIS. The number of the statically integrated CPU cores used uctuates, as
those are freed, whenever the machine is used interactively.
      </p>
      <p>GridKa</p>
      <p>ARC CE
cloud-arc-1-kit
Single Point of Entry</p>
      <p>Bonn Tier 3</p>
      <p>(BAF)
HTCondor</p>
      <p>OBS
LMU Munich
OpenStack</p>
      <p>
        Bonn HPC
(BONNA)
KIT HPC
(FORHLR2)
KIT Tier 3
(TOPAS)
Fig. 4. GridKa dynamically integrates opportunistic resources for several experiments
behind a single point-of-entry. Jobs from the dierent experiments are only dispatched
to their corresponding resources. This happens completely transparent to the
experiments. Figure from [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ].
ing@home [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] for the ght against COVID-19. Both institutes use a COBalD/
TARDIS-setup with a placeholder batch-system mimicking a constant demand
to allocate resources within their respective resource pools for providing them
to the protein research projects. The computing payloads are pulled from the
central management servers of the research projects and then executed on the
local resources. With this setup, ETP and GridKa make a signicant
contribution. [
        <xref ref-type="bibr" rid="ref1 ref3 ref5">3,5,1</xref>
        ]
6
      </p>
    </sec>
    <sec id="sec-4">
      <title>Summary</title>
      <p>Using shared science computing centers, HPC clusters, and resources at cloud
providers, is a promising way to mitigate computing load peaks within research
groups, and provide specic hardware. It also can help to achieve higher
eciencies on those resources. To dynamically schedule and integrate heterogeneous
resources on demand, COBalD and TARDIS are the necessary toolkits. They
allow for optimizing the resource usage by reacting on the decisions of the overlay
batch-system and by this yield a more ecient resource usage.</p>
      <p>For the end-users a setup with COBalD and TARDIS allows for a
transparent usage of a plethora of resources through one single point-of-entry. They are
no longer faced with the inconvenience and the eort of having multiple identity
providers, or several batch systems to deal with. By integrating resources
providing dedicated hardware, this can easily be made available for the end-users
maintaining fair usage.
11. Giels, M., Schnepf, M., Kuehn, E., Kroboth, S., Caspart, R., von Cube, R.F.,
Fischer, M., Wienemann, P.: MatterMiners/tardis: YAR (Yet Another Release) (Jun
2020). https://doi.org/10.5281/zenodo.3874847, https://doi.org/10.5281/zenodo.
3874847
12. HTCondor Team: HTCondor (May 2020). https://doi.org/10.5281/zenodo.3834815,
https://doi.org/10.5281/zenodo.3834815
13. Kurtzer, G.M., Sochat, V., Bauer, M.W.: Singularity: Scientic
containers for mobility of compute. PLOS ONE 12(5), 120 (05 2017).
https://doi.org/10.1371/journal.pone.0177459, https://doi.org/10.1371/journal.
pone.0177459
14. OpenStack: Build the future of Open Infrastructure (Jun 2020), https://www.</p>
      <p>openstack.org/
15. SchedMD: SchedMD | Slurm Support and Development (Jun 2020), https://www.
schedmd.com/</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Fight</surname>
            <given-names>COVID</given-names>
          </string-name>
          -19
          <string-name>
            <surname>Grafana</surname>
          </string-name>
          (
          <year>2020</year>
          ), https://grafana-sdm.scc.kit.edu/d/ uMJtTojZk/ght-covid-19
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Folding</surname>
          </string-name>
          <article-title>@home Fighting disease with a world wide distributed super computer</article-title>
          . (
          <year>2020</year>
          ), https://foldingathome.org/
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Folding</surname>
          </string-name>
          <article-title>@home stats report (</article-title>
          <year>2020</year>
          ), https://stats.foldingathome.org/team/250565
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4. Rosetta@home (
          <year>2020</year>
          ), https://boinc.bakerlab.org/
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5. Rosetta@home:
          <string-name>
            <surname>KIT-GridKa</surname>
          </string-name>
          (
          <year>2020</year>
          ), https://boinc.bakerlab.org/rosetta/show_ user.
          <source>php?userid=2127744</source>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>Adaptive</given-names>
            <surname>Computing: Moab HPC Adaptive Computing</surname>
          </string-name>
          (
          <year>Jun 2020</year>
          ), https:// adaptivecomputing.com/cherry-services/moab-hpc/
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Apache: Apache CloudStack: Open Source Cloud Computing</surname>
          </string-name>
          (
          <year>Jun 2020</year>
          ), http: //cloudstack.apache.org/
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>Docker</given-names>
            <surname>Inc</surname>
          </string-name>
          .:
          <source>Empowering App Development for Developers | Docker (Jun</source>
          <year>2020</year>
          ), https://www.docker.com/
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Fischer</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kuehn</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Giels</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schnepf</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kroboth</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Freyermuth</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          : MatterMiners/cobald: New Plugin System (
          <year>Apr 2020</year>
          ). https://doi.org/10.5281/zenodo.3752587, https://doi.org/10.5281/zenodo. 3752587
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Giels</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          , et al.:
          <article-title>Eective dynamic integration and utilization of heterogenous compute resources</article-title>
          .
          <source>Proceedings of the 24th International Conference on Computing in High Energy and Nuclear Physics</source>
          (
          <year>2020</year>
          ), to be published
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>