A parallel linear algebra server for Matlab-like environments
Authors: Greg Morrow, Robert van de Geijn
Venue: Proceedings of the 1998 ACM/IEEE conference on Supercomputing (CDROM) (1998)

Mathematical software packages such as Mathematica, Matlab, HiQ and others allow scientists and engineers to perform complex analysis and modeling in their familiar workstation environment. However, these systems are limited in the size of problem that can be solved, because the memory and CPU power of the workstation are limited. Obviously, the benefit of the interactive software is lost if the problem takes two weeks to run. With the advent of inexpensive "beowulf"-type parallel machines [4], and the proliferation of parallel computers in general, it is natural to wonder about combining the user-friendliness and interactivity of the commercially-available mathematical packages with the computing power of the parallel machines.We have implemented a system, which we call PLAPACK Server Interface ("PSI"), that allows a user of one of the supported mathematical packages to export computationally intense problems to a parallel computer running PLAPACK. The interface consists of a set of functions that the user calls from within the mathematical package. These functions allow creating, filling, querying, manipulating, and freeing matrix, vector, and scalar objects on the parallel computer. Both memory and CPU power scale linearly with the number of processing elements in the parallel machine. Thus, PSI allows the interactive software packages to break the bonds of the workstation to solve ever larger and more complex problems.PSI is not the first attempt to exploit parallelism from within interactive mathematical software packages. MultiMatlab [6] (from the Cornell Theory Center) and the MATLAB toolbox [5](from University of Rostock, Germany) are extensions of the Matlab intrepreter that essentially run on each node of the parallel machine. A similar product for Mathematica [10] is available from Mathconsult in Switzerland. Compiler-based systems such as FALCON [9] (from University of Illinois), Otter [8] (from Oregon State University) and CONLAB [7] (from University of Umea, Sweden) start with Matlab script files and use compiler technology to create explicit message-passing codes, which then execute essentially independently of the script's original interactive software platform. This list is not exhaustive, but should give the idea that there are many approaches to this problem. Our approach is most similar to the MultiMATLAB and MATLAB Toolbox approaches, with one important difference. In PSI, the third-party software (MATLAB, Mathematica, etc.) runs on a workstation, while the parallel computation is performed on a completely separate massively parallel machine. All parallel communication is handled from within PLAPACK.This paper is organized as follows. Section 2 gives a brief overview of PLAPACK and of the interactive mathematical packages. Section 3 discusses some implementation details of PSI. Section 4 shows what PSI looks like from a user's point of view. Section 5 details some measurements of PSI's performance on a parallel system. Finally, section 6 gives some concluding remarks.