This paper discusses several approaches to designing and implementing share
d-memory communication protocol modules for the message-passing interface (
MPI) libraries, colloquially called 'shared-memory devices', The authors pr
esent a new taxonomy for classifying designs for shared-memory MPI communic
ation devices and formulate design evaluation criteria. Using these criteri
a, the authors compare three existing shared-memory devices for MPICH and c
hoose the best one. The authors also present experimental results that supp
ort their choice.
The contributions of this paper are three-fold. First, the authors present
the taxonomy for shared-memory communication devices. Second, they show adv
antages and potential problems of the devices that belong to different clas
ses of their taxonomy using the formulated design criteria. Third, they ana
lyze communication performance of existing MPICH shared-memory devices, dis
cuss optimizations of their performance, and show the performance gains tha
t these optimizations yield. MPICH is used for comparison, since it is a wi
dely used MPI implementation. Copyright (C) 2000 John Wiley & Sons, Ltd.