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 managing Maple process 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.