Welcome!
To use the personalized features of this site, please log in or register.
If you have forgotten your username or password, we can help.
My Menu
Saved Items

18. A Duplication Based Compile Time Scheduling Method for Task Parallelism

Sekhar Darbha6 and Dharma P. Agrawal7

(6)  ECE Department, Rutgers University, Piscataway, NJ, 08855-0909
(7)  ECECS Department, University of Cincinnati, POBox 210030, Cincinnati, OH, 45221-0030
Summary
The cost of inter-processor communication is one of the major bottlenecks of a distributed memory machine (DMM) which can be offset with efficient algorithms for task partitioning and scheduling. Based on the data dependencies, the task partitioning algorithm partitions the application program into tasks and represents them in the form of a directed acyclic graph (DAG) or in compiler intermediate forms. The scheduling algorithm schedules the tasks onto individual processors of the DMM in an effort to lower the overall parallel time. It has been long proven that obtaining an optimal schedule for a generic DAG is an NP-hard problem. This chapter presents a Scalable Task Duplication based Scheduling (STDS) algorithm which can schedule the tasks of a DAG with a worst case complexity of O(|v|2), where v is the set of tasks of the DAG. STDS algorithm generates an optimal schedule for a certain class of DAGs which satisfy a Cost Relationship Condition (CRC), provided the required number of processors are available. In case the required number of processors are not available the algorithm scales the schedule down to the available number of processors. The performance of the scheduling algorithm has been evaluated by its application to practical DAGs and by comparing the parallel time of the schedule generated against the absolute or the theoretical lowerbound.

Fulltext Preview (Small, Large)
Image of the first page of the fulltext

References secured to subscribers.



Export this chapter
Export this chapter as RIS | Text
 
Remote Address: 38.107.191.117 • Server: mpweb16
HTTP User Agent: CCBot/1.0 (+http://www.commoncrawl.org/bot.html)