CHARM++: a portable concurrent object oriented system based on C++
OOPSLA '93 Proceedings of the eighth annual conference on Object-oriented programming systems, languages, and applications
Analysis of inheritance anomaly in object-oriented concurrent programming languages
Research directions in concurrent object-oriented programming
ABC++: concurrency by inheritance in C++
IBM Systems Journal
A Comparison of 12 Parallel FORTRAN Dialects
IEEE Software
An object-oriented approach to nested data parallelism
FRONTIERS '95 Proceedings of the Fifth Symposium on the Frontiers of Massively Parallel Computation (Frontiers'95)
CC++: A Declarative Concurrent Object Oriented Programming Notation
CC++: A Declarative Concurrent Object Oriented Programming Notation
The Mentat Computation Model Data-Driven Support for Object-Oriented Parallel Processing
The Mentat Computation Model Data-Driven Support for Object-Oriented Parallel Processing
Hi-index | 0.00 |
As powerful microprocessors become increasingly cheaper, there is a growing trend towards distributed processing on groups of these processors, both in the forms of networks of workstations, as well as distributed-memory computers where each processing node has its own local memory, and there is no global memory. Parallel applications are constructed by starting a program on each of the nodes in the network or distributed-memory computer, and having the individual programs communicate by sending messages to each other. Common message-passing libraries, such as MPI, PVM, and P4, are available to enhance portability across different platforms.There is an obvious analogy between sending messages between the nodes involved in these parallel applications and sending messages between objects in an object-oriented application. But programming with message passing libraries is cumbersome. Programs are easier to write when the programmer can use a familiar language.With this in mind, there has been much work on extending object-oriented languages to support parallelism, especially C++. However, there are many differences between the various proposals. Some use language extensions and require compiler support, while others use class libraries. Some support control parallelism, while others support data parallelism. In this presentation, we describe the features of some competing proposals for adding parallelism to C++. We also code a simple example in each of the proposals.