330 likes | 455 Views
A Scheduling Service Oriented Approach for Workflow Scheduling. by Conan Fan Li. Supervisor: Dr . Wendy MacCaull Committee member: Dr. Man Lin Committee member: Dr. Iker Gondra. A SSO approach for workflow scheduling. Initiatives
E N D
A Scheduling Service Oriented Approach for Workflow Scheduling by Conan Fan Li Supervisor: Dr. Wendy MacCaull Committee member: Dr. Man Lin Committee member: Dr. IkerGondra
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.
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 scheduling Manufacturing (e.g., a car factory)
Application of scheduling Service 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 -job, processing time, machine, precedence, requirement, schedule, makespan (0,7) (1,9) (2,21) (3,5) (4,15) (5,30) M0 M1
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) job 1 job 3 job 5 M1 M0 M0 M1 job 0 job 2 job 4
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 M0 (0,7) (4,15) (0,7) (1,9) (2,21) (3,5) (4,15) (5,30) (1,9) M1 0 15 20 25 5 10 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 • c1(j)= isNotScheduled(j) && isIndependent(j) • 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}) M0 M0 M0 (4,15) (2,21) (0,7) M1 M1 M1 0 0 0 15 15 15 20 20 20 25 25 25 5 5 5 10 10 10
Push & Pop M0 M0 M0 (4,15) (2,21) (0,7) Push M1 M1 M1 0 0 0 15 15 15 20 20 20 25 25 25 Pop 5 5 5 10 10 10
Process (0,7) (1,9) (2,21) (3,5) (4,15) (5,30) M0 (0,7) (4,15) (1,9) M1 0 15 20 25 30 5 10 M0 M1 past now future clock=7 slot=16
Process (0,7) (1,9) (2,21) (3,5) (4,15) (5,30) M0 (0,7) (4,15) (1,9) M1 0 15 20 25 30 5 10 M0 M1 past now future clock=16 slot=22
Schedule-flow pop queue is not empty allocate something is selected start push select end nothing is selected process
SSO vs. Classic • Size
SSO vs. Classic • Size pop queue is not empty allocate something is selected start push select end nothing is selected process
SSO vs. Classic 1:0
SSO vs. Classic • Performance
SSO vs. Classic 2:0