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.

[1]  Jean-Marc Jézéquel,et al.  EPEE: an Eiffel Environment to Program Distributed Memory Parallel Computers , 1992, ECOOP.

[2]  Jean-Louis Pazat,et al.  Pandore: a system to manage data distribution , 1990, ICS '90.

[3]  Corporate Rice University,et al.  High performance Fortran language specification , 1993, FORF.

[4]  Leslie G. Valiant,et al.  A bridging model for parallel computation , 1990, CACM.

[5]  Jenq Kuen Lee,et al.  On Using Object-Oriented Parallel Programming to Build Distributed Algebraic Abstractions , 1992, CONPAR.

[6]  Luca Cardelli,et al.  On understanding types, data abstraction, and polymorphism , 1985, CSUR.

[7]  Jean-Marc Jézéquel,et al.  Numeric Parallel Programming with Sequential Object Oriented Languages , 1993 .

[8]  Gene H. Golub,et al.  Matrix computations , 1983 .

[9]  Cherri M. Pancake,et al.  Do parallel languages respond to the needs of scientific programmers? , 1990, Computer.

[10]  Rice UniversityCORPORATE,et al.  High performance Fortran language specification , 1993 .

[11]  Akinori Yonezawa,et al.  Object-oriented concurrent programming ABCL/1 , 1986, OOPLSA '86.

[12]  Gerald J. Sussman,et al.  Structure and interpretation of computer programs , 1985, Proceedings of the IEEE.

[13]  Jean-Marc Jézéquel,et al.  A multi-paradigm object oriented parallel environment , 1994, Proceedings of 8th International Parallel Processing Symposium.

[14]  Frédéric Guidec,et al.  Un cadre conceptuel pour la programmation par objets des architectures parallèles distribuées : application à l'algèbre linéaire , 1995 .