Charm++: A portable concurrent object oriented system based on C++

Laxmikant V. Kale, Sanjeev Krishnan

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

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 latencytolerant. The language supports multiple inheritance, dynamic binding, overloading, strong typing, and reuse for parallel objects. Charm++ provides specific modes for sharing information between parallel objects. Extensive dynamic load balancing strategies are provided. It is based on the Charm parallel programming system, and its runtime system implementation reuses most of the runtime system for Charm.

Original languageEnglish (US)
Title of host publicationProceedings of the 8th Annual Conference on Object-Oriented Programming Systems, Languages, and Applications, OOPSLA 1993
PublisherAssociation for Computing Machinery
Pages91-108
Number of pages18
ISBN (Electronic)0897915879
DOIs
StatePublished - Oct 1 1993
Event8th Annual Conference on Object-Oriented Programming Systems, Languages, and Applications, OOPSLA 1993 - Washington, United States
Duration: Sep 26 1993Oct 1 1993

Publication series

NameProceedings of the Conference on Object-Oriented Programming Systems, Languages, and Applications, OOPSLA
VolumePart F129674

Other

Other8th Annual Conference on Object-Oriented Programming Systems, Languages, and Applications, OOPSLA 1993
Country/TerritoryUnited States
CityWashington
Period9/26/9310/1/93

ASJC Scopus subject areas

  • Software

Fingerprint

Dive into the research topics of 'Charm++: A portable concurrent object oriented system based on C++'. Together they form a unique fingerprint.

Cite this