<!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>
      <journal-title-group>
        <journal-title>G. W. Klau, N. Lesh, J. Marks, and M. Mitzen-
macher. Human-guided search. Journal of Heuristics</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>SLA-aware Interactive Workflow Assistant for HPC Parameter Sweeping Experiments</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Bruno Silva</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Marco A. S. Netto</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Renato L. F. Cunha IBM Research</string-name>
        </contrib>
      </contrib-group>
      <pub-date>
        <year>2016</year>
      </pub-date>
      <volume>16</volume>
      <issue>3</issue>
      <fpage>4</fpage>
      <lpage>14</lpage>
      <abstract>
        <p>A common work ow in science and engineering is to (i) setup and deploy large experiments with tasks comprising an application and multiple parameter values; (ii) generate intermediate results; (iii) analyze them; and (iv) reprioritize the tasks. These steps are repeated until the desired goal is achieved, which can be the evaluation/simulation of complex systems or model calibration. Due to time and cost constraints, sweeping all possible parameter values of the user application is not always feasible. Experimental Design techniques can help users reorganize submission-executionanalysis work ows to bring a solution in a more timely manner. This paper introduces a novel tool that leverages users' feedback on analyzing intermediate results of parameter sweeping experiments to advise them about their strategies on parameter selections tied to their SLA constraints. We evaluated our tool with three applications of distinct domains and search space shapes. Our main nding is that users with submission-execution-analysis work ows can bene t from their interaction with intermediate results and adapt themselves according to their domain expertise and SLA constraints. interactive optimization work ow; parametric sweeping application; design of experiments; high performance computing; user expertise; SLAs</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. INTRODUCTION</title>
      <p>Evaluation of test scenarios and model calibration are
common in several industries including nance, aerospace,
health, and energy. Normally users run applications that
contain a set of parameters, each able to assume a broad
range of values. These applications are known as
parameter sweeping applications or parametric applications. In this
context, it is necessary to run several application instances
varying their parameter values to nd a combination that
meets a given speci cation or optimization criteria.</p>
      <p>
        A popular practice in this context is to employ Design of
Experiments (DOE) techniques [
        <xref ref-type="bibr" rid="ref20">21</xref>
        ] to select parameter
values to be evaluated. These methods help users understand
the impact of each parameter value on the generated output.
As users can check the results produced by each execution,
they can utilize the intermediate results to select the next
parameter values to be evaluated. The knowledge on the
impact of parameter values helps users explore the search space
more e ectively. Nevertheless, to the best of our knowledge,
Copyright held by the author(s).
existing work does not exploit human knowledge/feedback
and DOE techniques to assist users on parameter selection
decisions under these submission-execution-analysis
workows with Service Level Agreement (SLA) constraints.
      </p>
      <p>
        Over the years, optimization methods have been created
to solve complex problems in industry and academia.
However, fully automatic solutions face some obstacles to obtain
satisfactory results due to the following reasons [
        <xref ref-type="bibr" rid="ref19">20</xref>
        ]:
It is hard to obtain/create an optimization model that
re ects all aspects of a real-world problem, especially
when multi-criteria objectives are involved;
Even when the optimization model is adequate, the
time/cost to nd an optimal solution may violate user's
time or cost restrictions;
The analyst expertise and creativity are hard to code.
Then, for problems that involve complex and
important decisions (e.g., nancial trading decisions), even
fully automatic solutions must be, in the end, validated
by humans to be adopted.
      </p>
      <p>Generally, it is prohibitive to run application instances
with all possible parameter values due to time and cost
constraints|cost, in particular, becomes a key factor
considering execution of these applications in outsourced
environments (e.g., public clouds). Additionally, optimization
techniques can be adopted to suggest parameter values in
order to reduce the number of evaluated scenarios and
consequently reduce the experiment costs. Therefore, SLA-aware
prediction methods and mechanisms to suggest parameter
values would help engineers and scientists to evaluate
parametric applications.</p>
      <p>In this work, interactive optimization methods are
proposed to take advantage of human expertise/creativity and
processing power to solve optimization problems. We study
how the decision maker's experience can be leveraged to nd
solutions for parameter sweeping applications. The analyst's
decisions can be impacted by the DOE analysis that shows
which parameters have more impact on the output. For
instance, an experiment explorer tool can show which
parameter values cause more impact on experiment results and the
user can select suitable parameter value combinations based
on this information.</p>
      <p>We introduce a tool, called Copper (Cognitive Optimizer
and Parameter Explorer), to help users in the evaluation of
search spaces considering human feedback and domain
expertise. As new samples are evaluated, Copper updates the
impact of each parameter value on the results and generates
(1)</p>
      <p>SLA
- response time
- cost
- result quality
analyst</p>
      <p>(5)
analyze intermediate results</p>
      <p>
        track SLA
