European Journal of Operational Research 43 (1989) 225-230 225 North-Holland Theory and Methodology A polynomial algorithm to optimally tasks on a virtual distributed system under tree-like precedence constraints schedule Philippe CHRETIENNE Universitd Pierre et Marie Curie, Laboratoire MASI, Aile 66-56 Bll6, 4, place Jussieu, 75252 Paris, France Abstract: In this paper an ideal distributed memory architecture is considered which is called a Virtual Distributed System. The scheduling problem is formally defined which is associated with the execution in a minimal makespan of a set of dependent tasks over such an architecture. It is shown that if the processing times of the tasks are not less that the data communication times between the tasks, the associated scheduling problem under tree-like precedence constraints is polynomial and an efficient algorithm is provided to solve it. Keywords: Algorithm, scheduling, complexity, graph, distributed system Introduction Providing multiprocessor operating systems with efficient schedules of the tasks they have to process is one of the main application areas of the recent research work on scheduling (Coffman, 1976; Rinnooy Kan, 1976; Carlier, 1984). Most of these results assume a shared memory architecture implying that the output data of one task are instantaneously available to any other task need- ing them as part of its input. Quite recently, distributed memory systems pass from the state of theoretical models to that of real machines such as hypercubes or transputer networks and a lot of research aims at using at best the inherent paral- lelism of these architectures. To achieve this goal, new scheduling problems have to be solved. One of the new constraints introduced by these systems is that if one task must send data to one of its Received February 1988; revised June 1988 immediate successors and if these two tasks are not assigned to the same processor, a communica- tion time is needed to carry the output data from the sending task to the receiving one. Until now, the main approaches used to cope with these problems are quadratic programming models in order to improve the load balance among the processors (Chow, 1982), branch and bound methods (Sinclair, 1987), or heuristics (Lo, 1984; Efe, 1982) to deal with the scheduling problem. Clearly, the scheduling decision problem asso- ciated with a 'real' distributed memory machine is NP-complete since the special case we get by letting all the communication times be equal to zero is the well-known Precedence constrained scheduling (Garey and Johnson, 1979). So, unlike the previously mentioned works that do aim at solving the 'real case', our objective here is to locate more precisely the borderline between easy and difficult special cases of this new scheduling problem by presenting a polynomial subproblem. ~77-2217/89/$3.50 © 1989, Elsevier Science Publishers B.V. (North-Holland)