Information Technology Reference
In-Depth Information
Algorithm 2. Tasks scheduling algorithm
1: procedure ScheduleTasks( instances od , instances s ):
input:lists of available
on-demand and spot instances
2:
readyTasks ₐ getReadyTasks()
tasks ready to run
3:
queue ₐ sortByPriority( readyTasks )
4:
while there are instances available and size( queue ) > 0 do :
5:
task ₐ queue .pop()
6:
instance ₐ fastest( task,instances od )
ETC on-demand instance
7:
if instance == null then :
no on-demand instances available
8:
instance ₐ fastest( task,instances s )
ETC spot instance
9:
schedule( task,instance )
submit for execution
For such reason, the algorithm addresses the minimization of the negative effects
of such failures on the workflow makespan. This second objective is achieved by
reducing the number of failures that may affect critical tasks. The algorithm
prioritizes the execution of the tasks (sorted by slack time), first on on-demand
instances and then on spot instances (lines 6 to 8). In this way, most of the
critical tasks are executed safely on on-demand instances.
This scheme is highly convenient because non-critical tasks can fail and be
re-launched for execution without handicapping the overall makespan as they
have a wider margin for delays (larger slack times). When a task is terminated
due to an out-of-bid failure, the task is re-inserted in the execution queue. Then,
the workflow information is updated and the scheduling algorithm is invoked to
initiate the execution of more tasks or the re-submission of failed tasks.
3.4 Phase 4: Shutdown Idle Instances
For avoiding the use of unnecessary instances (and therefore reducing monetary
costs), SIAA shuts down all the idle instances that are close to an hour of
computation. This step can be seen as a scale down process complementary
to the infrastructure scaling (phase 2).
4 Experiments and Results
The evaluation of SIAA was carried out by two main experiments. The first one
evaluates the performance of SIAA with some state-of-the-art autoscaling strate-
gies. The second one analyzes the performance of SIAA on different scenarios
varying the portion of spot instances used and the error affecting the bid price
prediction method. The following paragraphs describe the workflow applications
and the instances used in the experiments. Then, sections 4.1 and 4.2 discuss
both experiments.
Workflow Applications. Several scientific workflow applications from Geo Sci-
ences, Astronomy and Bioinformatics were used for both experiments [7].
These applications are CyberShake (seismic hazard simulation), LIGO's Inspiral
 
Search WWH ::




Custom Search