American Journal of Operations Research
Vol.06 No.01(2016), Article ID:63145,6 pages
10.4236/ajor.2016.61010
An O(n) Time Algorithm for Scheduling UET-UCT of Bipartite Digraphs of Depth One on Two Processors
Ruzayn Quaddoura
Department of Computer Science, Faculty of Information Technology, Zarqa University, Zarqa, Jordan

Copyright © 2016 by author and Scientific Research Publishing Inc.
This work is licensed under the Creative Commons Attribution International License (CC BY).
http://creativecommons.org/licenses/by/4.0/


Received 17 November 2015; accepted 24 January 2016; published 28 Janaury 2016
ABSTRACT
Given n unit execution time (UET) tasks whose precedence constraints form a directed acyclic graph, the arcs are associated with unit communication time (UCT) delays. The problem is to schedule the tasks on two identical processors in order to minimize the makespan. Several polynomial algorithms in the literature are proposed for special classes of digraphs, but the complexity of solving this problem in general case is still a challenging open question. We present in this paper an O(n) time algorithm to compute an optimal schedule for the class of bipartite digraphs of depth one.
Keywords:
Scheduling, Makespan, Precedence Constraints, Bipartite Graph, Optimal Algorithm

1. Introduction
The problem of scheduling a set of tasks on a set of identical processors under a precedence relation has been studied for a long time. A general description of the problem is the following. There are n tasks that have to be executed by m identical processors subject to precedence constraints and (may be without) communication delays. The objective is to schedule all the tasks on the processors such that the makespan is the minimum. Generally, this problem can be represented by a directed acyclic graph
called a task graph. The set of vertices V corresponds to the set of tasks and the set of edges E corresponds to the set of precedence constrains. With every vertex i, a weight
is associated that represents the execution time of the task i, and with every edge
, a weight
is associated that represents the communication time between the tasks i and j. If
and the task i starts its execution at time t on a processor P, then either j starts its execution on P at time greater than or equal to
, or j starts its execution on some other processor at time greater than or equal to
.
According to the three field notation scheme introduced in [1] and extended in [2] for scheduling problems with communication delays, this problem is denoted as
.
A large amount of work in the literature studies this problem with a restriction on its structure: the time of execution of every task is one unit execution time (UET), the number of processors m is fixed, the communication delays are neglected, constant or one unit (UCT), or special classes of task graph are considered. We find In this context, the problem
, is polynomial [3] [4] , i.e. when the communication delays are not taken into account. On the contrary, the problem
remains an open question [5] .
The problem of two processors scheduling with communication delays is extensively studied [6] [7] . In particular, it is proven in [8] that the problem
is NP-hard where c is a large integer, whereas this problem is polynomial when the task graph is a complete binary tree.
A challenging open problem is the two processors scheduling with UET-UCT, i.e. the problem
for which the complexity is unknown. However, several polynomial algorithms have been shown for special classes of task graphs, especially for trees [9] [10] , interval orders [11] and a sub- class of series parallel digraphs [12] . In this paper we present an
time algorithm to compute an optimal algorithm for the class of bipartite digraphs of depth one, that is the digraphs for which every vertex is either a source (without predecessors) or a sink (without successors).
2. Scheduling UET-UCT for a Bipartite Digraph of Depth One on Two Processors
2.1. Preliminaries
A schedule UET-UCT on two processors for a general directed acyclic digraph
is defined by a function
, 



a)

b) If 


A time t of a schedule 



A schedule 

Let 
Definition 1 Let 



The definition of a natural schedule 

1) The number of sources executed on 



2) If 
a) 


b) If 


3) If 
a) 



b) If 



4)
Without loss of generality, we can suppose that both idle times 




Figure 1. Bipartite digraphs of depth one and their corresponding natural schedules.

2.2. Scheduling Algorithm
The idea of solving the problem 








Lemma 2 Assume that 
1) The two processors 


2) The processor 

a) Every vertex of B is universal except exactly one.
b) Every vertex of W is universal except exactly one.
Proof. 1) If G is a bipartite complete then obviously 






2) Assume that 


























The inverse, suppose that every vertex of B is universal except exactly one. Since 








Notice that if B (or W) contains exactly one non-universal vertex b then the vertex of W which is independent of b is also non-universal but it is not necessary unique (see Figure 1). Algorithm Schedule_|B|_is_even (G) constructs a natural schedule for 

Algorithm Schedule_|B|_is_even (G)
If 

Schedule 


Schedule 


Else if 

Let 

Schedule b on 


Schedule 


Schedule 


Else let 

Schedule 



Schedule 



Schedule 


Schedule 