modify search strategy
new samples for evaluation by using derivative free
optimization (DFO) methods [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. Moreover, clustering techniques are
employed to evaluate the regions of search space in which the
user is interested and to propose the user to change her
approach when the SLA is predicted to be violated. The main
contributions of this paper are therefore:
      </p>
      <p>A tool to assist users in the evaluation of scenarios with
parameter sweep applications using human feedback
and domain expertise (x 3);
Clustering methods to evaluate user behavior and
propose strategy changes in case of imminent SLA
violations (x 3.2);
Evaluation of the tool using three applications from
di erent domains and search space shapes (x 4).
2.</p>
    </sec>
    <sec id="sec-2">
      <title>BACKGROUND</title>
      <p>This section presents research e orts related to our work
and an overview of the problem investigated in this paper.
2.1</p>
    </sec>
    <sec id="sec-3">
      <title>Related Work</title>
      <p>Assisting users in executing applications has been a
research goal of several groups. Related to our work there are
e orts from multiple areas: computational steering,
humanguided search, work ow management, design of experiment,
interactive optimization, among others.</p>
      <p>
        Computational steering [5, 11{13, 22, 32] aims at
providing users with tools that enable parameter recon guration
while experiments are in progress. Parker and Johnson [
        <xref ref-type="bibr" rid="ref25">26</xref>
        ]
introduced a system called SCIRun that uses a data ow
programming model and visual programming to simplify the
tasks of creating, debugging, optimizing, and controlling
complex scienti c simulations. Van Wijk et al. [
        <xref ref-type="bibr" rid="ref29">30</xref>
        ]
highlighted that the implementation of computational steering
in practice is hard. To overcome this problem they
implemented an environment in which a data manager entity
facilitates the interaction between the application and the
steering components. Chin et al. [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] incorporated
computational steering in mesoscale lattice Boltzmann simulations
and showed the bene ts of their work. They discussed that
large scale simulations require not only computational
resources but tools to manage these simulations and their
produced results, what they called simulation-analysis loop.
Netto et al. [
        <xref ref-type="bibr" rid="ref22">23</xref>
        ] introduced a scheduler system able to
automatically o er more resources to parametric application
jobs based on the quality of their intermediate generated
results so as users could get faster to their desired goal. More
recently, Mattoso et al. [
        <xref ref-type="bibr" rid="ref17">18</xref>
        ] surveyed the use of steering in
the context of High Performance Computing (HPC)
scienti c work ows highlighting a tighter integration between the
user and the underlying work ow execution system.
Another area to help users is the development of work ow
management systems [
        <xref ref-type="bibr" rid="ref16 ref6">6, 17</xref>
        ].
      </p>
      <p>
        An important research topic related to our work is
optimization assisted by humans [
        <xref ref-type="bibr" rid="ref18 ref19">19, 20</xref>
        ]. Meignan et al. [
        <xref ref-type="bibr" rid="ref19">20</xref>
        ]
provided a detailed survey and taxonomy of e orts in
interactive optimization applied to operations research. They
explored the di erent roles a user can have in an
optimization process, such as adjusting or adding new constraints
and objective, helping on the optimization process itself,
and guiding the optimization process by providing
information related to decision variables. Meignan and Knust [
        <xref ref-type="bibr" rid="ref18">19</xref>
        ]
proposed a system that employs analyst feedback on the
optimization to use as long-term preferences for future runs.
Nascimento and Eades [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] proposed a framework for
humans to assist the optimization process via inserting
domain knowledge, escaping from local minimum, reducing the
search space to be explored, and avoiding ambiguity for
optimal multi-solutions. Researchers have also explored
visualization techniques to add humans in the optimization
process [
        <xref ref-type="bibr" rid="ref28 ref3 ref9">3, 9, 15, 29</xref>
        ]. WorkWays [
        <xref ref-type="bibr" rid="ref23 ref24">24, 25</xref>
        ] is a science gateway
with human-in-the-loop support for running and managing
scienti c work ows.
      </p>
      <p>
        Several e orts in the design of experiments happened over
the last years. Kleijnen et al. [
        <xref ref-type="bibr" rid="ref15">16</xref>
        ] developed a survey and a
user guide on advances in this area until 2005. Using
fractional factorial design technique, Abramson et al. [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]
developed a system to facilitate parameter exploration and
support for abstracting the underlying computing platform.
      </p>
      <p>Our research is based on existing work of these
aforementioned e orts in order to build a tool able to provide
feedback to the user on how her interaction with the parameter
sweeping experiments impacts the de ned time (and cost)
constraints.</p>
    </sec>
    <sec id="sec-4">
      <title>Problem Description</title>
      <p>Problems from several industries are tackled by users, also
named analysts, running complex computer simulations and
optimizers that constitute a software with a set of
parameters, where each parameter can receive di erent values. We
consider applications with n parameters and each
parameter has a nite discrete domain Di where i 2 f1; ; ng. A
function f : D1 Dn ! R is adopted to evaluate the
quality of parameter values and is speci c for each
parametric application. The considered optimization problem P is
described as follows:</p>
      <p>P
max f (x)
x 2 D1</p>
      <p>Dn</p>
      <p>We assume the user is able to generate f (x) according to
the simulation output. For instance, if the output g(x) of a
simulation process is a real value that should be minimized,
then f (x) can be assigned as f (x) = g(x) and the problem
de nition remains the same. If the parametric application
a generates multiple outputs (e.g., a : D1 Dn !
O1 Om), a wrapper function h : O1 Om !
R should be employed to represent the behavior of f (i.e.,
f (x) = h(a(x))).</p>
      <p>For instance, suppose the analyst wants to calibrate a
simulation model that generates a list of predicted values over
a given period. In this case, the output of the parametric
application corresponds to a list of values, one for each time
instant. A wrapper function (e.g., Root Mean Squared
Error) can be employed to generate a single quality value to
compare the di erence between the generated values and a
reference series.</p>
      <p>Running all possible values for each parameter can be
unfeasible|even with large high performance computing
machines. Therefore, users need strategies to select a subset of
values for each parameter that covers parts of the
exploration space that will give them enough information to
answer their questions. Such questions can be: what is the best
set of parameter values that provides a (close-to-)optimal
solution or what are the parameter relationships that have
more in uence on the phenomenon being analyzed. The
strategies for parameter-value selections can be de ned by
Design of Experiments (DOE), which corresponds to a
systematic method to determine the relationship between
parameters (also known as features) a ecting a process and
the output of that process.</p>
      <p>Analysts may have initial insights about the regions of
search space that lead to good results. However, these
insights may be wrong, and can change as long as intermediate
results are evaluated. For several problems, the codi cation
of human insights is not feasible due to the following
reasons. These insights come from observations of historical
data which may not be available. Even when this data is
available, the time to analyze and codify the human insight
may not be a ordable. Human insights can be based on
domain expertise, and the analyst has no experience/time
to explain or codify this knowledge. Therefore, a mixed
strategy that combines human expertise and optimization
approaches may be useful to help analysts in the evaluation
of complex optimization problems.</p>
      <p>
        In this paper, we introduce a tool and a set of techniques
to help scientists and engineers to properly prioritize their
experiments, which can comprise traditional HPC jobs, or
jobs following high throughput computing [
        <xref ref-type="bibr" rid="ref26">27</xref>
        ]. By doing so,
they can nd the expected solution in a more cost-e ective
way, and perhaps discard unnecessary work to be processed.
      </p>
      <p>Figure 1 presents the submission-execution-analysis
workow investigated in this scenario. In Step 1, the user submits
to Copper a request to run an application with her SLA
constraints, which can contain deadline, cost, or result quality
restrictions. In this work we focus on deadline constraints.
Others restrictions (e.g., cost or energy) can be mapped into
the time it takes to execute jobs on the computing
infrastructure. In a scenario where Copper is executed in the
cloud, cost may become an important factor to be
considered. Users may decide to change their execution strategies
so as to meet cost constraints based on the cloud provider
instance prices and charging model having job execution time
and resource requirements as input. Another example, an
energy utilization rate can be employed to de ne the
maximum amount of energy to run the experiments depending
on the execution time. The user also describes in the request
the parameters and possible values to run her application,
the job submission strategy (e.g., random search or range of
parameter values), and the speci cation of the computing
environment (e.g. number of processors and their con
guration). In Step 2, Copper requests the resource management
system to con gure the environment and creates compute
jobs corresponding to parameter-value pairs.</p>
      <p>Once jobs are executing, Copper monitors the state of the
running/completed/pending jobs to predict SLA violation
(Step 3). If SLA is about to be violated, a new strategy
is de ned to run the pending jobs. If that is the case, a
noti cation of SLA violation and a new strategy is sent to
the user (Step 4) who, based on this information, can act
on the strategy to execute her jobs (Step 5). Meanwhile,
the analyst can also manually change job priorities based
on her domain expertise and on her trust on the ongoing
strategy (Step 6). As Copper exploits the analyst
expertise and her feedback is not instantaneous, the job priority
asynchronously changes to avoid unnecessary delays in
triggering new jobs. This is particularly important as Copper
is designed to manage long execution time jobs while users
follow their submission-execution-analysis work ows.</p>
      <p>The speci c problems tackled in paper are therefore:
How to suggest jobs for execution to the analyst and
exploit her expertise to get faster problem resolution?
How to predict SLA violations based on clustering
strategies and pending/running/completed jobs?
How to suggest to the analyst to change her strategy
to avoid SLA violations based on intermediate results
and her expertise?</p>
    </sec>
    <sec id="sec-5">
      <title>ARCHITECTURE AND METHODS</title>
      <p>The proposed solution comprises the Copper tool, a
computing infrastructure, and a web client. Copper is a
service, which can be executed in the cloud or on-premise,
responsible for learning the user strategy, suggesting strategy
changes in case of probable SLA violations, and proposing
job executions to the analyst. A simple adapter should be
created on the computational infrastructure to connect
existing user applications and Copper. This component is
speci c to each application and allows Copper to trigger job
execution by using REST commands. It is also responsible
for sending intermediate results and the list of parameters
with their possible values to Copper.</p>
      <p>
        Figure 2 presents an overview of the Copper architecture.
The manager orchestrates the Copper operation, reads the
results, and stores them in a database as soon as jobs are
executed. The SLA evaluator and sampler receive those
intermediate results to update the selected DFO method state
and cluster models. In order the produce new job candidates
(x 3.1), the sampler utilizes DFO strategies such as
generalized greedy randomized adaptive search (GRASP),
general pattern search (GPS), or particle swarm (PS)
optimization [
        <xref ref-type="bibr" rid="ref10 ref4">4, 10</xref>
        ]. The analyst selects the optimization strategy
according to its preference. In this paper, we implemented a
GRASP variation that employs DOE to estimate the quality
of a given sample. As the focus of this paper is related to
the interaction between the analyst and Copper, the
comparison between the developed GRASP version and other
optimization approaches is beyond the scope of this paper.
      </p>
      <p>For SLA violation prediction (x 3.1), the SLA evaluator
employs clustering methods to estimate the number of
pending jobs according to the user strategy. This number is
compared to the number of jobs that can be executed based on
the remaining time/budget de ned in the SLA contract. If
the user has no resources to evaluate all pending jobs
according to a given strategy, Copper sends a warning and
suggests the user to change her approach.
Algorithm 1: sampling - proposed sampling method.
Input : M , P , , n</p>
      <p>Output: samples
1 solution construction(M , , P );
2 samples localSearch(M , P , n, solution);
3 return samples;
4
5 end
6 return solution;
Algorithm 2: construction - algorithm for creating a
solution candidate.</p>
      <p>Input : M , P</p>
      <p>Output: solution
1 solution ?;
2 foreach p of P do
3 RCL fe 2 listValues(p, M ) j q(e)
qmin + (qmax qmin)g;
solution[indexOf(p)] getRandomElement(RCL);
Algorithm 3: localSearch - nd neighbors of a given
solution.</p>
      <p>Input : M , P , n, solution</p>
      <p>Output: solutions
1 solutions ?;
2 for i 1 to n do
3 solutions[i] getNeighbor(M , P , solution);
4 end
5 return solutions;
3.1</p>
    </sec>
    <sec id="sec-6">
      <title>Default Sampling Method - GRASP</title>
      <p>
        Combinatorial optimization corresponds to a class of
problems that consist of nding an optimal solution from a
nite set of objects [
        <xref ref-type="bibr" rid="ref30">31</xref>
        ]. Generally, brute-force approaches
cannot be applied to solve those problems due to time or
cost constraints. Therefore, analysts or computer programs
should employ heuristics to select candidate solutions that
will probably represent good (or optimal) solutions. This
section presents how Copper generates evaluation samples1
to the analyst using GRASP algorithm. This method is
based on the original GRASP algorithm [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] but instead of
automatically evaluating the produced samples, the analyst
decides whether the samples will be assessed or not. This
sampling approach corresponds to the default method to
suggest evaluation of the search space samples to the user.
Our approach is not strictly tied to this optimization method
and other techniques can be adopted to generate user
samples (e.g., GPS or PS).
      </p>
      <p>The GRASP sampling method is presented in Algorithm
1, which comprises two phases: construction and local search.
The construction phase builds a feasible solution for each
algorithm execution (Line 1). Next, the local search generates
the neighbors of the previous solution (Line 2). Finally, the
set of results is returned (including the initial solution). The
algorithm inputs are the following: the DOE model (M ),
the list of parameters (P ), the greediness level ( ), and the
1Samples and jobs represent an instance of the application
with a set of parameter values. These terms are used in the
paper interchangeably.
number of generated samples (S). The greediness level ( )
is a real value contained in [0; 1] and represents how random
is the selection of parameter values according to their
estimated quality. If the greediness level is close to one, only
high-quality parameter values can be selected. On the other
hand, values close to zero allow the selection of a broad
range of values including low-quality values.</p>
      <p>The construction phase is presented in Algorithm 2 and
nds a candidate based on the greedy heuristic. Initially, an
empty solution is created (Line 1) to return the list of values
for each parameter of the result solution. For each parameter
p (Line 2), a reduced candidate list (RCL) is created and this
list is randomly sampled to get a value that composes the
nal solution.</p>
      <p>
        We use the full factorial DOE method [
        <xref ref-type="bibr" rid="ref20">21</xref>
        ] to evaluate
the quality of each parameter value. qmin and qmax are the
minimum and maximum quality values of a given parameter
value estimated by the DOE method. The RCL is formed by
all feasible parameter values that can be used to construct
the partial solution. In order to insert a parameter value in
the RCL (Line 3) its quality level (q) should be higher or
equal than a threshold qmin + (qmax qmin). Observe that
if 1, the quality threshold approximates to qmax and
only the best quality results will be selected (pure greedy
approach). On the other hand, if 0, the quality
threshold is close to qmin and most of the parameter values can be
used to compose the nal solution (i.e., random approach).
      </p>
      <p>Whenever part of the search space has enough evaluated
samples to apply the full factorial, the DOE model is
updated. Next, a component of RCL is randomly sampled to
compose the nal solution (Line 4), and nally the solution
is returned (Line 6).</p>
      <p>The last phase of the sampling algorithm corresponds to
the local search (Algorithm 3). In this phase, n samples
close to the candidate solution found in the previous phase
are selected. The getNeighbor() function is employed to get
a solution candidate neighbor by using euclidean distance
between samples.
3.2</p>
    </sec>
    <sec id="sec-7">
      <title>SLA violation prediction method</title>
      <p>
        The method to predict SLA violations is based on
clustering techniques. We identify the clusters of the search space
that the analyst is interested in and compare the number of
pending jobs in these clusters to the number of jobs that can
be executed according to the SLA contract. In this work, we
use Density-Based Spatial Clustering of Applications with
Noise (DBSCAN) [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] method to identify the analyst
strategy. This clustering method is attractive as the analyst
does not need to inform the number of clusters before
evaluation [
        <xref ref-type="bibr" rid="ref30">31</xref>
        ]. The DBSCAN algorithm groups samples with
many neighbors determining high density clusters. Samples
that lie in low-density clusters are de ned as outliers and
may not be classi ed in any cluster. Here this algorithm
is adopted to determine previously evaluated clusters of the
search space with good solutions and suggests these clusters
in case of possible SLA violations. The user de nes how the
pending jobs will be distributed over the identi ed clusters.
      </p>
      <p>Figure 4 presents the basic idea of the proposed solution.
Suppose the search space is composed of two parameters
and each particular combination (v1; v2) represents a job
that will be submitted to the computational infrastructure.
v1 and v2 are possible values for parameters 1 and 2
respectively. As long as the analyst submits new jobs, the
clusjob not executed
job executed + good result
job executed + bad result
best results (not executed yet)
interest regions
e
c
a
p
s
h
c
r
a
e
s
)
s
e
u
l
a
v
(
2
tr
e
e
m
a
r
a
p parameter 1 (values)
tering approach identi es the clusters of the search space
that provide good results. The quality of job results can be
previously de ned by using a threshold value or the analyst
can qualify each job result (e.g., good or bad) whenever it
becomes available.</p>
      <p>In this example, the analyst is searching the best result in
three clusters of the search space. The clusters are identi ed
by the clustering algorithm and the number of pending jobs
is counted. If this number is higher than the remaining jobs
de ned by the SLA the user should change her strategy. In
this case, the number of pending jobs is 15 (including the
best result). If the analyst can run 15 jobs, at most, jobs due
to SLA restrictions, Copper advises the analyst to change
her strategy.</p>
      <p>The strategy can be de ned considering exploration and
exploitation aspects. We de ne exploitation level (ex) as the
proportion of pending jobs that will be executed considering
samples inside the detected clusters. For instance, if the
exploitation level is 1:0 all the pending jobs will be executed
taking the parameters contained in the clusters of interest.
If the exploitation level is 0, pending jobs in not explored
clusters (outside the clusters) will be given higher priority.</p>
      <p>Considering all possible pending jobs in all clusters (i.e.
ex #pending jobs), the user de nes which ones of these jobs
will execute for each cluster. The default approach utilizes
weighted average according the mean quality of evaluated
jobs inside the clusters. For jobs outside the clusters (i.e.
(1 ex) #pending jobs), the default GRASP strategy
remains the same (x 3.1).</p>
    </sec>
    <sec id="sec-8">
      <title>EVALUATION</title>
      <p>In this section, we evaluate the Copper e ectiveness in
helping users run optimization and computer simulations
under SLA constraints. We rst describe three applications
served as use cases and metrics analyzed to understand the
bene ts of the assistant. In particular, we are interested
in analyzing three major aspects considering
submissionexecution-analysis work ows: (i) the interaction of Copper
with analysts of di erent expertise levels; (ii) how the
analyst con dence on Copper a ects the evaluation of user
applications; (iii) the impact of Copper SLA violation
predictions on user experiments.
4.1</p>
    </sec>
    <sec id="sec-9">
      <title>Experiment Setup</title>
      <p>This section presents an overview of the setup to evaluate
Copper.
4.1.1</p>
      <sec id="sec-9-1">
        <title>Applications</title>
        <p>Here is a short description of the applications we used in
the evaluation with an overview of their input parameters
and output users are interested in.</p>
        <p>
          1. ifm: The Integrated Flood Model (IFM) [
          <xref ref-type="bibr" rid="ref27">28</xref>
          ] is a
hydrological model aimed at providing high resolution ood
forecasts. IFM contains a soil and an overland routing model
where the soil model estimates the surface-runo based on
incoming precipitation, soil, and land use properties. When
IFM is deployed to calculate ooding predictions, it requires
a calibration which consists in running several simulations
that match data collected by real sensors. To evaluate IFM,
we varied the parameters related to incoming precipitation
and soil properties with the goal of minimizing the di erence
between simulated and real data captured by sensors.
        </p>
        <p>2. schedsim: Scheduler Simulator (SchedSim) is a
simulator to assist in the creation of policies to manage High
Performance Computing clusters. It accepts a variety of
parameters including number of processors in the cluster,
partitions, and scheduling algorithms. Tuning the
scheduler and cluster properties to meet client business goals is
not a trivial task and several scenarios must be executed to
achieve that. For the evaluation, we had the following input:
(i) a workload containing historical data of jobs submitted
to a cluster; (ii) a xed number of cluster processors; and
(iii) two variable partitions. We wanted to know what was
the partition sizes and which jobs (requested time and
allocated processors) should go to such partitions having the
following goals: (i) minimize the overall job response time
and (ii) small jobs (under 1h requested time) should wait no
more than 3 hours in the cluster waiting queue.</p>
        <p>3. mazerunner: Maze Runner is an in-house created
game in which simulated runner has to nd the way out of
a maze. The objective of the game is to nd a runner
con</p>
        <p>guration (e.g., velocity, movement strategy) that leads to a
shorter time to nd the maze exit. There are enemies in the
maze, and the runner needs to escape from them.
Additionally, the runner can slip on obstacles and stay vulnerable for
some time depending on her velocity. This game is simple
and intuitive and was created to demonstrate concepts of
the proposed assistant for a broader audience.</p>
        <p>The search spaces related to the applications used in this
work are illustrated in Figure 5. Multiple parameter
combinations are represented in a single axis and each square
corresponds to a parameter combination. The quality of a
parameter con guration is represented as a given color (dark
colors represent better results). For instance, the top-right
square of Figure 5c presents the (V1 1, V2 1, V3 2, V4 3 )
parameter con guration of maze runner. In this work, we
assume the output of parametric applications as black box
functions, therefore we will not enter in details about the
meaning of parameters and their values.</p>
        <p>By observing the search spaces of the three applications,
SchedSim presents a well behaved variation of the output
when the parameters values change. A similar behavior
happens to the IFM search space. However, for higher values
of P1 the output presents no variation. This ` at' search
space region reduces the Copper capacity to predict good
parameter values. Regarding the Maze Runner search space,
con gurations whose parameter P1 = V1 3 provide better
results. However, the output variation does not have the
same gradual characteristics as in the other applications.
60 .10 .60 .10 .60 .10 .60 .10 .60 .10 .60 .10 . 10 .60 .10 .60 .10 .60 .10 .60 .10 .60 .10 .0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _10 _11 _12 _13 _14 _15 _16 _17 _18 _19 _20
.660 .071 .760 .810 .860 .910 .960 .10 .60 .101 .160 .210 .2 3 3 4 4 5 5 6 6 7 7 8 860 .910 .960 .10 .60 .101 .160 .210 .260 .310 .360 .4 4 5 5 6 6 7 7 8 8 9 96 2V 2V 2V 2V 2V 2V 2V 2V 2V 2V 2V 2V 2V 2V 2V 2V 2V 2V 2V 2V
{
1
_
3
V
2
_
3
V
{</p>
        <p>V4_2
1
_
3
V
2
_
3
V
{ V4_3
1
_
3
V</p>
        <p>P4
2
_3V P3</p>
      </sec>
      <sec id="sec-9-2">
        <title>4.1.2 Experiments Description</title>
        <p>
          We consider software agents to simulate the human
behavior [
          <xref ref-type="bibr" rid="ref18">19</xref>
          ] and divide the experiments into two main groups.
First, the agents evaluate the tool with no SLA requirements
(x 4.2). In this case, the assessment aims at nding how
many jobs are necessary to nd an optimal solution. The
software agent only interacts with Copper to obtain
suggestions of jobs to be executed and no SLA-aware assessment
is performed.
        </p>
        <p>The second evaluation is performed to nd the best result
considering a limited number of jobs (x 4.3). Therefore,
agents interact with Copper to obtain strategy suggestions
if the ongoing experiments tend to extrapolate the number
of jobs established in the SLA.</p>
      </sec>
    </sec>
    <sec id="sec-10">
      <title>4.2 Finding an Optimal Solution</title>
      <p>In this evaluation, we assess the number of jobs that must
be executed to nd an optimal solution. The agents have
insights about which parameter values may result in
optimal solutions. Therefore, we divided the agents into three
categories based on the insight quality level. The rst group
of agents are related to users that have a previous intuition
about good parameter values, and this intuition may lead
to bad solutions (bad insights). The second group contains
agents that have previous ideas about the parameter values
and these values result in proper solutions (good insights).</p>
      <p>The last group of agents represents users with no insight
about the clusters of search space that may contain the
optimal solution (no insights).</p>
      <p>For each agent insight level, we vary the user con dence
level on the job suggestions that come from Copper and the
capacity of an agent to learn from intermediate results. The
con dence level determines the percentage of jobs that are
submitted taking into account Copper suggestions. For
instance, if the user submits 100 jobs and the con dence level
is 40%, then 40 jobs are submitted based on Copper
recommendation and the rest is triggered based on the agent
intuition. This intuition corresponds to a subset of search space
in which the analyst believes the optimal result is contained.
Agent does not learn from intermediate results</p>
      <p>Agent learns from intermediate results
10 20 30 40 50 60 70 80 90 100 10 20 30 40 50 60 70 80 90 100 10 20 30 40 50 60 70 80 90 100</p>
      <p>Percentage of samples from advisor (agent confidence on Copper - confidence level)
We evaluate agents that learn or not from intermediate
results. When the agent learns from intermediate results, it
increases the probability of selecting a given parameter value
if this value leads to good intermediate results and decreases
the likelihood of choosing a given value if this parameter
value leads to bad results. As the focus of this experiment
is to present how the framework takes bene ts from users
recommendations, we do not explore in details here how the
agents learn from intermediate results.</p>
      <p>
        Figure 6 shows the percentage of jobs that are submitted
according to Copper recommendation (con dence level) for
all applications as a function of the number of jobs that must
be submitted to nd an optimal solution. As the proposed
sampling algorithm is stochastic, multiple experiments were
performed to nd a 95% con dence interval of the mean
number of jobs to nd an optimal result. The bootstrap
method [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] was adopted to nd the con dence interval and
the sample size for each result is 500|this number is high
and reduces the size of the con dence interval. The bar
graphs show the mean value and the con dence interval for
each experiment.
      </p>
      <p>The rst, second, and third rows of Figure 6 are related
respectively to IFM, SchedSim, and Maze Runner results.</p>
      <p>The three columns of the same gure, shows the
experiments for agents with bad, good and no previous insights
for these applications. For agents with bad insights, as the
con dence level on recommendations made by Copper
increase, the number of jobs to nd an optimal result reduces.</p>
      <p>Then, users with bad insights may have bene ts when using
Copper. For Agents that do not learn from intermediate
results, SchedSim results present the most signi cant di
erence between relying on Copper to provide the jobs
parameters or not. Increasing the con dence in suggestions made
by Copper also reduces the number of jobs to nd the
optimal con guration in IFM and Maze Runner. However, this
di erence is less signi cant than the previous one. As the
SchedSim search space has interesting characteristics about
the objective function growing related to the input
parameters, the proposed sampling algorithm takes less steps to
nd the optimal parameter con guration.</p>
      <p>For bad insight agents that learn from intermediate
results, there is a signi cant di erence between learning from
intermediate results or not. For example, bad insight agents
for SchedSim with 10% con dence level presents a big di
erence between learning from intermediate results or not. This
behavior can be explained by the interesting characteristics
of ShedSim search space. Figure 5 shows that low values of
SchedSim parameters P1, P2, and P3 lead to good results.</p>
      <p>The agents learn that these values lead to good results and
increase the probability of choosing combinations of these
values.</p>
      <p>For agents with good insights, the number of jobs to nd
the optimal solution increases with the agent con dence
level. This result is the opposite of the previous one and
indicates that users with good insights may have a signi
cant reduction of steps to nd an optimal solution. Agents
with good insights about the behavior of SchedSim and Maze
Runner present a regular growth in the number of jobs to</p>
      <p>nd the optimal solution when the con dence level on
Copper increases. However, IFM does not present this
characteristic as there is an abrupt increase from 90 to 100 percent
of con dence level. Whenever 100% con dence level is
employed, the agent only takes Copper suggestions to submit
new jobs. In this case, Copper needs more jobs to select
parameters outside the at area of IFM search space. As 90%
con dence level agents submit 10% of jobs based on user
insight. The DOE model is updated considering the non- at
areas (agent good insight) and speeds-up the optimization
process. For agents with good insights, there is no
expressive di erence between learning from intermediate results or
not. As the number of jobs to nd the optimal solution is
reduced, the number of samples is not su cient to update
the user preference and signi cantly a ect the result.</p>
      <p>For agents with no insights, the agent's e ciency is
impacted by the con dence level. Whenever the con dence
level on Copper increases the results get better. However,
this impact is less notable to no insight agents when
compared to the results of bad insight agents. Similarly to the
bad insight agents, there is a di erence between learning
from intermediate results.
4.3</p>
    </sec>
    <sec id="sec-11">
      <title>Restricted Experiments</title>
      <p>This set of experiments utilizes the same agents to nd the
best e ort solution but with limited number of jobs that can
be executed due to SLA constraints. We assume that all jobs
take the same time to execute, and the SLA constraints
correspond only to time requirements. Other conditions such as
costs or energy consumption can be used by mapping these
requirements into the number of submitted jobs. The
quality of a result is given by the ratio of the result found and
the optimal result.</p>
      <p>For each experiment set, we changed the maximum
number of jobs that can be submitted and the exploitation level.
The exploitation level is de ned as the proportion of
pending jobs that will be submitted considering samples inside
the clusters de ned in x 3.2. As the output of an
experiment is not deterministic, each bar in the chart presents the
mean value and the 95% con dence related to 500 runs for
each maximum jobs, and exploitation level pair. In these
experiments, the proposed clustering method is applied when
the number of submitted jobs reaches 70% of the maximum
number of jobs and the agent accepts the Copper
recommendation for all experiments. The restricted experiment
results for IFM, SchedSim, and Maze Runner are
respectively presented in Figures 7, 8, and 9.</p>
      <p>The IFM experiment set examines the best e ort scenario
with a limited number of jobs. In this case, instead of
preferring exploration or exploration of sampling space, it is
preferable to adopt a mixed strategy to nd good
parameter values. For instance, for 50 jobs the experiment with
exploitation level of 33% presents better quality when
compared to the others. Similar to the other experiment sets,
the variation of results quality is higher when the number of
jobs is reduced (in this case 50 jobs). Based on these results
we can conclude that for this experiment it is preferable to
adopt a mixed strategy to evaluate the search space.
Therefore, experienced analysts can take advantage of combined
search strategies of exploitation/exploration to achieve
better results.
For the SchedSim results (Figure 8), it is possible to
observe that for a reduced number of jobs (i.e., 30) the
exploitation level has a signi cant in uence on the output quality.
The impact of exploitation level decreases as the number of
submitted jobs increase because the probability of nding
better results are higher if more jobs are executed. For this
experiment set, it is preferable to explore the search space
instead of concentrating the submitted jobs in the cluster
areas. This result suggests that the best results are spread
through the solution search space.</p>
      <p>Figure 9 presents the results of experiments with a
restricted number of jobs related to Maze Runner. Di
erent from the previous application, whenever the exploitation
level is higher, the results have better quality. On the other
hand, when the SLA constraint is relaxed (more jobs are
allowed) the impact of exploitation levels becomes less
important. We can conclude that the best results are grouped
in the solution search space, then strategies that exploit
intermediate results can be adopted to get better results.</p>
    </sec>
    <sec id="sec-12">
      <title>CONCLUSIONS</title>
      <p>Several areas in science and engineering rely on many
executions of a software system with di erent values for each
supported parameter. These executions are responsible for
evaluating test scenarios and calibrating models. Normally,
users follow a work ow where they setup a set of
experiments, generate intermediate results, analyze them, and
reprioritize jobs for the next batch. Reprioritization is a
key step as executing all possible values for all supported
parameters is usually not feasible, especially under cost and
deadline constraints determine by strict SLAs.</p>
      <p>This work introduced a tool to help users in executing
their software systems by exploring their domain expertise
and design of experiment techniques. By learning user
strategies on sweeping parameters, our tool is able to detect if
the ongoing strategy is able to meet SLA requirements and
suggest how jobs can be reprioritized in case an SLA
violation is predicted to happen while users run their
submissionexecution-analysis work ows. Our main lessons while
developing the tool and evaluating with three applications are:
(i) it is important to facilitate user interaction with an
automated design of experiment technique as users may bring
domain expertise that can reach desired results faster; (ii) as
the desired solution may be found by mixing exploration and
exploitation strategies (e.g. breadth- rst search and
depthrst search), users can bene t from a tool that can identify
if the ongoing strategy is correct and can meet SLA
constraints; (iii) evaluations with a restricted number of
experiments are highly impacted by Copper suggestions. Then,
the proposed tool and methods are especially suitable for
evaluation of parametric applications with tight deadlines.</p>
    </sec>
    <sec id="sec-13">
      <title>Acknowledgements</title>
      <p>We would like to thank Miguel Paredes Quinones and the
anonymous reviewers for their valuable comments. This
work has been partially supported by FINEP/MCTI
under grant no. 03.14.0062.00.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>D.</given-names>
            <surname>Abramson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Bethwaite</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Enticott</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Garic</surname>
          </string-name>
          , and
          <string-name>
            <given-names>T.</given-names>
            <surname>Peachey</surname>
          </string-name>
          .
          <article-title>Parameter exploration in science and engineering using many-task computing</article-title>
          .
          <source>IEEE Transactions on Parallel and Distributed Systems</source>
          ,
          <volume>22</volume>
          (
          <issue>6</issue>
          ):
          <volume>960</volume>
          {
          <fpage>973</fpage>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>J.</given-names>
            <surname>Chin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Harting</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Jha</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P. V.</given-names>
            <surname>Coveney</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. R.</given-names>
            <surname>Porter</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S. M.</given-names>
            <surname>Pickles</surname>
          </string-name>
          .
          <article-title>Steering in computational science: mesoscale modelling and simulation</article-title>
          .
          <source>Contemporary Physics</source>
          ,
          <volume>44</volume>
          (
          <issue>5</issue>
          ):
          <volume>417</volume>
          {
          <fpage>434</fpage>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>L.</given-names>
            <surname>Colgan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Spence</surname>
          </string-name>
          , and
          <string-name>
            <given-names>P.</given-names>
            <surname>Rankin</surname>
          </string-name>
          .
          <article-title>The cockpit metaphor</article-title>
          .
          <source>Behaviour &amp; Information Technology</source>
          ,
          <volume>14</volume>
          (
          <issue>4</issue>
          ):
          <volume>251</volume>
          {
          <fpage>263</fpage>
          ,
          <year>1995</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>A. R.</given-names>
            <surname>Conn</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Scheinberg</surname>
          </string-name>
          , and
          <string-name>
            <given-names>L. N.</given-names>
            <surname>Vicente</surname>
          </string-name>
          .
          <article-title>Introduction to derivative-free optimization</article-title>
          , volume
          <volume>8</volume>
          .
          <string-name>
            <surname>Siam</surname>
          </string-name>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>B. K.</given-names>
            <surname>Danani and B. D. D'Amora</surname>
          </string-name>
          .
          <article-title>Computational steering for high performance computing: applications on blue gene/q system</article-title>
          .
          <source>In Proceedings of the Symposium on High Performance Computing</source>
          , pages
          <volume>202</volume>
          {
          <fpage>209</fpage>
          . Society for Computer Simulation International,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>E.</given-names>
            <surname>Deelman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Gannon</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Shields</surname>
          </string-name>
          ,
          <string-name>
            <surname>and I. Taylor.</surname>
          </string-name>
          <article-title>Work ows and e-science: An overview of work ow system features and capabilities</article-title>
          .
          <source>Future Generation Computer Systems</source>
          ,
          <volume>25</volume>
          (
          <issue>5</issue>
          ):
          <volume>528</volume>
          {
          <fpage>540</fpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <surname>H. A. D.</surname>
          </string-name>
          do Nascimento and
          <string-name>
            <given-names>P.</given-names>
            <surname>Eades</surname>
          </string-name>
          .
          <article-title>User hints: a framework for interactive optimization</article-title>
          .
          <source>Future Generation Computer Systems</source>
          ,
          <volume>21</volume>
          (
          <issue>7</issue>
          ):
          <volume>1177</volume>
          {
          <fpage>1191</fpage>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>B.</given-names>
            <surname>Efron</surname>
          </string-name>
          and
          <string-name>
            <given-names>R.</given-names>
            <surname>Tibshirani</surname>
          </string-name>
          .
          <article-title>An Introduction to the Bootstrap</article-title>
          .
          <source>Chapman &amp; Hall/CRC Monographs on Statistics &amp; Applied Probability</source>
          . Taylor &amp; Francis,
          <year>1994</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>A.</given-names>
            <surname>Endert</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. S.</given-names>
            <surname>Hossain</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Ramakrishnan</surname>
          </string-name>
          , C. North,
          <string-name>
            <given-names>P.</given-names>
            <surname>Fiaux</surname>
          </string-name>
          , and
          <string-name>
            <given-names>C.</given-names>
            <surname>Andrews</surname>
          </string-name>
          .
          <article-title>The human is the loop: new directions for visual analytics</article-title>
          .
          <source>Journal of intelligent information systems</source>
          ,
          <volume>43</volume>
          (
          <issue>3</issue>
          ):
          <volume>411</volume>
          {
          <fpage>435</fpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>T. A.</given-names>
            <surname>Feo</surname>
          </string-name>
          and
          <string-name>
            <given-names>M. G.</given-names>
            <surname>Resende</surname>
          </string-name>
          .
          <article-title>Greedy randomized adaptive search procedures</article-title>
          .
          <source>Journal of global optimization</source>
          ,
          <volume>6</volume>
          (
          <issue>2</issue>
          ):
          <volume>109</volume>
          {
          <fpage>133</fpage>
          ,
          <year>1995</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>M.</given-names>
            <surname>Garc</surname>
          </string-name>
          <article-title>a</article-title>
          , J. Duque,
          <string-name>
            <given-names>P.</given-names>
            <surname>Boulanger</surname>
          </string-name>
          , and
          <string-name>
            <given-names>P.</given-names>
            <surname>Figueroa</surname>
          </string-name>
          .
          <article-title>Computational steering of cfd simulations using a grid computing environment</article-title>
          .
          <source>International Journal on Interactive Design and Manufacturing (IJIDeM)</source>
          ,
          <volume>9</volume>
          (
          <issue>3</issue>
          ):
          <volume>235</volume>
          {
          <fpage>245</fpage>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>W.</given-names>
            <surname>Gu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Vetter</surname>
          </string-name>
          , and
          <string-name>
            <given-names>K.</given-names>
            <surname>Schwan</surname>
          </string-name>
          .
          <article-title>An annotated bibliography of interactive program steering</article-title>
          .
          <source>ACM Sigplan Notices</source>
          ,
          <volume>29</volume>
          (
          <issue>9</issue>
          ):
          <volume>140</volume>
          {
          <fpage>148</fpage>
          ,
          <year>1994</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>E.</given-names>
            <surname>Kail</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Kacsuk</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Kozlovszky</surname>
          </string-name>
          .
          <article-title>A novel approach to user-steering in scienti c work ows</article-title>
          .
          <source>In Proceedings of the International Symposium on Applied Computational Intelligence and Informatics (SACI)</source>
          , pages
          <fpage>233</fpage>
          {
          <fpage>236</fpage>
          . IEEE,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>K.</given-names>
            <surname>Khan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. U.</given-names>
            <surname>Rehman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Aziz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Fong</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Sarasvady</surname>
          </string-name>
          .
          <article-title>Dbscan: Past, present and future</article-title>
          .
          <source>In Applications of Digital Information and Web Technologies (ICADIWT)</source>
          ,
          <source>2014 Fifth International Conference on the, pages</source>
          <volume>232</volume>
          {
          <fpage>238</fpage>
          . IEEE,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>J. P.</given-names>
            <surname>Kleijnen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. M.</given-names>
            <surname>Sanchez</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T. W.</given-names>
            <surname>Lucas</surname>
          </string-name>
          , and
          <string-name>
            <given-names>T. M.</given-names>
            <surname>Cioppa</surname>
          </string-name>
          .
          <article-title>State-of-the-art review: a user's guide to the brave new world of designing simulation experiments</article-title>
          .
          <source>INFORMS Journal on Computing</source>
          ,
          <volume>17</volume>
          (
          <issue>3</issue>
          ):
          <volume>263</volume>
          {
          <fpage>289</fpage>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>B.</given-names>
            <surname>Luda</surname>
          </string-name>
          scher, I. Altintas,
          <string-name>
            <given-names>C.</given-names>
            <surname>Berkley</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Higgins</surname>
          </string-name>
          , E. Jaeger,
          <string-name>
            <given-names>M.</given-names>
            <surname>Jones</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E. A.</given-names>
            <surname>Lee</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Tao</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Y.</given-names>
            <surname>Zhao</surname>
          </string-name>
          .
          <article-title>Scienti c work ow management and the kepler system</article-title>
          .
          <source>Concurrency and Computation: Practice and Experience</source>
          ,
          <volume>18</volume>
          (
          <issue>10</issue>
          ):
          <volume>1039</volume>
          {
          <fpage>1065</fpage>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>M.</given-names>
            <surname>Mattoso</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Dias</surname>
          </string-name>
          ,
          <string-name>
            <surname>K.</surname>
          </string-name>
          <article-title>A</article-title>
          . Ocan~a, E. Ogasawara,
          <string-name>
            <given-names>F.</given-names>
            <surname>Costa</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Horta</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Silva</surname>
          </string-name>
          , and D. de Oliveira.
          <article-title>Dynamic steering of HPC scienti c work ows: A survey</article-title>
          .
          <source>Future Generation Computer Systems</source>
          ,
          <volume>46</volume>
          :
          <fpage>100</fpage>
          {
          <fpage>113</fpage>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>D.</given-names>
            <surname>Meignan</surname>
          </string-name>
          and
          <string-name>
            <given-names>S.</given-names>
            <surname>Knust</surname>
          </string-name>
          .
          <article-title>Interactive optimization with long-term preferences inference on a shift scheduling problem</article-title>
          .
          <source>In Proceedings of the 14th European Metaheuristics Workshop</source>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>D.</given-names>
            <surname>Meignan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Knust</surname>
          </string-name>
          ,
          <string-name>
            <surname>J.-M. Frayret</surname>
            , G. Pesant, and
            <given-names>N.</given-names>
          </string-name>
          <string-name>
            <surname>Gaud</surname>
          </string-name>
          .
          <article-title>A review and taxonomy of interactive optimization methods in operations research</article-title>
          .
          <source>ACM Transactions on Interactive Intelligent Systems (TiiS)</source>
          ,
          <volume>5</volume>
          (
          <issue>3</issue>
          ):
          <fpage>17</fpage>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>D. C.</given-names>
            <surname>Montgomery</surname>
          </string-name>
          .
          <article-title>Design and analysis of experiments</article-title>
          . John Wiley &amp; Sons,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>J. D.</given-names>
            <surname>Mulder</surname>
          </string-name>
          ,
          <string-name>
            <surname>J. J. van Wijk</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <surname>R. van Liere.</surname>
          </string-name>
          <article-title>A survey of computational steering environments</article-title>
          .
          <source>Future generation computer systems</source>
          ,
          <volume>15</volume>
          (
          <issue>1</issue>
          ):
          <volume>119</volume>
          {
          <fpage>129</fpage>
          ,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>M. A. S.</given-names>
            <surname>Netto</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Breda</surname>
          </string-name>
          , and O. de Souza.
          <article-title>Scheduling complex computer simulations on heterogeneous nondedicated machines: a case study in structural bioinformatics</article-title>
          .
          <source>In Proceedings of the IEEE International Symposium on Cluster Computing and the Grid (CCGrid</source>
          <year>2005</year>
          ). IEEE,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [24]
          <string-name>
            <given-names>H.</given-names>
            <surname>Nguyen</surname>
          </string-name>
          and
          <string-name>
            <given-names>D.</given-names>
            <surname>Abramson</surname>
          </string-name>
          . WorkWays:
          <article-title>Interactive work ow-based science gateways</article-title>
          .
          <source>In Proceedings of the International Conference on E-Science (e-Science). IEEE</source>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [25]
          <string-name>
            <given-names>H. A.</given-names>
            <surname>Nguyen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Abramson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Kipouros</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Janke</surname>
          </string-name>
          , and
          <string-name>
            <surname>G. Galloway.</surname>
          </string-name>
          <article-title>WorkWays: interacting with scienti c work ows</article-title>
          .
          <source>Concurrency and Computation: Practice and Experience</source>
          ,
          <volume>27</volume>
          (
          <issue>16</issue>
          ):
          <volume>4377</volume>
          {
          <fpage>4397</fpage>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [26]
          <string-name>
            <given-names>S. G.</given-names>
            <surname>Parker</surname>
          </string-name>
          and
          <string-name>
            <given-names>C. R.</given-names>
            <surname>Johnson</surname>
          </string-name>
          .
          <article-title>SCIRun: a scienti c programming environment for computational steering</article-title>
          .
          <source>In Proceedings of the 1995 ACM/IEEE conference on Supercomputing, page 52. ACM</source>
          ,
          <year>1995</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [27]
          <string-name>
            <given-names>I.</given-names>
            <surname>Raicu</surname>
          </string-name>
          , I. Foster,
          <string-name>
            <given-names>M.</given-names>
            <surname>Wilde</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Zhang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Iskra</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Beckman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Zhao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Szalay</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Choudhary</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Little</surname>
          </string-name>
          , et al.
          <article-title>Middleware support for many-task computing</article-title>
          .
          <source>Cluster Computing</source>
          ,
          <volume>13</volume>
          (
          <issue>3</issue>
          ):
          <volume>291</volume>
          {
          <fpage>314</fpage>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [28]
          <string-name>
            <given-names>S.</given-names>
            <surname>Singhal</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Aneja</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Liu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L. V.</given-names>
            <surname>Real</surname>
          </string-name>
          , and
          <string-name>
            <given-names>T.</given-names>
            <surname>George</surname>
          </string-name>
          . IFM:
          <article-title>A scalable high resolution ood modeling framework</article-title>
          .
          <source>In Proceedings of the International European Conference on Parallel and Distributed Computing (Euro-Par)</source>
          . Springer,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          [29]
          <string-name>
            <given-names>L.</given-names>
            <surname>Tweedie</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Spence</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Williams</surname>
          </string-name>
          , and
          <string-name>
            <given-names>R.</given-names>
            <surname>Bhogal</surname>
          </string-name>
          .
          <article-title>The attribute explorer</article-title>
          .
          <source>In Conference companion on Human factors in computing systems</source>
          , pages
          <volume>435</volume>
          {
          <fpage>436</fpage>
          . ACM,
          <year>1994</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          [30]
          <string-name>
            <surname>J. J. Van Wijk</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. Van</given-names>
            <surname>Liere</surname>
          </string-name>
          ,
          <string-name>
            <given-names>and J. D.</given-names>
            <surname>Mulder</surname>
          </string-name>
          .
          <article-title>Bringing computational steering to the user</article-title>
          .
          <source>In Scienti c Visualization Conference</source>
          ,
          <year>1997</year>
          , pages
          <fpage>304</fpage>
          {
          <fpage>304</fpage>
          . IEEE,
          <year>1997</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          [31]
          <string-name>
            <given-names>L. A.</given-names>
            <surname>Wolsey</surname>
          </string-name>
          and
          <string-name>
            <given-names>G. L.</given-names>
            <surname>Nemhauser</surname>
          </string-name>
          .
          <article-title>Integer and combinatorial optimization</article-title>
          . John Wiley &amp; Sons,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          [32]
          <string-name>
            <given-names>H.</given-names>
            <surname>Wright</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. H.</given-names>
            <surname>Crompton</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Kharche</surname>
          </string-name>
          , and
          <string-name>
            <given-names>P.</given-names>
            <surname>Wenisch</surname>
          </string-name>
          .
          <article-title>Steering and visualization: Enabling technologies for computational science</article-title>
          .
          <source>Future Generation Computer Systems</source>
          ,
          <volume>26</volume>
          (
          <issue>3</issue>
          ):
          <volume>506</volume>
          {
          <fpage>513</fpage>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>