Live Webcast 15th Annual Charm++ Workshop

Supporting Machine Independent Parallel Programming on Diverse Parallel Architectures
International Conference on Parallel Processing (ICPP) 1991
Publication Type: Talk
Repository URL:
The Chare kernel is a run time support system that permits users to write machine independent 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. The programmer is responsible for the dynamic creation of processes and exchanging messages between processes. The kernel assumes responsibility for when and where to execute the processes, dynamic load balancing, and other “low” level features. The language also provides machine-independent abstractions for information sharing which are implemented differently on different types of machines.

The language has been implemented on both shared and nonshared memory machines including Sequent Balance and Symmetry, Encore Multimax, Alliant FX/8, Intel iPSC/2, iPSC/860 and NCUBE/2, and is being ported to a network of Sun workstations. We discuss the salient features of the implementation of the kernel on the three different types of architectures.
Research Areas