Design and implementation of MPI on Puma portals Page: 1 of 9
This article is part of the collection entitled: Office of Scientific & Technical Information Technical Reports and was provided to UNT Digital Library by the UNT Libraries Government Documents Department.
Extracted Text
The following text was automatically extracted from the image on this page using optical character recognition software:
CO/'F- 907/:1 3
sNtA-)73E
Design and Implementation of MPI on Puma Portals *
Ron Brightwell
Lance Shuler
Massively Parallel Computing Research Laboratory
Sandia National Laboratories
Albuquerque, NM
{bright,shuler}@cs.sandia.govAbstract
As the successor to SUNMOS [8], the Puma operating
system provides a flexible, lightweight, high performance
message passing environment for massively parallel com-
puters. Message passing in Puma is accomplished through
the use of a new mechanism known as a portal. Puma is cur-
rently running on the Intel Paragon and is being developed
for the Intel TeraFLOPS machine.
In this paper we discuss issues regarding the develop-
ment of the Argonne National Laboratory/Mississippi State
University implementation of the Message Passing Interface
standard on top of portals. Included is a description of the
design and implementation for both MPI point-to-point and
collective communications, and MPI-2 one-sided communi-
cations.
1. Introduction
1.1. MPICH
MPICH is a portable implementation of the Message
Passing Interface (MPI) [3] standard developed jointly by
Argonne National Laboratory and Mississippi State Univer-
sity. MPICH contains an abstract device interface (ADI)
upon which a high-level message passing application pro-
grammer interface such as MPI can be implemented. The
ADI performs four main functions[6]: sending and receiv-
ing, data transfer, queueing, and device-dependent func-
tions.
Porting MPICH to an architecture such as the Paragon
involves the creation of new "device" that interacts with the
ADI through a set of routines (see [5] for details) and han-
dles. These handles are used to cache device specific data
'his work was performed at Sandia National Laboratories, oper-
ated for the U. S. Department of Energy under contract No. DE-ACO4-
94AL85000.
DISTRIBUTlON OF THIS DOCUMENT IS UNUM TEDto pass information between the device independent and de-
vice dependent layers of MPICH.
1.2. Puma and Portals
Puma is an operating system designed to provide a flexi-
ble, lightweight, high performance message passing envi-
ronment for massively parallel computing[11]. Message
passing in Puma is accomplished through the use of por-
tals, which are structures that inform the kernel how and
where incoming messages should be deposited. Each ap-
plication is allotted a finite number of portals in a portal
table, and each entry in the portal table has an associated
memory descriptor which describes how the memory is ar-
ranged. Messages destined for a particular portal table entry
are deposited according to the type of memory descriptor
attached to it. Additionally, matching lists may be attached
to a portal table entry in order to provide further selection
criteria for messages destined for a particular portal. Each
match list entry contains 64 match bits and 64 ignore bits.
The ignore bits can be used to mask off insignificant match
bits. These matching lists in turn have memory descriptors
associated with them. There are four basic types of memory
descriptors.
The most basic is the single block memory descriptor,
which describes a single contiguous block of memory. Mes-
sages destined for a portal with single block memory de-
scriptor attached may be deposited anywhere within this
single contiguous region.
A dynamic block memory descriptor describes a con-
tiguous block of heap memory. The Puma kernel main-
tains a list of free memory blocks and a list of messages
that have arrived. Messages destined for a portal with a dy-
namic block memory descriptor attached will be deposited
in the first available space within this heap, and the message
will be added to the end of an incoming message queue.
The independent block memory descriptor describes a
table of possibly noncontiguous buffers. An independent
MASTER
Upcoming Pages
Here’s what’s next.
Search Inside
This article can be searched. Note: Results may vary based on the legibility of text within the document.
Tools / Downloads
Get a copy of this page or view the extracted text.
Citing and Sharing
Basic information for referencing this web page. We also provide extended guidance on usage rights, references, copying or embedding.
Reference the current page of this Article.
Brightwell, R. & Shuler, L. Design and implementation of MPI on Puma portals, article, July 1, 1996; Albuquerque, New Mexico. (https://digital.library.unt.edu/ark:/67531/metadc665826/m1/1/: accessed April 25, 2024), University of North Texas Libraries, UNT Digital Library, https://digital.library.unt.edu; crediting UNT Libraries Government Documents Department.