Supporting Machine Independent Parallel Programming on Diverse Architectures
International Conference on Parallel Processing (ICPP) 1991
Publication Type: Paper
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 NUMA (Non Uniform Memory Access) machines like the BBN TC2000. It is also 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.
W. Fenton and B. Ramkumar and V.A. Saletore and A.B. Sinha and L.V. Kale, "Supporting Machine Independent Programming on Diverse Parallel Architectures", Proceedings of the International Conference on Parallel Processing, pp. 193-201, St. Charles, IL, August 1991.