Skip to content

Difference between Scheduling Algorithm and Planning Algorithm in WorkflowSim

Weiwei Chen edited this page Apr 14, 2014 · 1 revision

As you may notice, we have two types of algorithms: scheduling algorithms and planning algorithms. In theory they are the same, however, in terms implementation they are quite different. Remember that WorkflowSim has three layers: Workflow Planner, Workflow Engine, Workflow Scheduler.

In Workflow Planner, we have a global view of the whole workflow (all the tasks and their dependencies) and in each iteration Workflow Engine release tasks that are free (which means their parents have completed successfully) to Workflow Scheduler. Workflow Scheduler matches these free tasks to resources (Condor VMs in WorkflowSim) and submit them for execution. Respectively, the planning algorithm is a global scheduling algorithm that can bind any task to any resource (however, the actual execution order depends on the resource availability). It is used in Workflow Planner. The scheduling algorithm in WorkflowSim is a local scheduling algorithm that only binds free tasks to available resources (and somehow guarantee their execution order).

By default, the planning algorithm is not set. If you have specify a planning algorithm, then the scheduling algorithm is disabled since you force the Workflow Scheduler to map a task to its assigned resource.

Some local optimization algorithms such as MIN-MIN, MAX-MIN are scheduling algorithms while some global optimization algorithms such as HEFT are planning algorithms in WorkflowSim.