PROOF: a parallel object-oriented functional computation model
Journal of Parallel and Distributed Computing
HPC++ and the Europa call reification model
ACM SIGAPP Applied Computing Review
Supporting High Level Programming with High Performance: The Illinois Concert System
HIPS '97 Proceedings of the 1997 Workshop on High-Level Programming Models and Supportive Environments (HIPS '97)
Threads cannot be implemented as a library
Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation
Parallel Programmability and the Chapel Language
International Journal of High Performance Computing Applications
Exploiting Object-Based Parallelism on Multi-core Multi-processor Clusters
PDCAT '07 Proceedings of the Eighth International Conference on Parallel and Distributed Computing, Applications and Technologies
Task Parallelism for Object Oriented Programs
ISPAN '08 Proceedings of the The International Symposium on Parallel Architectures, Algorithms, and Networks
The PARSEC benchmark suite: characterization and architectural implications
Proceedings of the 17th international conference on Parallel architectures and compilation techniques
Hi-index | 0.00 |
Object-oriented programming languages are prevalent at present and the inherent parallelism of a wide range of applications can be expressed as groups of concurrent objects. This paper proposes a new object-level parallel programming model to meet the challenge of parallel programming on chip multi-processors. This object-based computation model maps multiple software objects onto different physical processor cores at runtime. Independent objects can run concurrently and communicate with each other by synchronous, asynchronous, future and broadcast messages. In order to verify the efficiency of this model, a library implementation CPPLib of this model based on C++ is presented. The library implementation of this model requires no extension to existing object-oriented programming languages and provides good salability and portability. The performance of CPPLib is evaluated on both a dual-core desktop computer and an 8-core server using standard benchmarks. Experimental results show that CPPLib achieves average speedup levels of 1.5 and 3.6 on the dual-core desktop computer and the 8-core server, respectively, compared with their serial version.