# Two processor scheduling is in *NC*

## Abstract

We present a parallel algorithm for the two processor scheduling problem. This algorithm constructs an optimal schedule for unit execution time task systems with arbitrary precedence constraints using a polynomial number of processors and running in time polylog in the size of the input. Whereas previous parallel solutions for the problem made extensive use of randomization, our algorithm is completely deterministic and based on an interesting iteration technique. It is of independent relevance for two more reasons. It provides another example for the apparent difference in complexity between decision and search problems in the context of fast parallel computation, and it gives an *NC*-algorithm for the matching problem in certain restricted cases.

## Keywords

Schedule Problem Optimal Schedule Precedence Constraint Interval Graph Maximum Match## Preview

Unable to display preview. Download preview PDF.

## References

- [CG72]Coffman, E.G., Jr., and R.L. Graham “Optimal Scheduling for Two Processor Systems," Acta Informatica
**1**(1972), pp. 200–213.Google Scholar - [DUW84]Dolev, D., E. Upfal, and M. Warmuth, “Scheduling Trees in Parallel,” In: Bertolazzi, P, Luccio, F. (eds.): VLSI: Algorithms and Architectures. Proceedings of the of the International Workshop on Parallel Computating and VLSI, Amalfi, Italy (May 1984): North-Holland 1985, p. 1–30.Google Scholar
- [FKN69]Fujii, M., T. Kasami, and K. Ninamiya, “Optimal Sequencing of Two Equivalent Processors," SIAM J. of Computing
**17**(1969), pp. 784–789.Google Scholar - [Ga82]Gabow, H.N., “An Almost-linear Algorithm for Two-processor Scheduling,” J.ACM
**29**,3 (1982), pp. 766–780.Google Scholar - [GT83]Gabow, H.N. and Tarjan, R.E., “A Linear Time Algorithm for a Special Case of Disjoint Set Union”, Proceedings of the 15th Ann. ACM Symposium on Theory of Computing (Boston, Mass., 1983), pp. 246–251.Google Scholar
- [Gh62]Ghouilà-Houri, A., “Charactérisation des graphes non orientés dont on peut orienter les arrêtes de manière à obtenir le graphe d'une relation d'ordre,” C.R. Acad. Sci. Paris
**254**(1962).Google Scholar - [HM84]Helmbold, D. and E. Mayr, “Fast Scheduling Algorithms on Parallel Computers,” STAN-CS-84-1025, Department of Computer Science, Stanford University (November 1984). To appear in
*Advances in Computing Research*.Google Scholar - [HM85]Helmbold, D. and E. Mayr, “Transitive Orientation and
*NC*Algorithms,” in preparation.Google Scholar - [Hu61]Hu, T.C., “Parallel Sequencing and Assembly Line Problems,” Operations Research
**9**(1961), pp. 841–848.Google Scholar - [KUW85a]Karp, R.M., E. Upfal, and A. Wigderson, “Constructing a Perfect Matching is in Random
*NC*,” Proceedings of the 17th Ann. ACM Symposium on Theory of Computing (Providence, RI, 1985), pp. 22–32.Google Scholar - [KUW85b]Karp, R.M., E. Upfal, and A. Wigderson, “Are Search and Decision Problems Computationally Equivalent?,” Proceedings of the 17th Ann. ACM Symposium on Theory of Computing (Providence, RI, 1985), pp. 464–475.Google Scholar
- [KVV85]Kozen, D., U.V. Vazirani, and V.V. Vazirani, “
*NC*Algorithms for Comparability Graphs, Interval Graphs, and Testing for Unique Perfect Matching,” to appear.Google Scholar - [PY79]Papadimitriou, C.H. and Yannakakis, M., “Scheduling Interval-Ordered Tasks,” SIAM J. Computing
**8**,3 (1979).Google Scholar - [PLE71]Pnueli, A., A. Lempel, and S. Even, “Transitive Orientation of Graphs and Identification of Permutation Graphs,” Can. J. Math.
**23**,1 (1971), pp. 160–175.Google Scholar - [Ul75]Ullman, J.D., “
*NP*-complete Scheduling Problems," J. Comput. System Sci.**10**(1975), pp. 384–393.Google Scholar - [VV85]Vazirani, U.V. and V.V. Vazirani, “The Two-Processor Scheduling Problem is in
*RNC*,” Proceedings of the 17th Ann. ACM Symposium on Theory of Computing (Providence, RI, 1985), pp. 11–21.Google Scholar