Interfacing MATLAB with a parallel virtual processor for matrix algorithms
This paper describes the results of a project to interface MATLAB with a parallel virtual processor (PVP) that allows execution of matrix operations in MATLAB on a set of computers connected by a network. The software, a connection-oriented BSD socket-based clientserver model, automatically partitions a MATLAB problem and delegates work to server processes running on separate remote machines. Experimental data on the matrix multiply operation shows that the speed improvement of the parallel implementation over the single-processor MATLAB algorithm depends on the size of the matrices, the number of processes, the speed of the processors, and the speed of the network connection. In particular, the advantage of doing matrix multiply in parallel increases as the size of the matrices increase. A speedup of 2.95 times was achieved in multiplying 2048 by 2048 square matrices using 15 workstations. The algorithm was also implemented on a network of four PC's, which was up to 2.5 times as fast as four workstations. The study also showed that there is an optimal number of processes for a particular problem, and so using more processes is not always faster.
matlab matrix algorithms parallel algorithms