The Charm Parallel Programming Language and System:Part II - The Runtime System
PPL Technical Report 1995
Publication Type: Paper
Repository URL:
Charm is a parallel programming system that permits users to write portable parallel programs on MIMD multiprocessors without losing efficiency. It supports an explicitly parallel language which helps control the complexity of parallel program design by imposing a separation of concerns between the user program and the system. It also provides target machine independent abstractions for information sharing which are implemented differently on different types of processors. In part I of this paper, we described the language support provided by Charm and the rationale behind its design. Charm has been implemented on a variety of parallel machines including shared memory machines like the Encore Multimax and the Sequent Symmetry, message passing architectures like the Intel iPSC/2, Intel i860 and the NCUBE 2, and a network of Unix workstations. The Chare kernel is the run-time system that supports the portable execution of Charm on several MIMD architectures. We discuss the implementation and performance of the Chare kernel on three architectures: shared memory, message passing, and a network of workstations.
L. V. Kale and B. Ramkumar and A. B. Sinha and V. A. Saletore, "The CHARM Parallel Programming Language and System: Part II -- The Runtime system", Parallel Programming Laboratory Technical Report, 1994.
Research Areas