Abstract
OpenMP is emerging as a viable high-level programming model for shared memory parallel systems. Although it has also been implemented on ccNUMA architectures, it is hard to obtain high performance on such systems. In this paper, we discuss various ways in which OpenMP may be used on ccNUMA and NUMA architectures, and describe a programming style that can provide scalable high performance on such systems. We give an example of its use on the SGI Origin 2000, and on TreadMarks, a Software DSM system from Rice University. These results have encouraged us to work on a programming environment that provides general support for OpenMP application development and incorporates a system to translate standard loop-level parallel OpenMP code, with additionaluser input in the form of directives, into an equivalent OpenMP program relying on our alternative programming style. The equivalent program does not use constructs external to OpenMP.
This work was partially supported by the DOE under the Los Alamos Computer Science Institute and by NSF under grant number NSF ACI 99-82160. These sources of support are gratefully acknowledged.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
C. Amza, A. Cox, and et al. Treadmarks: Shared memory computing on networks of workstations, IEEE Computer, 29(2), 18–28, 1996.
J. Bircsak, P. Craig, R. Crowell, Z. Cvetanovic, J. Harris, C. A. Nelson, and C. D. Offner. Extending openMP for NUMA machines, in SC2000, Supercomputing, Dallas, 2000.
B. Chapman, J. Merlin, D. Pritchard, F. Bodin, Y. Mevel, T. Sorevik, and L. Hill. Tools for development of programs for a cluster of shared memory multiprocessors, in Proc. PDPTA‘99, CSREA Press, 1999.
B. Chapman, F. Bregier, A. Patil, and A. Prabhakar. Achieving performance under openMP on ccNUMA and software distributed shared memory systems. Concurrency: Practice and Experience, SpecialIssue on High Performance Fortran, 2001, (to appear).
X. He and L.-S. Luo. Theory of the Lattice Boltzmann method: From the Boltzmann equation to the Lattice Boltzmann equation, Phys. Rev. Lett. E, 56(6), 6811, 1997.
Kuck and Associates. KAP/Pro toolset for openMP, See http://www.kai.com/kpts/
J. Laudon and D. Lenoski. The SGI Origin ccNUMA Highly Scalable Server, SGI Published White Paper, March 1997.
D. S. Nikolopoulos, T. S. Papatheodorou, C. D. Polychronopoulos, J. Labarta, and E. Ayguadé. Is data distribution necessary in OpenMP?, in SC2000, Supercomputing, Dallas, Texas, 2000.
OpenMP Architecture Review Board. OpenMP Fortran Application Program Interface, Version 2.0, November 2000.
M. Sato, H. Harada, and Y. Ishikawa. OpenMP compiler for a software distributed shared memory system SCASH. in WOMPAT 2000, San Diego, July 2000.
Silicon Graphics Inc. MIPSPro Fortran 90 Commands and Directives Reference Manual, Document number 007-3696-003, Search keyword MIPSPro Fortran 90, http://techpubs.sgi.com/library/
A. J. Wallcraft. SPMD OpenMP vs MPI for Ocean Models, in First European Workshop on OpenMP-EWOMP‘99, Lund University, Lund, Sweden, 1999.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2001 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Chapman, B., Hernandez, O., Patil, A., Prabhakar, A. (2001). Program Development Environment for OpenMP Programs on ccNUMA Architectures. In: Margenov, S., Waśniewski, J., Yalamov, P. (eds) Large-Scale Scientific Computing. LSSC 2001. Lecture Notes in Computer Science, vol 2179. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45346-6_21
Download citation
DOI: https://doi.org/10.1007/3-540-45346-6_21
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-43043-8
Online ISBN: 978-3-540-45346-8
eBook Packages: Springer Book Archive