Skip to main content

Towards a parallel C++ programming language based on commodity object-oriented technologies

  • Conference paper
  • First Online:
Scientific Computing in Object-Oriented Parallel Environments (ISCOPE 1997)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1343))

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Y. Ishikawa et. al.: “MPC++,” In Gregory V. Wilson and Paul Lu, editors, Parallel Programming Using C++, pp. 427–466. MIT Press, 1996.

    Google Scholar 

  2. 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.

    Google Scholar 

  3. D. Gannon et. al.: High Performance C++, www. extreme. indiana. edu/hpc++.

    Google Scholar 

  4. 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.

    Google Scholar 

  5. D. E. Culler et. al.: “Parallel Programming in Split-C”, Proc. Supercomputing '93, Nov. 1993.

    Google Scholar 

  6. 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.

    Google Scholar 

  7. 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.

    Google Scholar 

  8. 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.

    Google Scholar 

  9. F. B. O'Carroll: MPIXX User's Guide, www.rwcp.or.jp/people/ocarroll/usingmpixx.html.

    Google Scholar 

  10. Kobayashi et.al.: Implementation and Performance Evaluation of Split-C on AP1000+, 2 2bd Hokke2 '95 Workshop, IPSJ SIGHPC Notes, 1995 (in Japanese).

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Yutaka Ishikawa Rodney R. Oldehoeft John V. W. Reynders Marydell Tholburn

Rights and permissions

Reprints 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

Publish with us

Policies and ethics