MPI

Basic Concepts - Medusa

Medusa is a ``Beowulf'' featuring 32 processors named wb1 through wb32 and a dual-processor controller named medusa. The nodes were state of the art at the time the machine was built; wb1 through wb32 are all 333 MHz, 128MB Pentium IIs and medusa is a dual-processor 333 MHz, 128MB Pentium II. The nodes are connected using a high-speed network called ``Myrinet,'' which is essentially a gigabit crossbar. All the nodes run plain ol' Linux 2.0.34. As a student in a CS class, you have an account on Medusa (just like every other machine in the CS domain).

Basic Concepts - MPI

MPI (Message-Passing Interface) is a library of functions for use in building parallel processing applications. It is a successor to p4 (which I made the mistake of using in 573 last Spring). The main point about it is that it lets you define a set of computers as belonging to a ``virtual supercomputer,'' run an application or a set of applications on all of them, and communicate easily between the applications on the processors.

There is a standard mechanism for getting access to locally installed packages in the CS domain. Locally installed packages are all kept in a directory called /local, with configuration files in /local/config/cshrc.*. So, to get access to software specific to Medusa (which includes MPI), add the line

source /local/config/cshrc.medusa
to your .cshrc file (note that if you use both Linux and Solaris machines, you will have to protect this with something like this:
if ($OSTYPE == linux) then
    source /local/config/cshrc.medusa
endif
since this script doesn't exist on the Solaris machines. Also, Josh was right, and it only works with a csh-derived shell).

Documentation

Once you've gotten the configuration, there are several places to look for documentation.

WWW Documentation

Local documentation on programming Medusa, including links to external documentation about MPI, is available at the Parallel Computing Laboratory Home Page. That's probably the best place to start.

Manual Pages

The ``entry point'' to the manual pages is
man MPI
Note that the paths given in that manual page are wrong; our software is all under /local/mpi, not /usr/local/mpi as given in the manual pages. The pages also make many other statements that are specific to the University of Michigan; it will basically take some decoding to figure out the relevant translations. Especially notice that the part about adding MPI to your path is replaced


Last modified: Tue Sep 19 20:17:09 MDT 2000