Information Technology Reference
In-Depth Information
task is such that provides the
best cost-performance ratio
(i.e. the min-
imum cost/time value). In the case of a
running
task, the preferred instance
type is the type of the instance where the task is executing. For running
tasks, the remaining execution time is estimated by subtracting the time
that the task has been running. Task durations are the basis information to
compute earliest and late start times.
Earliest start time
(EST) is the minimum time at which a task can start
its execution considering its predecessors. The EST of a waiting task
t
is
computed as
EST
(
t
)= max
,
where
t
is a waiting task,
t
k
is one of the
p
parent tasks of
t
and
d
k
is the estimated running time of
t
k
.
For tasks which are
ready
to execute, the EST is set to the current time.
Late start time
(LST) is the maximum start time at which a task can start
without delaying any of its successor tasks. The LST of a task
t
is computed
as
LST
(
t
)= min
1
≤k≤p
{
EST
(
t
k
)+
d
k
}
d
k
)
,
where
t
k
is one of the
c
child tasks of
t
and
d
k
is the estimated running time of
t
k
. For each of the
n exit
tasks
the LST is computed as
LST
(
t
)=
FT
1
≤k≤c
{
LST
(
t
k
)
−
−
d
t
,where
FT
is finish time of the
.
Critical tasks
are tasks that if delayed, will produce an increment of the overall
application execution time (makespan). The
slack
time of a task permits
identifying which of the tasks are critical. The slack time of a task
t
is
computed as
slack
(
t
)=
LST
(
t
)
workflow computed as
FT
=max
1
≤k≤n
{
EST
(
t
k
)+
d
k
}
EST
(
t
). Tasks with a slack time of 0 are
critical tasks and should not be delayed.
−
3.2 Phase 2: Infrastructure Scaling
SIAA relies on the exploitation of spot instances for achieving an overall better
cost-performance. But, as spot instances also introduce the possibility of task
failures derived from out-of-bid situations, SIAA generates a scaling plan com-
prising on-demand and spot instances. A scaling plan generated by SIAA can
be formally defined as
plan
scaling
=
which maps the
amount of instances to acquire for each combination of instance type
VMType
and pricing
scheme
(on-demand/spot).
On-demand instances provide a stable computing platform very suitable for
critical tasks but at expenses of a higher cost. Conversely, spot instances extend
such infrastructure with unreliable instances of better cost-eciency ideal for
short duration or non-critical tasks. The balance between both types of instances
is governed by the
spots ratio
parameter (
ʱ
{
VMType,scheme
ₒ
N
}
[0
,
1]) as follows.
The parameter
ʱ
determines which proportion of a given budget
B
available
for acquiring instances is assigned to spot or on-demand instances. The algorithm
assigns a portion of
B
for
on-demand
instances as
B
od
=
B
∈
∗
(1
−
ʱ
); and the
remaining portion for
spot
instances, i.e.
B
s
=
B
ʱ
. These two budgets conform
constraints that prevent from acquiring a number of instances whose monetary
cost exceeds the maximum permitted budget (
B
).
∗