Abstract
To become widespread, parallel computing should be based on advanced commodity technology, and parallel languages are no exception. But parallel languages must also support a wide range of parallel programming styles, ease of programming, and high performance. We show that C++ can support a wide range of parallel programming styles without special language extensions. More concretely, we used MPC++, a parallel dialect of C++ extended using only templates and inheritance, to create a prototype class/template library which supports three kinds of parallel programming styles. We tested the library performance with representative programs in each of the programming styles.
Preview
Unable to display preview. Download preview PDF.
References
Y. Ishikawa et. al.: “MPC++,” In Gregory V. Wilson and Paul Lu, editors, Parallel Programming Using C++, pp. 427–466. MIT Press, 1996.
Y. Ishikawa: “Multiple Threads Template Library-MPC++ Version 2.0 Level 0 Document,” Technical Report TR96012, RWC, September 1996, www.rwcp.or.jp/people/mpslab/mpc++/mpc++.html.
D. Gannon et. al.: High Performance C++, www. extreme. indiana. edu/hpc++.
N. Sato, S. Matsuoka, J.M. Jézéquel, and A. Yonezawa: “A Methodology for Specifying Data Distribution using only Standard Object-Oriented Features,” Proc. ACM/IEEE Int. Conf. on Supercomputing, Vienna, Austria, pp. 116–123, 1997.
D. E. Culler et. al.: “Parallel Programming in Split-C”, Proc. Supercomputing '93, Nov. 1993.
Daniel J. Scales et.al.: "Shasta: A Low Overhead, Software-Only Approach for Supporting Fine-Grain Shared Memory,” Proc. 7 th Int. Conf. on Architectural Support for Programming Languages and Operating Systems, October, 1996.
Paul Lu: “Aurora: Scoped Behaviour for Per-Context Optimized Distributed Data Sharing,” Proc. 11 th th Int. Parallel Processing Symp. (IPPS), Geneva, Switzerland, pp. 467–473, 1997.
P. Keleher, A. L. Cox, and W. Zwanepoel: “Lazy Release Consistency for Software Distributed Shared Memory,” J. Parallel and Distributed Computing, Vol.29-2, pp. 126–141.
F. B. O'Carroll: MPIXX User's Guide, www.rwcp.or.jp/people/ocarroll/usingmpixx.html.
Kobayashi et.al.: Implementation and Performance Evaluation of Split-C on AP1000+, 2 2bd Hokke2 '95 Workshop, IPSJ SIGHPC Notes, 1995 (in Japanese).
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1997 Springer-Verlag
About this paper
Cite this paper
Matsuoka, S., Nikami, A., Ogawa, H., Ishikawa, Y. (1997). Towards a parallel C++ programming language based on commodity object-oriented technologies. In: Ishikawa, Y., Oldehoeft, R.R., Reynders, J.V.W., Tholburn, M. (eds) Scientific Computing in Object-Oriented Parallel Environments. ISCOPE 1997. Lecture Notes in Computer Science, vol 1343. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-63827-X_47
Download citation
DOI: https://doi.org/10.1007/3-540-63827-X_47
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-63827-8
Online ISBN: 978-3-540-69656-8
eBook Packages: Springer Book Archive