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).
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).
Once you've gotten the configuration, there are several places to look for 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.
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