Presented by: Elaheh Barati
elaheh@wayne.edu
Wayne State University
Hamid Arabnejad , Jorge G. Barbosa, Radu Prodan
LIACC, Departamento de Engenharia Informática, Faculdade de Engenharia, Universidade do Porto, Portugal
University of Innsbruck, Institute of Computer Science, Innsbruck, Austria
Future Generation Computer Systems 55 (2016)
Cost and time become two of the most relevant user concerns
Challenge: The cost/time trade-off problem for scheduling workflow applications
Scheduling consists of:
The scheduling problem belongs to a class of problems known as NP-complete
Research on workflow QoS aware scheduling:
Workflow scheduling to satisfy multiple QoS parameters
multi-objective scheduling algorithms
search-based strategies
meta-heuristic methods
Need significantly high planning costs in terms of the time consumed to produce good results
A low-time complexity heuristic
Deadline–Budget Constrained Scheduling (DBCS)
constrained to two QoS parameters time and cost
Find a feasible schedule map that satisfies the user-defined deadline and budget constraint values
Implementing a mechanism to control the time and cost consumption by each task when producing a schedule solution
System Model
System Model
System Model
System Model
No cost benefit of adding resources for workflows that run for less than an hour
System Model
In this paper
Application Model
A typical workflow application can be represented by a Directed Acyclic Graph (DAG)
Tasks of the workflow
t1
t2
t3
Application Model
A typical workflow application can be represented by a Directed Acyclic Graph (DAG)
Tasks of the workflow
t1
t2
t3
data dependencies
Application Model
A typical workflow application can be represented by a Directed Acyclic Graph (DAG)
Tasks of the workflow
t1
t2
t3
data dependencies
n × n matrix of communication data
entry task
exit task
Application Model
The amount of data that must be transferred from task ti to task tj
The average communication time between the tasks ti and tj :
Average bandwidth among all processor pairs
Average latency
Application Model
Execution Time to complete task ti on processor pj
Due to heterogeneity, each task may have a different execution time on each processor
Number of resources in processor set P
The average execution time of task ti :
Application Model
For entry task : EST = 0
Earliest Start Time of the task ti on processor pj
is Zero if : Parent and child are assigned to the same machine
Earliest time at which processor pj is ready
Application Model
Earliest Finish Time (EFT) of a task ti on processor pj
Application Model
data storage cost of task ti
The financial cost
cost of transferring the data required for task ti
Application Model
Assigned Cost of task ti : ti is already assigned to a processor
Scheduling Problem
For a given workflow G, a scheduling is defined by a function schedG : T → P which assigns to each task ti ∈ T a processor pj ∈ P, subject to:
Task Selection
Processor Selection
Deadline–Budget Constrained Scheduling algorithm
Task Selection
Length of the longest path from task ti to the exit node
Processor Selection
filtered processor set based on
maximum available budget for the current task that can be consumed by its assignment
Processor Selection
Text
how much the finish time of the current task is closer to the task sub-deadline
Text
how much the actual cost on pj is less than the cost on the processor that results in the earliest finish time
Time Complexity
O(n.p)
The total time is O(n.p + n(n.p + p))
Experimental Results
Workflow structure
Experimental Results
Simulation Platform
Experimental Results
Budget and deadline parameters
Lowest and highest execution time of the application
critical parent of task ti
the minimum and the maximum execution time for task ti on the fastest and the slowest processor among all sites
Experimental Results
Budget and deadline parameters
in the range [0 .. 1]
Experimental Results
Performance metric
Planning Successful Rate:
Percentage of valid schedules
Experimental Results
randomly generated workflows
Experimental Results
randomly generated workflows
Experimental Results
Results for real world applications
Conclusion
Future work