DOT User's Guide |
Version 1.0alpha |
Released 12/17/1998 |
Multi-processing means using two or more processors to perform a single computation. In theory, if you double the number of computers working on a set of rotations, it should take one half the time. DOT achieves this high level of performance, which makes it very worthwhile to run it on several computers at once. Simply put, if you want your result in half the time, double the number of computers for your run.
DOT takes advantage of several computers by dividing the list of rotations into several even shares. A master processor, the computer from which you launch DOT, reads the data files, replicates them on the workers, and then gives each worker a different list of rotations to compute. At the end of the run, the master collects each worker's energy values and saves the best of the best.
DOT performs well on any type of computer, as long as it has sufficient memory to avoid swapping. Memory can be shared between processors or memory can be distributed, such as on a collection of common workstations connected by EtherNet. DOT is well-suited for either type of memory.
Commonly available are collections of workstations connected by networks. Separate workstations have separate memories, so this is a distributed memory system. DOT handles input and output data by sending messages between the different computers.
Also common are multi-processor systems with shared memory, such as the multi-processor DEC Alpha SMP systems or the Sun Starfire (E10000). This class of computer has several processors within a single cabinet (perhaps several cabinets sharing a fast interconnect), and some or all of the processors share memory. Data is shared by copying it into a shared memory segment that is common to all.
Some sites have the "big-iron" parallel computers, such as the CRAY T3E, IBM SP2, Convex Exemplar, and others. These expensive special-purpose parallel computers typically have tens or hundreds of processors and fast networking that provides for quick sharing of intermediate results. DOT was developed in part at the San Diego Supercomputer Center, where many systems of this type have been used in development. Check the DOT home page for the list of supported systems.
Because DOT is built upon the widely-supported Message Passing Interface (MPI), which hides the differences between distributed and shared memory along with the differences between types of networks, you can use DOT on almost any modern computer. DOT will continue to work and be usable for many years to come because MPI will continue to be supported by a large collection of industry and academic sites.
The instructions given here for installing MPICH are over-simplified, but are adequate for running DOT. See the installation instructions supplied with MPICH for more details. This installation must be done only if the user wishes to recompile DOT, since fully-functional executables are included in the DOT distribution.
These instructions illustrate how to compile the latest version of MPICH.
% ftp ftp.mcs.anl.gov ftp> binary ftp> cd mpi ftp> get mpich.tar.Z ftp> quit % zcat mpich.tar.Z | tar xvf - % cd mpich % ./configure % make
Now that you have compiled MPICH, install it in /usr/local/mpi or in the directory of your choice as shown below.
% make install PREFIX=/usr/local/mpi
Put the following command in your .csrhc file:
set path = ( $path /usr/local/mpi/bin )