<!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>Towards Model Driven Verifiable Deployment of Distributed Simulations in Cloud</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Yogesh D. Barve Institute for Software Integrated Systems, Dept. of EECS, Vanderbilt University</institution>
          ,
          <addr-line>Nashville, TN 37212</addr-line>
          ,
          <country country="US">USA</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>-Running simulations on cloud computing platforms offers advantages to users such as on-demand computing and scalability. Despite these benefits offered by cloud computing platforms, limitations exists in verifiable and efficient deployment of these simulations in the cloud. Moreover, distributed simulations impose additional requirements of coordinated time stepped execution to progress the simulations. As such, deadline-aware resource allocation for different simulation entities and dynamic execution of load balancing strategies are required to minimize the total execution time. Also, the cloud provider's interest in minimal execution cost is another requirement which demands workload consolidation for these distributed simulations. In this context, there is a general lack of mechanisms that address these concerns in the cloud hosted distributed simulation space. To address these gaps, this research proposes Model Driven Verifiable Distributed Simulations in Cloud (MoViDiX). It provides DSML building blocks for rapid provisioning of distributed simulations in cloud. It also provides a verification subsystem that identifies simulation resource incompatibilities and finds solution for verified deployment of the simulation. Leveraging Models@Runtime principles, dynamic resource management for effective simulations for deadline aware execution is proposed. Index Terms-co-simulation, distributed simulations,verification, Cloud.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>I. INTRODUCTION</title>
      <p>
        With the new focus on technologies like internet of things,
