Abstract
Program correctness for parallel programs is an even more problematic issue than for serial programs. We extend the theory of program result checking to parallel programs, and find general techniques for designing such result checkers that work for many basic problems in parallel computation. These result checkers are simple to program and are more efficient than the actual computation of the result. For example, sorting, multiplication, parity, the all-pairs shortest-path problem and majority all have constant depth result checkers, and the result checkers for all but the last problem use a linear number of processors. We show that there are P-complete problems (evaluating straight-line programs, linear programming) that have very fast, even constant depth, result checkers.
Similar content being viewed by others
References
Adleman, L., Huang, M., and Kompella, K., Efficient Checkers for Number-Theoretic Computations,Inform. and Comput., to appear.
Aggarwal, A., and Anderson, R., A Random NC Algorithm for Depth First Search,Combinatorica,8 (1988), 1–12.
Aggarwal, A., Chazelle, B., Guibas, L., O'Dunlaing, C., and Yap, C., Parallel Computational Geometry,Algorithmica,3 (1988), 293–327.
Alon, N., Babai, L., and Itai, A., Fast and Simple Randomized Parallel Algorithm for the Maximal Independent Set Problem,J. Algorithms,7 (1986), 567–583.
Amato, N., and Preparata, F., An NC1 Parallel 3D Convex Hull Algorithm,Proc. on Computational Geometry, 1993, pp. 289–297.
Beame, P., and Hastad, J., Optimal Bounds for Decision Problems on the CRCW PRAM,J. Assoc. Comput. Mach.,36 (1989), 643–670.
Blum, M., and Kannan, S., Program Correctness Checking⋯and the Design of Programs that Check Their Work,Proc. 22nd Symp. on Theory of Computing, 1989, pp. 86–97.
Blum, M., Luby, M., and Rubinfeld, R., Self-Testing/Correcting with Applications to Numerical Problems,J. Comput. System Sci.,47(3) (1993).
Chandra, A., Fortune, S., and Lipton, R., Unbounded Fan-In Circuits and Associative Functions,J. Comput. System Sci.,30 (1985), 222–234.
Chandra, A., Stockmeyer, L., and Vishkin, U., Constant Depth Reducibility,SIAM J. Comput.,13 (1984), 423–439.
Cole, R., and Vishkin, U., Faster Optimal Parallel Prefix Sums and List Ranking,Inform. and Comput.,70 (1986), 32–53.
Furst, M., Saxe, J., and Sipser, M., Parity, Circuits and the Polynomial Time Hierarchy,Math. Systems Theory,17 (1984), 13–28.
Gazit, H., An Optimal Randomized Parallel Algorithm for Finding Connected Components in a Graph,Proc. Symp. on Foundations of Computer Science, 1986, pp. 492–501.
Goldberg, M., and Spencer, T., A New Parallel Algorithm for the Maximal Independent Set Problem,Proc. Symp. on Foundations of Computer Science, 1987.
Gross, M., Irani, S., Rubinfeld, R., and Seidel, R., Personal communication.
Leighton, F. T.,Introduction to Parallel Algorithms and Architectures: Arrays, Trees, Hypercubes, Morgan Kaufmann, San Mateo, CA, 1992.
Luby, M., A Simple Parallel Algorithm for the Maximal Independent Set Problem,SIAM J. Comput.,15 (1986), 1036–1053.
Kannan, S., Program Result Checking with Applications, Ph.D. thesis, University of California, Berkeley, CA, 1990.
Karloff, H., A Las Vegas RNC Algorithm for Maximum Matching,Combinatorica,6 (1986), 387–392.
Karp, R., and Ramachandran, V., A Survey of Parallel Algorithms for Shared-Memory Machines, Technical Report No. UCB/CSD 88/408, University of California, Berkeley, CA.
Karp, R., Upfal, E., and Wigderson, A., Constructing a Perfect Matching is in Random NC,Combinatorica,6 (1986), 35–48.
Karp, R., Upfal, E., and Wigderson, A., The Complexity of Parallel Search,J. Comput. System. Sci.,36 (1988), 225–253.
Matias, Y., and Vishkin, U., Converting High Probability into Nearly-Constant Time — with Applications to Parallel Hashing,Proc. Symp. on Theory of Computing, 1991, pp. 307–316.
Mulmuley, K., Vazirani, U., and Vazirani, V., Matching is as Easy as Matrix Inversion,Combinatorica,7 (1987), 105–113.
Preparata, F., and Shamos, M.,Computational Geometry: An Introduction, Springer-Verlag, New York, 1985.
Schieber, B., and Vishkin, U., On Finding Lowest Common Ancestors: Simplification and Parallelization,SIAM J. Comput.,17(6) (1988).
Schönhage, A., and Strassen, V., Schnelle Multiplikation grosser Zahlen,Computing,7, 281–292.
Spivak, M.,Differential Geometry, Vol. 3.
Tamassia, R., and Vitter, J. S., Optimal Parallel Algorithms for Transitive Closure and Point Location in Planar Structures,Proc. ACM Symp. on Parallel Algorithms and Architectures, 1989.
Author information
Authors and Affiliations
Additional information
Communicated by A. Borodin.
This research was done while at the Computer Science Division, University of California, Berkeley, and the International Computer Science Institute, Berkeley, California. Supported in part by an IBM Graduate Fellowship and NSF Grant No. CCR 88-13632.
Rights and permissions
About this article
Cite this article
Rubinfeld, R. Designing checkers for programs that run in parallel. Algorithmica 15, 287–301 (1996). https://doi.org/10.1007/BF01961540
Received:
Revised:
Issue Date:
DOI: https://doi.org/10.1007/BF01961540