On the multi-threaded computation of integral polynomial greatest common divisors

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[x1,..., xr], r ≥ 2, by first reducing the problem to multiple g.c.d. calculations of modular homomorphic images (MHI) in Zp[x2,..., 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.

[1]  James H. Davenport,et al.  Computer Algebra: Systems and Algorithms for Algebraic Computation , 1988 .

[2]  W. S. Brown,et al.  On Euclid's Algorithm and the Computation of Polynomial Greatest Common Divisors , 1971, JACM.

[3]  Carl Glen Ponder Evaluation of performance enhancements in algebraic manipulation systems , 1988 .

[4]  J. Hopcroft,et al.  Fast parallel matrix and GCD computations , 1982, FOCS 1982.

[5]  William J. Bolosky,et al.  Mach: A New Kernel Foundation for UNIX Development , 1986, USENIX Summer.

[6]  Carl Ponder,et al.  Parallelism and algorithms for algebraic manipulation: current work , 1988, SIGS.

[7]  Carl Ponder,et al.  Parallel processors and systems for algebraic manipulation: current work , 1988, SIGS.

[8]  Allan Gottlieb,et al.  Highly parallel computing , 1989, Benjamin/Cummings Series in computer science and engineering.

[9]  S. Watt Bounded parallelism in computer algebra , 1986 .

[10]  B. David Saunders,et al.  A parallel implementation of the cylindrical algebraic decomposition algorithm , 1989, ISSAC '89.

[11]  Wolfgang Küchlin A space-efficient parallel garbage compaction algorithm , 1991, ICS '91.

[12]  Erich Kaltofen Computing with polynomials given by straight-line programs I: greatest common divisors , 1985, STOC '85.

[13]  Wolfgang Küchlin,et al.  On multi-threaded list-processing and garbage collection , 1991, Proceedings of the Third IEEE Symposium on Parallel and Distributed Processing.

[14]  Nicholas Carriero,et al.  Linda in context , 1989, CACM.

[15]  Rüdiger G. K. Loos,et al.  The algorithm description language ALDES (report) , 1976, SIGS.

[16]  Stephen M. Watt A System for Parallel Computer Algebra Programs , 1985, European Conference on Computer Algebra.

[17]  Wolfgang Küchlin,et al.  The S-Threads Environment for Parallel Symbolic Computation , 1990, CAP.

[18]  Wolfgang Küchlin,et al.  PARSAC-2: A Parallel SAC-2 Based on Threads , 1990, AAECC.

[19]  David Y. Y. Yun,et al.  The EZ GCD algorithm , 1973, ACM Annual Conference.

[20]  Paul S. Wang,et al.  The EEZ-GCD algorithm , 1980, SIGS.

[21]  Bruce W. Char,et al.  GCDHEU: Heuristic Polynomial GCD Algorithm Based on Integer GCD Computation , 1984, EUROSAM.

[22]  Wolfgang Küchlin,et al.  Integer Multiplication in PARSAC-2 on Stock Microprocessors , 1991, AAECC.

[23]  J. D. Lipson Elements of algebra and algebraic computing , 1981 .

[24]  Patrizia Gianni,et al.  Symbolic and Algebraic Computation , 1988, Lecture Notes in Computer Science.

[25]  Richard Zippel Newton's iteration and the sparse Hensel algorithm (Extended Abstract) , 1981, SYMSAC '81.

[26]  Richard Zippel,et al.  Probabilistic algorithms for sparse polynomials , 1979, EUROSAM.

[27]  George E. Collins,et al.  The Calculation of Multivariate Polynomial Resultants , 1971, JACM.

[28]  Robert H. Halstead,et al.  MULTILISP: a language for concurrent symbolic computation , 1985, TOPL.

[29]  David B. Skillicorn,et al.  Architecture-independent parallel computation , 1990, Computer.

[30]  Paul S. Wang,et al.  Parallel univariate polynomial factorization on shared-memory multiprocessors , 1990, ISSAC '90.

[31]  James R. Savage Parallel Algorithm Development with the Myrias Parallel Memory Model , 1988 .

[32]  Paul S. Wang Analysis of the p-adic construction of multivariate correction coefficiencts in polynomial factorization: Iteration vs. recursion , 1979 .

[33]  Wolfgang Küchlin,et al.  Parallel Real Root Isolation Using the Coefficient Sign Variation Method , 1990, CAP.

[34]  Bruce W. Char Progress report on a system for general-purpose parallel symbolic algebraic computation , 1990, ISSAC '90.