Figure 1 shows the construction of natural schedules of the graphs 

Lemma 3 Assume that 
1) The processor 


2) The processor 


a) There is 
b) For every


3) The processor 


a) There is 
b) For every 




Proof. 1) If G is a bipartite complete then obviously 









2) Assume that 
















The inverse, by 1, the processor 





3) Assume that 

































To construct a natural schedule for G when 



Procedure Two_Vertices (G)
For 
For 
If 
Return 1.
Algorithm Schedule_|B|_is_odd (G) constructs a natural schedule for 

Algorithm Schedule_|B|_is_odd (G)
If 

Schedule a vertex 

Schedule a vertex 

Schedule 


Schedule 


Else if 
Let 

Schedule b on 
Schedule w on 
Schedule 


Schedule 


Else If Two_Vertices (G) = 1 then
Let 

Schedule 


Schedule w on 
Schedule 


Schedule a vertex 

Schedule 


Else let 
Let 

Schedule 



Schedule 



Schedule 


Schedule 


Figure 1 shows the construction of natural schedules of the graphs 

2.3. Complexity
We assume that 



The worst case of this Procedure occurs when its result is 1. In this case, for any







3. Conclusion
We have presented an 
Acknowledgements
This research is funded by the Deanship of Research and Graduate Studies in Zarqa University/Jordan. The author is grateful to anonymous referee’s suggestion and improvement of the presentation of this paper.
Cite this paper
RuzaynQuaddoura, (2016) An O(n) Time Algorithm for Scheduling UET-UCT of Bipartite Digraphs of Depth One on Two Processors. American Journal of Operations Research,06,75-80. doi: 10.4236/ajor.2016.61010
References
- 1. Graham, R.L., Lawler, E.L., Lenstra, J.K. and Rinnooy Kan, A.H.G. (1979) Optimization and Approximation in Deterministic Scheduling: A Survey. Annals of Discrete Mathematics, 5, 287-326.
http://dx.doi.org/10.1016/S0167-5060(08)70356-X - 2. Veltman, B., Lageweg, B.J. and Lenstra, L.K. (1990) Multiprocessor Scheduling with Communication Delays. Parallel Computing, 16, 173-182.
http://dx.doi.org/10.1016/0167-8191(90)90056-F - 3. Coffman Jr., E.G. and Graham, R.L. (1972) Optimal Scheduling for Two-Processor Systems. Acta Informatica, 1, 200-213.
http://dx.doi.org/10.1007/BF00288685 - 4. Fujii, M., Kasami, T. and Ninomiya, K. (1969) Optimal Sequencing of Two Equivalent Processors. SIAM Journal on Applied Mathematics, 17, 784-789.
http://dx.doi.org/10.1137/0117070 - 5. Garey, M.R. and Johnson, D.S. (1979) Computers and Intractability: A Guide to the Theory of NP-Completeness. Freeman.
- 6. Chrétienne, P. and Picouleau, C. (1995) Scheduling with Communication Delays: A Survey. In: Scheduling Theory and Its Applications, John Wiley & Sons.
- 7. Norman, M.G., Pelagatti, S. and Thanisch, P. (1995) On the Complexity of Scheduling with Communication Delay and Contention. Parallel Processing Letters, 5, 331-341.
http://dx.doi.org/10.1142/S012962649500031X - 8. Afrati, F., Bampis, E., Finta, L. and Mili, I. (2005) Scheduling Trees with Large Communication Delays on Two Identical Processors. Journal of Scheduling, 8, 179-190.
http://dx.doi.org/10.1007/s10951-005-6366-3 - 9. Varvarigou, T., Roychowdhury, V.P., Kailath, T. and Lawler, E. (1996) Scheduling in and out Forests in the Presence of Communication Delays. IEEE Transactions on Parallel and Distributed Systems, 7, 1065-1074.
http://dx.doi.org/10.1109/71.539738 - 10. Veldhorst, M. (1993) A Linear Time Algorithm to Schedule Trees with Communication Delays Optimally on Two Machines. Technical Report COSOR 93-07, Department of Math, and Computer Science, Eindhoven University of Technology, Eindhoven.
- 11. Ali, H. and El-Rewini, H. (1993) The Time Complexity of Scheduling Interval Orders with Communication Is Polynomial. Parallel Processing Letters, 3, 53-58.
http://dx.doi.org/10.1142/S0129626493000083 - 12. Finta, L., Liu, Z., Mills, I. and Bampis, E. (1996) Scheduling UET-UCT Series Parallel Graphs on Two Processors. Theoretical Computer Science, 162, 323-340.
http://dx.doi.org/10.1016/0304-3975(96)00035-7


















































