Paladin: a parallel object-oriented linear algebra library
Polymorphic Matrices in Paladin
Scientific programmers are eager to take advantage of the computational power
offered by Distributed Computing Systems (DCSs), but are generally reluctant to
undertake the porting of their application programs onto such machines. The
DCS commercially available today are indeed widely believed to be difficult to
use, which should not be a surprise since they are traditionally programmed
with software tools dating back to the days of punch cards and paper tape.
We claim that provided modern object oriented technologies are used, these
computers can be programmed easily and efficiently. In EPEE, our Eiffel Parallel Execution Environment, we propose
to use a kind of parallelism known as data-parallelism, encapsulated within
classes of the Eiffel sequential object-oriented language, using the SPMD
(Single Program Multiple Data) programming model. We describe our method for
designing with this environment Paladin, an object-oriented linear algebra
library for DCSs.
We show how dynamic binding and polymorphism can be used to solve the problems
set by the dynamic aspects of the distribution of linear algebra objects such
as matrices and vectors.
Here is the postcript version of the full paper