1 using schedflow for performance evaluation of workflow applications barton p. miller university of...

44
1 Using SchedFlow for Performance Evaluation of Workflow Applications Barton P. Miller University of Wisconsin [email protected] Elisa Heyman Gustavo Martínez Miquel Angel Senar Emilio Luque Universitat Autònoma de Barcelona [email protected]

Upload: loreen-morton

Post on 02-Jan-2016

213 views

Category:

Documents


0 download

TRANSCRIPT

1

Using SchedFlow for Performance Evaluation of Workflow Applications

Barton P. Miller

University of Wisconsin

[email protected]

Elisa HeymanGustavo Martínez

Miquel Angel Senar Emilio Luque

Universitat Autònoma de Barcelona

[email protected]

2

Our Problem

T1

T2 T3

T4 T5 T6

T7

Scheduling Policies

Workflow Engines

3

Our Solution

T1

T2 T3

T4 T5 T6

T7

Scheduling Policies

Workflow Engines

SchedFlow

4

Outline› Introduction› SchedFlow› Experimental Study› Conclusions

5

Introduction› For executing a workflow on a

distributed environment, we need:› Scheduling policy integrated into a› Workflow engine

› Reduce makespan› Factors

› Workload size› Inaccurate computing and

communication times› Machines appearing/disappering

dynamically

6

Introduction

› With SchedFlow, we assessed the influence of the workload on the makespan considering:› Different scheduling policies › Different workflow engines

SchedFlowT1

T2 T3

T4 T5 T6

T7

User PolicyAPI

queue

Task manager

Controller Observer

SchedulerScheduler

SchedulerScheduler

Adaptor

Scheduler

Adaptor

Workflow Engine

logs

T1

T2 T3

T4

The user submits a workflow

SchedFlow

queue

Task manager

Controller Observer

SchedulerScheduler

SchedulerScheduler

Adaptor

Scheduler

Adaptor

Workflow Engine

logs

User PolicyAPI

T1

T2

T3

The Scheduler uses the specified scheduling policy on the available resources discovered by the Observer.

M1

M2

M3

T4 M4

SchedFlow

queue

Task manager

Controller Observer

SchedulerScheduler

SchedulerScheduler

Adaptor

Scheduler

Adaptor

Workflow Engine

logs

T1

T2

T3

The Controller receives the first task-machine pairs

M2

M3

T4 M4

M1

SchedFlow

queue

Task manager

Controller Observer

SchedulerScheduler

SchedulerScheduler

Adaptor

Scheduler

Adaptor

Workflow Engine

logs

T1

T2

T3

The Controller tells the adaptor which engine to use. The adaptor deals with formatting and enqueues the task.

M2

M3

T4 M4

M1

SchedFlow

queue

Task manager

Controller Observer

SchedulerScheduler

SchedulerScheduler

Adaptor

Scheduler

Adaptor

Workflow Engine

logs

T2

T3

M2

M3

T4 M4

M1

SchedFlow

queue

Task manager

Controller Observer

SchedulerScheduler

SchedulerScheduler

Adaptor

Scheduler

Adaptor

Workflow Engine

logsT1

T2

T3

The Engine sends the task to the assigned machine. The Observer checks the Engine log for finished tasks.

M2

M3

T4 M4

SchedFlow

M1T1

queue

Task manager

Controller Observer

SchedulerScheduler

SchedulerScheduler

Adaptor

Scheduler

Adaptor

Workflow Engine

logs

T2

T3

When the task finishes, the Observer notifies the Scheduler.

M2

M3

T4 M4

SchedFlow

M1

queue

Task manager

Controller Observer

SchedulerScheduler

SchedulerScheduler

Adaptor

Scheduler

Adaptor

Workflow Engine

logs

T2 T3

T4 M4

The Scheduler finds the tasks that have their dependencies satisfied and sends them to the Controller.

SchedFlow

queue

Task manager

Controller Observer

SchedulerScheduler

SchedulerScheduler

Adaptor

Scheduler

Adaptor

Workflow Engine

logs

M2

M3

T2 T3

T4 M4

M2

M3

SchedFlow

queue

Task manager

Controller Observer

SchedulerScheduler

SchedulerScheduler

Adaptor

Scheduler

Adaptor

Workflow Engine

logs

T4 M4

SchedFlow

queue

Task manager

Controller Observer

SchedulerScheduler

SchedulerScheduler

Adaptor

Scheduler

Adaptor

Workflow Engine

logs

M2

M3

T2 T3

T4 M4

M2

M3

SchedFlow

queue

Task manager

Controller Observer

SchedulerScheduler

SchedulerScheduler

Adaptor

Scheduler

Adaptor

Workflow Engine

logs

M2

M3

T2

T3

T2 finishes OK.M3 is claimed.

T4 M4

M2

SchedFlow

queue

Task manager

Controller Observer

SchedulerScheduler

SchedulerScheduler

Adaptor

Scheduler

Adaptor

Workflow Engine

logs

M2

M3

T3

The Observer detects the problem and T3 is removed from M3 and dynamcally rescheduled.

T4 M4

M2

M3

SchedFlow

queue

Task manager

Controller Observer

SchedulerScheduler

SchedulerScheduler

Adaptor

Scheduler

Adaptor

Workflow Engine

logs

M2

M3T3

T3 is rescheduled. The Observer does not include M3 as an available resource.

T4 M4

T3

SchedFlow

queue

Task manager

Controller Observer

SchedulerScheduler

SchedulerScheduler

Adaptor

Scheduler

Adaptor

Workflow Engine

logs

M2

M3

T4 M4

T3 M2

SchedFlow

queue

Task manager

Controller Observer

SchedulerScheduler

SchedulerScheduler

Adaptor

Scheduler

