STAR/MPI: binding a parallel library to interactive symbolic algebra systems

Many users of symbolic algebra systems have felt the need for greater CPU power. Yet few of them have ventured into parallel programming due to the steep learning curve and the unfamiliar programming environment entailed by such an effort. In an attempt to remedy that situation, the parallel library MPI has been integrated into both GCL (GNU Common LISP) and GAP [14] (a general purpose language for mathematical group theory). These implementations are examples that extend bindings of MPI to interactive languages. (MPI already has bindings to the compiled languages C and FORTRAN.) Further, this binding to an interactive language retains the interactive environment during execution. Further, STAR/MPI represents a blueprint for binding MPI to other interactive languages besides GCL and GAP, from which comes the name STAR/MPI, or */MPI. STAR/MPI includes a simple SPMD architecture on top of this MPI binding. An important class of sequential algorithms is described that can be parallelized with little effort using STAR/MPI architecture. Since GAP is representative of systems for discrete mathematics and LISP is the basis for several symbolic algebra systems with strengths in nondiscrete mathematics, it is hoped to gain broad feedback on the issues involved. Although vendor-specific, interactive, parallel languages exist, this appears to be the first attempt at defining a binding of a vendor-independent, portable, pmallel library to arbitrary interactive languages.

[1]  Jack Dongarra,et al.  PVM: Parallel virtual machine: a users' guide and tutorial for networked parallel computing , 1995 .

[2]  Erich Kaltofen,et al.  DSC: a system for distributed symbolic computation , 1991, ISSAC '91.

[3]  Charles C. Sims,et al.  Computation with finitely presented groups , 1994, Encyclopedia of mathematics and its applications.

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

[5]  Paul S. Wang,et al.  MP: a protocol for efficient exchange of mathematical expressions , 1994, ISSAC '94.

[6]  Daniel M. Yellin,et al.  High-level language support for programming distributed systems , 1991, CASCON.

[7]  Message Passing Interface Forum MPI: A message - passing interface standard , 1994 .

[8]  Charles C. Sims,et al.  Computation with permutation groups , 1971, SYMSAC '71.

[9]  Daniel M. Yellin,et al.  High-level language support for programming distributed systems , 1991, Proceedings of the 1992 International Conference on Computer Languages.

[10]  Norbert Kajler,et al.  CAS/PI: a portable and extensible interface for computer algebra systems , 1992, ISSAC '92.

[11]  K. Mani Chandy,et al.  Compositional C++: Compositional Parallel Programming , 1992, LCPC.

[12]  Seth Copen Goldstein,et al.  Active Messages: A Mechanism for Integrated Communication and Computation , 1992, [1992] Proceedings the 19th Annual International Symposium on Computer Architecture.

[13]  J. A. Robinson,et al.  A Machine-Oriented Logic Based on the Resolution Principle , 1965, JACM.

[14]  Ewing L. Lusk,et al.  Monitors, Messages, and Clusters: The p4 Parallel Programming System , 1994, Parallel Comput..