Date of Award


Document Type


Degree Name

Master of Science (MS)


Computer Science

First Advisor

Dr. Hesham H. Ali


The scheduling problem has been an interesting problem for quite some time. But recently, in the era of parallel and distributed computing it has seen increased activity and many researchers have focused their attention on the scheduling problem once again. Task scheduling is one of the most challenging problems in parallel and distributed computing. It is known to be NP-complete in its general form as well as several restricted cases. Researchers have studied restricted forms of the problem by constraining either the task graph representing the parallel tasks or the computer model. For example, the 2- processor problem has a polynomial-time algorithm. In an attempt to solve the problem in the general case, a number of heuristics have been developed. These heuristics do not guarantee an optimal solution to the problem, but they attempt to find near-optimal solutions most of the time. In this thesis, we study the scheduling problem for a fixed number of processors m. In the proposed work, we are suggesting generating the maximal chain and reducing the problem to (m-1) processors until we apply the two-processor scheduling algorithm on the remaining tasks. This way we can reduce an m-processor problem to a (m-1 )­processor problem. We are trying a new heuristic approach, which tries to reduce the problem to a 2-processor problem; from then on it is just a matter of merging the maximal chain and the derived (m-1) processor schedule. The motivation for reducing it to a 2-processor problem is because there are well known polynomial algorithms to solve this problem. The two-processor algorithm that we will be using is one of the famous algorithms by Coffman and Graham, Sethi, and Gabow. The proposed heuristic will be compared with other well-known heuristics such as List scheduling heuristics. A user-friendly Graphical User Interface will be developed to simplify the use of the developed algorithm. The GUI will allow the user to create a task graph by plotting the nodes and the edges and then there will be various menu items, which will help in generating the labels, maximal chains and schedules for the plotted graph. The User will be able to save the plotted graph and functionality will be provided to copy, cut and paste entire graphs and portions of the graph.


A Thesis Presented to the Department of Computer Science and the Faculty of the Graduate College University of Nebraska In Partial Fulfillment of the Requirements for the Degree Master of Science University of Nebraska at Omaha. Copyright 2001 Sachin Pawaskar

Files over 3MB may be slow to open. For best results, right-click and select "save as..."