Maple on a massively parallel, distributed memory machine - Abstract

Laurent Bernardin, ETH Zürich

We ported the computer algebra system Maple V to the Intel Paragon, a massively parallel, distributed memory machine. In order to take advantage of the parallel architecture, we extended the Maple kernel with a set of message passing primitives based on the Paragon's native message passing library. Using these primitives, we implemented a parallel version of Karatsuba multiplication for univariate polynomials over Z_p. Our speedup timings illustrate the practicability of our approach.

On top of the message passing primitives we have implemented a higher level model of parallel processing based on the manager-worker scheme; a Maple application on one node of the parallel machine submits processing requests to Maple processes residing on different nodes, then asynchronously collects the results. This model proves to be convenient for interactive usage of a distributed memory machine.

Apart from the message passing parallelism we also use localized multi-threading to achieve symmetric multiprocessing within each node of the Paragon. We combine both approaches and apply them to the multiplication of large bivariate polynomials over small prime fields.