Adaptor

Workflow Engine

logs

M2

M3

T4 M4

T3

SchedFlow

queue

Task manager

Controller Observer

SchedulerScheduler

SchedulerScheduler

Adaptor

Scheduler

Adaptor

Workflow Engine

logs

M2

M3

T4 M4

T3

SchedFlow

queue

Task manager

Controller Observer

SchedulerScheduler

SchedulerScheduler

Adaptor

Scheduler

Adaptor

Workflow Engine

logs

M2

M3

T4 M4

SchedFlow

queue

Task manager

Controller Observer

SchedulerScheduler

SchedulerScheduler

Adaptor

Scheduler

Adaptor

Workflow Engine

logs

M2

M3

T3

T4 M4

SchedFlow

queue

Task manager

Controller Observer

SchedulerScheduler

SchedulerScheduler

Adaptor

Scheduler

Adaptor

Workflow Engine

logs

M2

M3

T3

T4 M4

T3 finishes OK. The Observer notifies the Scheduler, and it releases T4.

SchedFlow

queue

Task manager

Controller Observer

SchedulerScheduler

SchedulerScheduler

Adaptor

Scheduler

Adaptor

Workflow Engine

logs

M2

M3

T4

SchedFlow

M4

queue

Task manager

Controller Observer

SchedulerScheduler

SchedulerScheduler

Adaptor

Scheduler

Adaptor

Workflow Engine

logs

T4

SchedFlow

M4

queue

Task manager

Controller Observer

SchedulerScheduler

SchedulerScheduler

Adaptor

Scheduler

Adaptor

Workflow Engine

logs

SchedFlow

M4

queue

Task manager

Controller Observer

SchedulerScheduler

SchedulerScheduler

Adaptor

Scheduler

Adaptor

Workflow Engine

logsT4

SchedFlow

M4

queue

Task manager

Controller Observer

SchedulerScheduler

SchedulerScheduler

Adaptor

Scheduler

Adaptor

Workflow Engine

logs

T4

When T4 finishes the Observer computes the makespan.

32

Experimental Study

› Execution environment:– 140 machines

› Workflow applications:– Montage (53 tasks) – LIGO (81 tasks)

› Workflow engines:– Condor-DAGMan 7.0– Taverna 1.4.8– Karajan 4_0_a1

33

Experimental Study

› Scheduling policies:– Default– Min-min– HEFT– BMCT

34

Experimental Study

› Input workload:– 400 MB– 1024 MB

› We studied the effect of the scheduling policies.

› We measured application makespan› Real executions

35

Results› Mantage ran on Taverna, DAGMan,

Karajan› 400 MB input workload› 120 executions› Default scheduling policy

Taverna DAGMan Karajan

0

2000

4000

6000

8000

10000

12000

14000

Worflow engine with default Scheduling Policies

Ma

ke

sp

an

av

era

ge

(s

ec

.)

36

Results› Same experiments but using SchedFlow› Min-min, HEFT, BMCT› Rescheduling

Taverna DAGMan Karajan

0

2000

4000

6000

8000

10000

12000

14000

Default min-min HEFT BMCT

Worflow engine with differents Scheduling Policies

Ma

ke

sp

an

av

era

ge

(s

ec

.)

37

Results› Mantage ran on Taverna, DAGMan,

Karajan› 1024 MB input workload› 120 executions› Default scheduling policy

Taverna DAGMan Karajan

0

4000

8000

12000

16000

20000

24000

28000

Worflow engine with default Scheduling Policies

Ma

ke

sp

an

av

era

ge

(s

ec

.)

38

Results› Same experiments but using SchedFlow› Min-min, HEFT, BMCT› Rescheduling

Taverna DAGMan Karajan

0

4000

8000

12000

16000

20000

24000

28000

Default min-min HEFT BMCT

Worflow engine with differents Scheduling Policies

Ma

ke

sp

an

av

era

ge

(s

ec

.)

39

Results› LIGO ran on Taverna, DAGMan, Karajan› 400 MB input workload› 120 executions› Default scheduling policy

Taverna DAGMan Karajan

0

4000

8000

12000

16000

20000

24000

28000

Worflow engine with default Scheduling Policies

Ma

ke

sp

an

av

era

ge

(s

ec

.)

40

Results› Same experiments but using SchedFlow› Min-min, HEFT, BMCT› Rescheduling

Taverna DAGMan Karajan

0

4000

8000

12000

16000

20000

24000

28000

Default min-min HEFT BMCT

Worflow engine with differents Scheduling Policies

Ma

ke

sp

an

av

era

ge

(s

ec

.)

41

Results› LIGO ran on Taverna, DAGMan, Karajan› 1024 MB input workload› 120 executions› Default scheduling policy

Taverna DAGMan Karajan

0

10000

20000

30000

40000

50000

60000

Worflow engine with default Scheduling Policies

Ma

ke

sp

an

av

era

ge

(s

ec

.)

42

Results› Same experiments but using SchedFlow› Min-min, HEFT, BMCT› Rescheduling

Taverna DAGMan Karajan

0

10000

20000

30000

40000

50000

60000

Default min-min HEFT BMCT

Worflow engine with differents Scheduling Policies

Ma

ke

sp

an

av

era

ge

(s

ec

.)

43

Conclusions

› No single scheduling policy is the best for all scenarios

› SchedFlow allows us to obtain better performance providing:– Flexibility regarding scheduling policies– Support for rescheduling– Integration with Workflow Engines

44

Using SchedFlow for Performance Evaluation of Workflow Applications

Barton P. Miller

University of Wisconsin

[email protected]

Elisa HeymanGustavo Martínez

Miquel Angel Senar Emilio Luque

Universitat Autònoma de Barcelona

[email protected]