Elsevier Science Home
Computer Physics Communications Program Library
Full text online from Science Direct
Programs in Physics & Physical Chemistry
CPC Home

[Licence| Download | New Version Template] aeef_v2_0.tar.gz(180 Kbytes)
Manuscript Title: Improved Version of Parallel Programming Interface for Distributed Data with Multiple Helper Servers
Authors: Manhui Wang, Andrew J. May, Peter J. Knowles
Program title: PPIDDv2
Catalogue identifier: AEEF_v2_0
Distribution format: tar.gz
Journal reference: Comput. Phys. Commun. 182(2011)1502
Programming language: Fortran, C.
Computer: Many parallel systems.
Operating system: Various.
Has the code been vectorised or parallelized?: Yes. 2 - 512 processors used.
RAM: 50 Mbytes
Keywords: MPI, Parallel.
PACS: 07.05.Bx, 07.05.Tp.
Classification: 6.5.

External routines: Global Arrays or MPI-2

Does the new version supersede the previous version?: Yes

Nature of problem:
Many scientific applications require management and communication of data that is global, and the standard MPI-2 protocol provides only low-level methods for the required one-sided remote memory access.

Solution method:
The Parallel Programming Interface for Distributed Data (PPIDD) library provides an interface, suitable for use in parallel scientific applications, that delivers communications and global data management. The library can be built either using the Global Arrays (GA) toolkit, or a standard MPI-2 library. This abstraction allows the programmer to write portable parallel codes that can utilise the best, or only, communications library that is available on a particular computing platform.

Reasons for new version:
In the previous version, functionality in global data structure was mainly implemented by MPI-2 passive one-sided operations. In real applications which make heavy use of global data structures, very poor performance was observed.

Summary of revisions:
Multiple helper servers are introduced to facilitate the manipulation and management of global data structure. Mutual exclusion is also implemented by the help of a data server, and becomes much more robust and efficient. In addition, flexible options are provided to choose different settings for helper servers. Significant improvement has been seen in performance tests.

Running time:
Problem-dependent. The test provided with the distribution takes only a few seconds to run.