Abstract
We present a parallelization of the Brown-Collins algorithm in the PARSAC-2 Computer Algebra system, and we describe the design of our S- threads parallelization environment. PARSAC-2 is a parallel extension of SAC-2 built upon multiple threads of control provided by S-threads. The Brown-Collins algorithm computes the g.c.d. and its co-factors of two polynomials in Zp[x 1,..., x r], r ≥ 2, by first reducing the problem to multiple g.c.d. calculations of modular homomorphic images (MHI) in Zp[x 2,..., x r ], and then recovering the result by interpolation. After studying timings of the SAC-2 implementation, we first parallelize the interpolation algorithm, and then we parallelize the main MHI loop by executing the modular g.c.d. computations concurrently. We determine speed-up's and speed-up efficiencies over a wide range of polynomials.
This material is based upon work supported by the National Science Foundation under Award No. CCR-9009396.
This is a preview of subscription content, log in via an institution.
Preview
Unable to display preview. Download preview PDF.
References
Mike Accetta, Robert Baron, William Bolosky, David Golub, Richard Rashid, Avadis Tevanian, and Michael Young. Mach: A new kernel foundation for UNIX development. In Proc. Summer USENIX Conference, July 1986.
George Almasi and Alan Gottlieb. Highly Parallel Computing. Benjamin/Cummings Publishing Company, 1989.
W. S. Brown. On Euclid's algorithm and the computation of polynomial greatest common divisors. Journal of the ACM, 18(4):478–504, October 1971.
Alan Borodin, Joachim von zur Gathen, and John Hopcroft. Fast parallel matrix and GCD computations. Information and Control, 52:241–256, 1982.
Eric C. Cooper and Richard P. Draves, C Threads. Technical Report CMU-CS-88-154, Computer Science Department, Carnegie Mellon University, Pittsburgh, PA 15213, June 1988.
Nicholas Carriero and David Gelernter. Linda in context. Communications of the ACM, 32(4), April 1989.
Bruce Char, Keith Geddes, and Gaston Gonnet. GCDHEU: Heuristic polynomial GCD algorithm based on integer GCD computation. In John Fitch, editor, International Symposium on Symbolic and Algebraic Computation, volume 174 of LNCS, pages 285–296, Cambridge, England, July 1984. Springer-Verlag. (Proc. EUROSAM'84).
Bruce Char. Progress report on a system for general-purpose parallel symbolic algebraic computation. In Shunro Watanabe and Morio Nagata, editors, Proc. ISSAC'90, pages 96–103, Tokyo, Japan, August 1990. ACM-SIGSAM, ACM Press.
G. E. Collins and R. G. K. Loos. SAC-2 system documentation. On-line documentation and program documentation. In Europe available from: Prof. R. Loos, Universität Tübingen, Informatik, D-7400 Tübingen, W-Germany. In the U.S.A. available from: Prof. G. E. Collins, Ohio State University, Computer Science, Columbus, OH 43210.
J. Della Dora and J. Fitch, editors. Computer Algebra and Parallelism. Computational Mathematics and Applications. Academic Press, London, 1989. (Proc. CAP'88, Grenoble, France, June 1988).
J.H. Davenport and Y. Robert. VLSI and Computer Algebra: the g.c.d. example. In Dynamical Systems and Cellular Automata pages 359–367. Academic Press, London-New York, 1985.
J.H. Davenport, Y. Siret, and E. Tournier. Computer Algebra, Systems and Algorithms for Algebraic Computation. Academic Press, 1988.
Robert H. Halstead. Multilisp: A language for concurrent symbolic computation. ACM Transactions on Programming Languages and Systems, 7(4):501–538, October 1985.
Erich Kaltofen. Computing with polynomials given by straight-line programs I: Greatest common divisors. In Proc. 17th ACM STOC, pages 131–142. Providence, RI, May 1985.
Erich Kaltofen. Parallel algebraic algorithm design. Technical report, Department of Computer Science, Rensselaer Polytechnic Institute, November 1989.
Wolfgang W. Küchlin, David Lutz, and Nicholas J. Nevin. Integer multiplication in PARSAC-2 on stock microprocessors. In AAECC-9: Ninth Int. Symp. on Applied Algebra, Algebraic Algorithms, and Error-Correcting Codes, LNCS, New Orleans, LA, October 1991. Springer-Verlag. (To appear).
Wolfgang W. Küchlin and Nicholas J. Nevin. On multi-threaded list-processing and garbage collection. Technical Report OSU-CISRC-3/91-TR11, Computer and Information Science Research Center, The Ohio State University, Columbus, OH 43210-1277, March 1991.
Brian W. Kernighan and Dennis M. Ritchie. The C Programming Language. Prentice-Hall, Englewood Cliffs, New Jersey, 2nd edition, 1988. (Based on the Draft ANSI C.).
L. V. Kalé and Wennie Shu. The Chare-Kernel language for parallel programming: A perspective. Report UIUCDCS-R-88-1451, Department of Computer Science, University of Illinois at Urbana-Champaign, Urbana, IL, August 1988.
Wolfgang W. Küchlin. PARSAC-2: A parallel SAC-2 based on threads. In AAECC-8: Eighths Int. Symp. on Applied Algebra, Algebraic Algorithms, and Error-Correcting Codes, volume 508 of LNCS, Tokyo, Japan, August 1990. Springer-Verlag.
Wolfgang W. Küchlin. The S-threads environment for parallel symbolic computation. In Richard Zippel, editor, Computer Algebra and Parallelism, Ithaca, NY, May 1990. To appear.
Wolfgang W. Küchlin. On the multi-threaded computation of integral polynomial greatest common divisors. In Proc. ISSAC'91: Internatl. Symp. on Symbolic and Algebraic Computation, Bonn, Germany, July 1991. ACM Press. (To appear. Also Tech. Report OSU-CISRC-1/91-TR2).
Wolfgang W. Küchlin. A space-efficient parallel garbage compaction algorithm. In Proc. Fifth ACM International Conference on Supercomputing, Cologne, Germany, June 1991. ACM Press. (To appear).
John D. Lipson. Elements of Algebra and Algebraic Computing. Benjamin/Cummings, 1981.
R. G. K. Loos. The algorithm description language ALDES (Report). ACM SIGSAM Bull., 10(1):15–39, 1976.
J. Moses and D. Yun. The EZ-GCD algorithm. In Proc. of the ACM Annual Conference, pages 159–166, Atlanta, GA, 1973.
Carl G. Ponder. Evaluation of “Performance Enhancements” in Algebraic Manipulation Systems. PhD thesis, Computer Science Division, University of California, Berkeley, CA 94720, U.S.A., August 1988.
Carl G. Ponder. Parallel processors and systems for algebraic manipulation: Current work. ACM SIGSAM Bull., 22(3):15–21, July 1988.
Carl G. Ponder. Parallelism and algorithms for algebraic manipulation: Current work. ACM SIGSAM Bull., 22(3):7–14, July 1988.
Carl G. Ponder. Evaluation of “performance enhancements” in algebraic manipulation systems. In Della Dora and Fitch [DDF89], pages 51–73. (Proc. CAP'88, Grenoble, France, June 1988).
Jean-Louis Roch. L'Architecture du Systeme PAC et son Arithmetique Rationnelle. PhD thesis, Institut National Polytechnique de Grenoble, Grenoble, France, December 1989.
Steffen Seitz. Verteiltes Rechnen in SAC-2. PhD thesis, Universität Tübingen, 1990.
Paul S. Wang. The EEZ-GCD algorithm. SIGSAM Bulletin, 14(2):50–60, 1980.
Stephen M. Watt. Bounded Parallelism in Computer Algebra. PhD thesis, University of Waterloo, Waterloo, Canada, 1986. Also Technical Report CS-86-12.
Ken Weber. A heuristic parallel algorithm to compute univariate polynomial GCD's. Preprint, February 1991.
Richard Zippel. Probabilistic algorithms for sparse polynomials. In Edward W. Ng, editor, Symbolic and Algebraic Computation, volume 72 of LNCS, pages 216–226, Marseille, France, June 1979. Springer-Verlag. (Proc. EUROSAM'79).
Richard Zippel. Newton's iteration and the sparse Hensel algorithm. In Paul Wang, editor, Proc. SYMSAC'81, pages 68–72, 1981.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1992 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Küchlin, W. (1992). On the multi-threaded computation of modular polynomial greatest common divisors. In: Zima, H.P. (eds) Parallel Computation. ACPC 1991. Lecture Notes in Computer Science, vol 591. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-55437-8_93
Download citation
DOI: https://doi.org/10.1007/3-540-55437-8_93
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-55437-0
Online ISBN: 978-3-540-47073-1
eBook Packages: Springer Book Archive