fog computing, and blockchain enabled services,
understanding the fundamental technologies of distributed systems
like fault tolerance, publish-subscribe communication,
clientserver, and peer-to-peer technologies becomes critical.
Simulations provide a rapid way to run and test new distributed
systems algorithms in a controlled environment. But to
simulate highly scalable distributed systems such as those that
manifest in the scenarios like smart city, smart grid systems,
one needs a large amount of computing resources. Running
such large scale simulations can benefit from the scalability,
on-demand, ubiquitous nature of cloud computing [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
      </p>
      <p>Although these benefits are very compelling for running
simulations in the cloud, the research community is faced
with numerous challenges from moving the execution of
simulations from grid like environment to the cloud computing
model. Deployment of simulations to the cloud requires an
in-depth understanding of various cloud-specific deployment
tools and deployment engines. Lack of understanding of
these tools can result in sub-optimal deployment of these
simulations. Moreover, resource requirements for different
participating entities in a distributed simulation can vary based
on the workload characteristics of the individual simulation
agent. As such, tools and strategies are required to provide
seamless execution of the simulations improving performance
and minimizing the makespan of execution of the simulation
run. Migration of the simulations from the grid to the cloud
environment is another challenge which the users face. Issues
such as vendor lock-in can make the users tied to a given
cloud provider, thus making it difficult for the user to move
to another cloud provider in future.</p>
    </sec>
    <sec id="sec-2">
      <title>II. PROBLEM STATEMENT</title>
      <p>
        In this research we are exploring the use of cloud computing
resources for running distributed simulations. Simulations can
either consist of single participating entity (monolithic), or
a group of coordinated simulation entities as in distributed
simulations. In this doctoral research we address challenges
imposed in running simulations in cloud along three
dimensions. These are listed in the following section below:
Simulation-imposed challenges
– CH1: Distributed and Synchronized: Distributed
simulations comprise a group of simulators which
coordinates and advances time synchronously. The
execution semantics follow time stepped execution. The
distributed nature of the execution demands strict
communication latency deadlines among
participating entities. Also, time stepped execution demands
state synchronization between participating entities
before progressing into the next execution time step.
– CH2: QoS and Resource Integration challenges:
Different participating simulators in a distributed
simulation settings may have different levels of
resource requirements as execution progresses. Some
simulators may need availability to specific hardware
components such as GPU, cpu core, memory, etc.
In a Hardware-in-the-Loop(HiL) simulation scenario,
for instance, there may be a need to place certain
simulation components like trigger unit close to
the hardware while the actual computation intensive
decision making can happen in the cloud
environment. The simulation deployment and execution
needs must some capture these requirements from the
user so as to make sound decisions for optimal and
successful execution of the distributed simulation.
– CH3: Straggler Mitigation: In time stepped
distributed simulations, all participating entities wait on
each other before progressing to the next time step
for execution. This is the BSP model of
computation [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. In the BSP computation model, if some
of the participants have a slower execution speed
compared to the rest of the participants, the progress
of the simulation as a whole is dictated by the slowest
progressing participant. As such, in a distributed
simulation, we need to capture this execution behavior
either apriori or during runtime so as to mitigate the
slow down caused due to such straggler participants.
Cloud-imposed challenges
– CH4: Multi-tenant Cloud Environment: In a cloud
computing environment, resources are shared among
various applications hosted by different providers.
Thus, issues such as application interference [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]
can affect the simulation performance and execution
progress. Host system overloading can also affect the
execution makespan of the simulations.
– CH5: Fault Tolerance Support: The cloud computing
environment is prone to regular system outages due
to software and hardware failures. As such when
running large-scale long running simulations, it becomes
critical to have a fault tolerance strategy to mitigate
loss of computation and restart execution time.
      </p>
      <p>Usability Challenges
– CH6: Ease of Use : There is general lack of tools
to support deployment of simulations in the cloud
with ease. A user should be able to configure the
experimental setup, provide resource specification,
execution and fault tolerance policies using a
graphical web portal. Also to enable collaboration, the
web application should be able to provide Git style
versioning of simulation models.
– CH7: Distributed Systems Learning Toolkit: A
repository of commonly used distributed systems
algorithms to quickly test and deploy simulations in the
cloud. This enables easier learning tools to
understand fundamentals of distributed systems in this era
of ubiquitous computing.</p>
    </sec>
    <sec id="sec-3">
      <title>III. RELATED WORK In this section we describe related works along the lines of the challenges that have been highlighted in the previous section.</title>
      <p>
        Simulation and cloud imposed challenges: DEXSim [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]
presents a framework for replicated execution of
simulations utilizing the available hardware resources for
speeding up executions of different scenarios in the
simulation experiment. Although this is similar to the
distributed simulation, the experiments are not geared
towards running in a multi-tenant cloud where applications
are susceptible to interference across tenants.
      </p>
      <p>
        The INDICES [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] framework also addresses the
application interference issues in the cloud and finding an
appropriate hosting platform that can provide guarantees
to the QoS latency requirements of the application. But
the application use cases are monolithic and does not
address distributed simulation-specific requirements such
as coordination, and distributed execution.
      </p>
      <p>
        Usability challenges Previous work has shown MDE
and DSML being effective tools in providing intuitive
abstractions for constructing simulation experiments [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ].
Our work builds on top of [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], and will provide a visual
DSML to specify simulation resource requirements and
verification module for checking correct deployment of
the simulation execution.
      </p>
    </sec>
    <sec id="sec-4">
      <title>IV. PROPOSED SOLUTION</title>
      <p>To address the challenges presented in Section II, we
propose a Model Driven Verifiable Distributed Simulations in
Cloud(MoViDiX). An overview of the framework is shown in
the Figure1. In this research we propose to build a platform
that enables users to better understand distributed systems
concepts and build simulation models to test and run in
the cloud. The platform leverages domain specific concepts
from distributed systems such as pub/sub, client server,
peerto-peer, etc, to construct simulation (CH 6,7). The MDE
capabilities like modeling and code generation as put into
practice for rapidly taking initial ideas to building a simulation
of distributed system in cloud environment with ease. We will
also work on a DSML which will allow users to provide
resource and runtime specification(CH 1,2). A verification
module is also being developed that can check the simulation
constraints and notify of any violations generated.</p>
      <p>We plan on utilizing the Z3 SMT solver to provide
verification and solution satisfying simulation deployment constraints.
We shall leverage Models@Runtime approach for dynamic
resource management of individual simulation entities to provide
runtime optimal performance and meeting simulation QoS
requirements(CH 3,4). We plan on using Docker technology
that provides encapsulation for simulation execution(CH 4, 6).
methodology. This research is being conducted under the
supervision of Dr. Aniruddha Gokhale, Associate Professor,
The required files which contain the specification of the
soft</p>
    </sec>
    <sec id="sec-5">
      <title>Vanderbilt University.</title>
      <p>ware dependency is auto-generated using MDE principles. We
are also leveraging web-based generic modeling environment
WebGME to perform our distributed simulation modeling and
deployment(CH 3,4).</p>
    </sec>
    <sec id="sec-6">
      <title>V. PLAN FOR EVALUATION AND VALIDATION</title>
      <p>To evaluate our system, we will be conducting experiments
in our university’s cloud datacenter as well as leveraging the
NSF Chameleon cloud platform. Using the MDE we should
be able to select what cloud provider we would like to deploy
our experiments. Also user studies are being carried out to test
the usability and the educational learning aspects of the tool.</p>
    </sec>
    <sec id="sec-7">
      <title>VI. EXPECTED CONTRIBUTIONS</title>
      <p>This research will make the following contributions:
MDE framework for design and deployment of
distributed simulations in cloud.</p>
      <p>Dynamic resource management strategies for effecient
execution of distributed simulations in cloud by
lever</p>
      <p>DSML for experiment and resource specification for
distributed simulations in cloud.</p>
    </sec>
    <sec id="sec-8">
      <title>Verifiable deployment of distributed simulations.</title>
    </sec>
    <sec id="sec-9">
      <title>VII. CURRENT STATUS</title>
      <p>
        Currently we have addressed the usability issue for
designing simulation experiments and running them in the cloud
environment(CH 4, 6, 7) in [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. We are currently working
on designing the DSML to address CH
      </p>
    </sec>
    <sec id="sec-10">
      <title>2. In the future</title>
      <p>we plan on addressing resource management issues using
the Models@runtime principles for providing effective
resource allocation by using the monitoring, decision and action</p>
    </sec>
    <sec id="sec-11">
      <title>ACKNOWLEDGMENTS</title>
      <p>This work is supported in part by NIST contract
number 70NANB15H312, NSF CPS VO contract number
CNS1521617 and NSF US Ignite CNS 1531079. Any opinions,
findings, and conclusions or recommendations expressed in
this material are those of the author(s) and do not necessarily
reflect the views of the funding agencies.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>S.</given-names>
            <surname>Shekhar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Abdel-Aziz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Walker</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Caglar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Gokhale</surname>
          </string-name>
          , and
          <string-name>
            <given-names>X.</given-names>
            <surname>Koutsoukos</surname>
          </string-name>
          , “
          <article-title>A simulation as a service cloud middleware</article-title>
          ,
          <source>” Annals of Telecommunications</source>
          , vol.
          <volume>71</volume>
          , no.
          <issue>3-4</issue>
          , pp.
          <fpage>93</fpage>
          -
          <lpage>108</lpage>
          ,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>F.</given-names>
            <surname>Caglar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Shekhar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Gokhale</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Basu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Rafi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Kinnebrew</surname>
          </string-name>
          , and G. Biswas, “
          <article-title>Cloud-hosted simulation-as-a-service for high school stem education</article-title>
          ,
          <source>” Simulation Modelling Practice and Theory</source>
          , vol.
          <volume>58</volume>
          , pp.
          <fpage>255</fpage>
          -
          <lpage>273</lpage>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>L. G.</given-names>
            <surname>Valiant</surname>
          </string-name>
          , “
          <article-title>A bridging model for parallel computation,” Communications of the ACM</article-title>
          , vol.
          <volume>33</volume>
          , no.
          <issue>8</issue>
          , pp.
          <fpage>103</fpage>
          -
          <lpage>111</lpage>
          ,
          <year>1990</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>F.</given-names>
            <surname>Caglar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Shekhar</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Gokhale</surname>
          </string-name>
          , “
          <article-title>A performance interferenceaware virtual machine placement strategy for supporting soft realtime applications in the cloud</article-title>
          .”
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>C.</given-names>
            <surname>Choi</surname>
          </string-name>
          ,
          <string-name>
            <surname>K.-M. Seo</surname>
          </string-name>
          , and T. G. Kim, “
          <article-title>Dexsim: an experimental environment for distributed execution of replicated simulators using a concept of single simulation multiple scenarios</article-title>
          ,
          <source>” Simulation</source>
          , vol.
          <volume>90</volume>
          , no.
          <issue>4</issue>
          , pp.
          <fpage>355</fpage>
          -
          <lpage>376</lpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>S.</given-names>
            <surname>Shekhar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Chhokra</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Bhattacharjee</surname>
          </string-name>
          ,
          <string-name>
            <surname>G.</surname>
          </string-name>
          <article-title>Aupy, and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Gokhale</surname>
          </string-name>
          , “Indices:
          <article-title>Exploiting edge resources for performance-aware cloud-hosted services</article-title>
          .”
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>H.</given-names>
            <surname>Neema</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Sztipanovits</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Burns</surname>
          </string-name>
          , and E. Griffor, “
          <article-title>C2wt-te: A model-based open platform for integrated simulations of transactive smart grids,” in Modeling and Simulation of Cyber-Physical Energy Systems</article-title>
          (MSCPES),
          <year>2016</year>
          <article-title>Workshop on</article-title>
          . IEEE,
          <year>2016</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>6</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>Y. D.</given-names>
            <surname>Barve</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Patil</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Gokhale</surname>
          </string-name>
          , “
          <article-title>A cloud-based immersive learning environment for distributed systems algorithms</article-title>
          ,” in
          <source>Computer Software and Applications Conference (COMPSAC)</source>
          ,
          <source>2016 IEEE 40th Annual</source>
          , vol.
          <volume>1</volume>
          . IEEE,
          <year>2016</year>
          , pp.
          <fpage>754</fpage>
          -
          <lpage>763</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Barve</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Patil</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Bhattacharjee</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Gokhale</surname>
          </string-name>
          , “
          <article-title>Pads: Design and implementation of a cloud-based, immersive learning environment for distributed systems algorithms</article-title>
          ,
          <source>” IEEE Transactions on Emerging Topics in Computing</source>
          , vol. PP, no.
          <issue>99</issue>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>1</lpage>
          ,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>