Abstract
We present the design and implementation of a parallel algorithm for computing Gröbner bases on distributed memory multiprocessors. The parallel algorithm is irregular both in space and time: the data structures are dynamic pointer-based structures and the computations on the structures have unpredictable duration. The algorithm is presented as a series of refinements on atransition rule program, in which computation proceeds by nondeterministic invocations of guarded commands. Two key data structures, a set and a priority queue, are distributed across processors in the parallel algorithm. The data structures are designed for high throughput and latency tolerance, as appropriate for distributed memory machines. The programming style represents a compromise between shared-memory and message-passing models. The distributed nature of the data structures shows through their interface in that the semantics are weaker than with shared atomic objects, but they still provide a shared abstraction that can be used for reasoning about program correctness. In the data structure design there is a classic trade-off between locality and load balance. We argue that this is best solved by designing scheduling structures in tandem with the state data structures, since the decision to replicate or partition state affects the overhead of dynamically moving tasks.
Article PDF
Similar content being viewed by others
Avoid common mistakes on your manuscript.
References
S. V. Adve and M. D. Hill. Weak ordering-a new definition. In17th International Symposium on Computer Architecture, April 1990.
Andrew A. Chien.Concurrent Aggregates: Supporting Modularity in Massively Parallel Programs. MIT Press, Cambridge, MA, 1993.
G. Attardi and C. Traverso. A Network Implementation of Buchberger Algorithm. Technical Report 1177, University di Pisa, January 1991.
S. B. Baden. Programming abstractions for dynamically partitioning and coordinating localized scientific calculations running on multiprocessors.SIAM Journal on Scientific and Statistical Computing, 12(1):145–157, 1991.
H. Berryman, J. Saltz, and J. Scroggs. Execution time support for adaptive scientific algorithms on distributed memory multiprocessors.Concurrency: Practice and Experience, pages 159–178, June 1991.
F. Bodin, P. Beckman, D. Gannon, S. Yang, S. Kesavan, A. Maloney, and B. Mohr. Implementing a parallel C++ runtime system for scalable parallel system. InSupercomputing '93, pages 588–597, Portland, Oregon, November 1993.
M. P. Bonacina.Distributed Automated Deduction. PhD thesis, Department of Computer Science, SUNY at Stony Brook, December 1992.
B. Buchberger. Gröbner basis: an algorithmic method in polynomial ideal theory. In N. K. Bose, editor,Multidimensional Systems Theory, chapter 6, pages 184–232. D. Reidel Publishing Company, 1985.
B. Buchberger. A Criterion for detecting Unnecessary Reductions in the construction of Gröbner Bases. InProceedings of the EUROSAM '79, An International Symposium on Symbolic and Algebraic Manipulation, pages 3–21, Marseille, France, June 1979.
N. J. Burnett. The Architecture of the CM-5. InIEEE Colloquium on ‘Medium Grain Distributed Computing’ (Digest 070), pages 1–2, London, 26 March 1992.
S. Chakrabarti, A. Ranade, and K. Yelick. Randomized load balancing for tree structured computation. InIEEE Scalable High Performance Computing Conference, pages 666–673, Knoxville, Tennessee, May 1994.
S. Chakrabarti and K. Yelick. Implementing an irregular application on a distributed memory multiprocessor. InACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, pages 169–178, San Diego, California, May 1993.
S. Chakrabarti and K. Yelick. On the correctness of a distributed memory Gröbner basis algorithm. In C. Kirchner, editor,International Conference on Rewriting Techniques and Applications, volume 690 ofLecture Notes in Computer Science, pages 77–91, Montreal, Canada, 16–18 June 1993. Springer-Verlag.
K. M. Chandy and J. Misra.Parallel Program Design: a Foundation. Addison-Wesley Publishing Company, Reading, Mass., 1988.
E. M. Clarke, D. E. Long, S. Michaylov, S. A. Schwab, J. P. Vidal, and S. Kimura. Parallel symbolic computation algorithms. Technical Report CMU-CS-90-182, School of Computer Science, Carnegie Mellon University, Pittsburgh, PA 15213, October 1990.
W. J. Dally.A VLSI Architecture for Concurrent Data Structures. PhD thesis, California Institute of Technology, Pasadena, California, March 1986.
E. W. Dijkstra.A Discipline of Programming. Prentice-Hall, 1976.
K. Gharachorloo, D. Lenoski, J. Laudon, A. Gupta, and J. Hennessy. Memory Consistency and Event Ordering in Scalable Shared-Memory Multiprocessors. In17th International Symposium on Computer Architecture, pages 15–26, 1990.
A. Giovini, T. Mora, G. Niesi, L. Robbiano, and C. Traverso. “One sugar cube, please” OR Selection strategies in the Buchberger algorithm. InProceedings of the 1991 International Symposium on Symbolic and Algebraic Computation, pages 49–54, Bonn, Germany, 15–17 July 1992.
D. J. Hawley. A Buchberger algorithm for Distributed Memory Multi-processors. InProceedings of the 1st International ACPC Conference on Parallel Computation, pages 385–390, Salzburg, Austria, 30 September – 2 October 1991. Springer-Verlag.
L. V. Kalé and S. Krishnan. CHARM++: A Portable Concurrent Object Oriented System based on C++. Technical Report UIUCDCS-R-93-1796, University of Illinois, Urbana, IL, March 1993. Also in OOPSLA'93.
V. Karamcheti and A. Chien, Concert — Efficient Runtime Support for Concurrent Object-Oriented Programming Languages on Stock Hardware. InSupercomputing'93, Portland, Oregon, November 1993.
R. M. Karp and Y. Zhang. A Randomized Parallel Branch-and-bound Procedure. InProceedings of the 20th Annual ACM Symposium on Theory of Computing, pages 290–300, 1988.
B. Mishra and C. Yap. Notes on Gröbner basis. InInformation Sciences 48, pages 219–252. Elsevier Science Publishing Company, 1989.
S. Murer, J. Feldman, and C.-C. Lim. pSather: Layered extensions to an object-oriented language for efficient parallel computations. Technical Report 93-028, International Computer Science Institute, Berkeley, CA, 1993.
Nathan Jacobson.Basic Algebra — Volume 2. W. H. Freeman and Company, New York, 1989.
C. G. Ponder. Evaluation of “performance enhancements” in algebraic manipulation systems. Technical Report UCB/CSD 88/438, University of California, Berkeley, 1988. Chapter 7, Parallel Algorithms for Gröbner Basis Reduction.
D. J. Scales and M. S. Lam. A flexible shared memory system for distributed memory machines. Unpublished manuscript, 1993.
W. Shu and L. V. Kalé. Chare Kernel — a Runtime Support System for Parallel Computations.Journal of Parallel and Distributed Computing, 11:198–211, 1991.
K. Siegl. Parallel Gröbner Basis Computation in ∥MAPLE∥. InACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, pages 179–186, San Diego, California, May 1993.
J.-P. Vidal. The computation of Gröbner bases on a shared memory multiprocessor. Technical Report CMU-CS-90-163, School of Computer Science, Carnegie Mellon University, Pittsburgh, PA 15213, 1990.
T. von Eicken, D. E. Culler, S. C. Goldstein, and K. E. Schauser. Active messages: A mechanism for integrated communication and computation. InProceedings of the 19th Annual International Symposium on Computer Architecture, pages 256–266, 1992.
M. Warren and J. Salmon. A parallel hashed oct-treen-body algorithm. InSupercomputing'93, pages 12–21, Portland, Oregon, November 1993.
W. E. Weihl and P. Wang. Multi-version memory: Software cache management for concurrent B-trees. InProceedings of the Symposium on Parallel and Distributed Processing, December 1990.
K. Yelick. Using abstraction in explicitly parallel programs. Technical Report MIT/LCS/TR-507, Massachusetts Institute of Technology, 545 Technology Square, Cambridge, MA 02139, July 1991.
K. Yelick, S. Chakrabarti, E. Deprit, J. Jones, and A. Krishnamurthy. Data Structures for Irregular Applications. InProceedings of the DIMACS Workshop on Parallel Algorithms for Unstructured and Dynamic Problems, 1993.
K. A. Yelick and S. J. Garland. A parallel completion procedure for term rewriting systems. InConference on Automated Deduction, Saratoga Springs, NY, 1992.
Author information
Authors and Affiliations
Additional information
This work was supported in part by the Advanced Research Projects Agency of the Department of Defense monitored by the Office of Naval Research under contract DABT63-92-C-0026, by AT&T, and by the National Science Foundation through an Infrastructure Grant (number CDA-8722788) and a Research Initiation Award (number CCR-9210260). The information presented here does not necessarily reflect the position or the policy of the Government and no official endorsement should be inferred.
Rights and permissions
About this article
Cite this article
Chakrabarti, S., Yelick, K. Distributed data structures and algorithms for Gröbner basis computation. LISP and Symbolic Computation 7, 147–172 (1994). https://doi.org/10.1007/BF01018692
Issue Date:
DOI: https://doi.org/10.1007/BF01018692