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.