| GPSHMEM:
Application to Kernel Benchmarks
SHMEM has become a de facto standard for the data passing,
distributed shared memory programming model. SHMEM routines
minimize the overhead associated with data passing requests,
maximize bandwidth, and minimize data latency. Many vendors
have packaged their implementation of SHMEM with their systems,
but those implementations are still tightly coupled to vendor-specific
hardware. The Generalized Portable SHMEM (GPSHMEM) library
is poised to achieve for the data passing model what the portable
implementations of MPI have done for the message passing model.
GPSHMEM aims to provide SHMEM’s functionality and at
the same time achieve portability across as many platforms
as possible, including IBM SP systems and clusters running
Linux, FreeBSD, and other UNIX-like systems (Figure 5).
 |
|
 |
|
| Figure
5 Implementation of the GPSHMEM library.
GPSHMEM’s portability is achieved by the use of
the Aggregate Remote Memory Copy Interface (ARMCI) and
its ability to use several message-passing libraries. |
|
To test the performance of GPSHMEM and its viability as a
programming model, Parzyszek and Kendall ported three kernels
from the Stanford Parallel Applications for Shared Memory
(SPLASH-2) benchmark suite—FFT, radix sort, and LU factorization—and
tested the GPSHMEM implementation of these codes on the IBM
SP and on a Linux cluster. The measured performance of the
GPSHMEM codes mapped directly to the performance of the underlying
hardware and software available, and scalability was as expected.
Ongoing development of GPSHMEM is being done in cooperation
with the Center for Programming Models for Scalable Parallel
Computing
INVESTIGATORS
R. A. Kendall and K. Parzyszek, Ames Laboratory.
PUBLICATION
K. Parzyszek and R. A. Kendall, “GPSHMEM: Application
to kernel benchmarks,” Proc. 14th IASTED Internatl.
Conf. on Parallel and Distributed Computing and Systems (PDCS
2002), Cambridge, MA, November 2002.
URL
http://www.pmodels.org/ |