Tulip: A Portable Run-Time System for Object-Parallel Systems
IPPS '96 Proceedings of the 10th International Parallel Processing Symposium
Dynamic Load-balancing Using Prediction in a Parallel Object-oriented System
IPDPS '01 Proceedings of the 15th International Parallel & Distributed Processing Symposium
An object-oriented parallel programming language for distributed-memory parallel computing platforms
Science of Computer Programming
Hi-index | 0.00 |
We describe Charm++, an object oriented portable parallel programming language based on C++. Its design philosophy, implementation, sample applications and their performance on various parallel machines are described. Charm++ is an explicitly parallel language consisting of C++ with a few extensions. It provides a clear separation between sequential and parallel objects. The execution model of Charm++ is message driven, thus helping one write programs that are latency-tolerant. The language supports multiple inheritance, dynamic binding, overloading, strong typing, and reuse for parallel objects, all of which are more difficult problems in a parallel context. Charm++ provides specific modes for sharing information between parallel objects. It is based on the Charm parallel programming system, and its runtime system implementation reuses most of the runtime system for Charm.