Distributed Objects for Parallel Numerical Applications
OASIS, Joint Project CNRS, INRIA, University of Nice Sophia Antipolis, 2004 route des Lucioles,
BP 93, 06902 Valbonne Cedex, France. Denis.Caromel@sophia.inria.fr.
Revised: 23 May 2002
The C++// language (pronounced C++ parallel) was designed and implemented with the aim of importing reusability into parallel and concurrent programming, in the framework of a mimd model. From a reduced set of rather simple primitives, comprehensive and versatile libraries are defined. In the absence of any syntactical extension, the C++// user writes standard C++ code. The libraries are themselves extensible by the final users, making C++// an open system. Two specific techniques to improve performances of a distributed object language such as C++// are then presented: Shared-on-Read and Overlapping of Communication and Computation. The appliance of those techniques is guided by the programmer at a very high-level of abstraction, so the additional work to yield those good performance improvements is kept to the minimum.
Mathematics Subject Classification: 68N15 / 68N19
Key words: Concurrency / data-driven synchronization / dynamic binding / inheritance / object-oriented concurrent programming / polymorphism / reusability / software development method / wait-by-necessity / overlap / object sharing.
© EDP Sciences, SMAI, 2002