Control and data parallelism are two complementary but often mutually exclusive paradigms used to program massively parallel systems. We propose to encapsulate both control and data parallelism in regular classes of a sequential object oriented language: a SPMD programming model is used and thus no language extensions are needed, provided a shared virtual memory is available. We show how these ideas are implemented in EPEE, our Eiffel Parallel Execution Environment. As an example, we present the implementation of both paradigms on a toy linear algebra example and show how they can interoperate. We conclude with some performance results and prospective remarks.
展开▼