A Scheduling Service Oriented Approach for Workflow Scheduling
-
Upload
olivia-owen -
Category
Documents
-
view
32 -
download
1
description
Transcript of A Scheduling Service Oriented Approach for Workflow Scheduling
A Scheduling Service Oriented Approach for Workflow Scheduling
byConan Fan Li
Supervisor: Dr. Wendy MacCaullCommittee member: Dr. Man LinCommittee member: Dr. Iker Gondra
A SSO approach for workflow scheduling
• Initiatives• AIF project: building decision-support through dynamic
workflow systems.• Workflow engines are not naturally built for scheduling
problems
What is a workflow?• A workflow or a workflow model is a depiction of a
business process composed of a sequence of operations (tasks).
• Tasks are connected in the form of a directed graph to provide an abstraction of the real work for further assessment.
What is a workflow?
What is a workflow?
Why workflow?• Abstraction & visualization• Clarity & consistency• Automation
What is scheduling?• The process of making decisions about the
allocation of resources for a number of tasks to achieve one or more objectives?
• Two main applications
Application of schedulingManufacturing (e.g., a car factory)
Application of schedulingService industry (e.g., Gate Assignments at an Airport)
Basics of Scheduling• A scheduling problem can be described by a triplet
α | β | γ. • α describes the machine environment• β describes the processing characteristics and constraints• γ describes the objective
• The triplet Jm | prec | Cmax describes a job shop scheduling problem with precedence constraints and an objective to minimize the makespan
A Job Shop Example
(0,7) (1,9) (2,21) (3,5) (4,15) (5,30)
M0
M1
-job, processing time, machine, precedence, requirement, schedule, makespan
Workflow Scheduling
• Petri net based scheduling
job machine precedence constraint
Workflow Scheduling
Petri net based scheduling
(0,7) (1,9) (2,21) (3,5) (4,15) (5,30)
M0
M1
job 0
job 2
job 4
M0
M1
job 5
job 3
job 1
The SSO approach• An approach that maps a scheduling problem onto a
workflow model that consists of tasks that provide services for scheduling.
• Proposed scheduling services include:• selection• allocation• push• pop• process
Selection
5 10 15 20 250
(0,7)
(1,9)
(4,15)M0
M1
(0,7) (1,9) (2,21) (3,5) (4,15) (5,30)
M0
M1
Selection
• S'=select(S,c) returns a subset of S. Fore each element e in S', c(e) must be True.
• Eg. if we define o c1(j)= isNotScheduled(j) && isIndependent(j)
o then select(J,c1) returns {J0, J2, J4}
(0,7) (1,9) (2,21) (3,5) (4,15) (5,30)
M0
M1
Allocation
• Given a partial schedule and a number of jobs ready to be scheduled, the allocation service produces the set of successors
• For example, let sch0 be the initial schedule where no job is scheduled. allocate(sch0,{J0,J2,J4}) will generate the following three schedules.
Allocation
• allocate(sch0,{J0,J2,J4})
5 10 15 20 250
(4,15)M0
M1
510
15 20 250
(0,7)M0
M1
510
15 20 250
(2,21)M0
M1
Push & Pop
5 10 15 20 250
(4,15)M0
M1
510
15 20 250
(0,7)M0
M1
510
15 20 250
(2,21)M0
M1
Push
Pop
Process
5 10 15 20 250 30
(0,7)
(1,9)
(4,15)M0
M1
clock=7
futurepast now
slot=16
(0,7) (1,9)(2,21
)(3,5)
(4,15)
(5,30)
M0
M1
Process
(0,7) (1,9)(2,21
)(3,5)
(4,15)
(5,30)
M0
M1
5 10 15 20 250 30
(0,7)
(1,9)
(4,15)M0
M1
clock=16
futurepast now
slot=22
Schedule-flow
select
allocate
process
push
something is selected
nothing is selected
queue is not empty
endstart
pop
Schedule-flow in YAWL
PYSF
PYSF
SSO vs. Classic
SSO vs. Classic
• Size
SSO vs. Classic
• Size
select
allocate
process
push
something is selected
nothing is selected
queue is not empty
endstart
pop
SSO vs. Classic
1:0
SSO vs. Classic
• Performance
SSO vs. Classic
SSO Classic
Time/second 0.22 > 20
Makespan 1094 1100
SSO vs. Classic
2:0