Process Scheduling Using Task Duplication in Heterogeneous Distributed Systems

Process Scheduling Using Task Duplication in Heterogeneous Distributed Systems

Jeffrey Elcock (University of the West Indies, Barbados) and Pranay Chaudhuri (Heritage Institute of Technology, India)
Copyright: © 2012 |Pages: 13
DOI: 10.4018/978-1-61350-477-2.ch014
OnDemand PDF Download:
No Current Special Offers


Task scheduling in heterogeneous parallel and distributed computing environments continues to be one of the most challenging problems. In this chapter, the authors investigate the Heterogeneous Earliest Finish Time (HEFT) algorithm, along with its alternative scheduling policies for the task prioritising phases, and the Critical Path on a Processor (CPOP) for scheduling tasks on a heterogeneous multiprocessor system. It is shown that, by combining the HEFT algorithm selection policy with the task duplication strategy, it is possible to further reduce the schedule length produced by both HEFT and CPOP. The process scheduling algorithm presented in this chapter compares favourably with other algorithms that use a similar strategy. The proposed algorithm has a time complexity of ?(|V|2(p + d)), whererepresents the number of tasks, p represents the number of processors, and d the maximum in-degree of tasks.
Chapter Preview

1. Introduction

Process scheduling in a multiprocessor environment refers to the assignment of tasks to different processors, satisfying a given set of constraints, so that the schedule length or overall task completion time is minimized. A process (or an application) consists a set of interdependent tasks and may be represented by a directed acyclic graph (DAG), 978-1-61350-477-2.ch014.m02where the set of nodes V, represents the set of tasks, and the set of edges E, represents the communication between tasks. If 978-1-61350-477-2.ch014.m03then 978-1-61350-477-2.ch014.m04 is called the immediate predecessor of 978-1-61350-477-2.ch014.m05, and 978-1-61350-477-2.ch014.m06 is called the immediate successor of 978-1-61350-477-2.ch014.m07. Given a task 978-1-61350-477-2.ch014.m08 its set of immediate predecessors, denoted by 978-1-61350-477-2.ch014.m09 is defined as978-1-61350-477-2.ch014.m10. If 978-1-61350-477-2.ch014.m11 has two or more immediate predecessors then 978-1-61350-477-2.ch014.m12 is referred to as a join task. The immediate successors of 978-1-61350-477-2.ch014.m13 is denoted by 978-1-61350-477-2.ch014.m14and is defined as 978-1-61350-477-2.ch014.m15. 978-1-61350-477-2.ch014.m16 is the set of all the descendants of task978-1-61350-477-2.ch014.m17, and is defined as978-1-61350-477-2.ch014.m18. It is assumed that there is one entry task 978-1-61350-477-2.ch014.m19and one exit task 978-1-61350-477-2.ch014.m20for the DAG.

In both homogeneous and heterogeneous environments the process scheduling problem is NP-complete (Garey & Johnson, 1979; Ullman, 1975; Graham, Lawler, Lenstra, & Kan, 1979; Kasahara & Narita, 1984). In homogeneous environments several heuristics were proposed using both list scheduling without task duplication (Wu & Gajski, 1990; Ahmad & Kwok, 1996) and list scheduling using task duplication (Ahmad & Kwok, 1998; Bansal, Kumar & Singh, 2003; Chaudhuri & Elcock, 2005; Park & Choe, 2002). In list scheduling, tasks are assigned a priority and based on that priority a task is scheduled. In task duplication, some tasks are deliberately scheduled on more than one processor to reduce inter-processor communication.

Complete Chapter List

Search this Book: