HPF Features for Locality Control on ccNUMA Architectures

Barbara Chapman
Department of Computer Science
University of Houston

 
When HPF was designed, the community focussed on the challenge of obtaining application performance on distributed memory NUMA architectures. But in recent years, a number of vendors have built shared memory machines, and they provided a different set of features for high-level programming of such systems: OpenMP. However, large-scale "shared memory" systems are actually NUMA machines, and high performance is hard to achieve without consideration of the locality of data and computation in a code.  The lack of features for locality control in OpenMP has led to vendor-specific extensions that are partly based on HPF.
In this talk, we consider how OpenMP is currently used to develop applications for ccNUMA architectures, and what programming styles provide high performance on such machines.  We also discuss the relative strengths of both HPF and OpenMP, and how these two languages might be combined in order to provide a high-level programming language that provides for all major characteristics of ccNUMA architectures.