Mustang (mustang.tacc.utexas.edu) is an SGI Prism running eight Intel Itanium2 processors at 1.65 GHz with 96 GB of shared memory. It is equipped with four ATI FireGL graphics cards with 256 MB of memory each. Mustang is a high-end workstation-class machine intended to be used for highly demanding graphics jobs with relatively modest CPU demands.
The graphics capabilities are used from the ACES Visualization Lab. It is currently configured for mono and stereo display on the front screens in the lab as described on the Vislab user guide.
Mustang is the replacement machine for Milagros, our SGI Onyx 2 system. Current active users of Milagros will be expected to migrate to Mustang by July 18, 2007, when Milagros will be decommissioned. This section contains instructions on how to complete this migration.
| Timeline | |
| June 4, 2007 | Users may begin requesting accounts for Mustang. |
| June 18, 2007 | Friendly migration period begins, users may log on and use Mustang. |
| July 18, 2007 | Milagros is taken offline. |
Any user wanting access to Mustang will have to request an account through the allocations page on the TACC User Portal. This process is the same as for any other resource. Current users of Milagros will not be automatically granted an account on Mustang, but must request one and will promptly be granted one. Your password and user name on Mustang will be the same as on Milagros.
When users log on for the first time, your $HOME storage spaces should be empty (except for hidden system files and perhaps a README). $ARCHIVE will not be mounted on Mustang. Instead, users must use rcp/scp to access Archive. Instructions can be found in the Archive usage guide Files in $WORK should be as they were on Milagros and do not need to be copied.
Your files from the $HOME file system on Milagros, however,
will be temporarily available on Mustang at $MILAGROS_HOME/. Files in this
location need to be copied to another file system on Mustang
($HOME, $WORK, or $ARCHIVE) during the
transition period. After your data has been copied, please delete the data in $MILAGROS_HOME. Milagros' file system will not be permanently available
on Mustang.
Users who have files under milagros:/work1/ will first need to log in to Milagros to
copy that data either into $ARCHIVE or onto their
$HOME or $WORK spaces before moving it
onto Mustang as described above. This storage will not be directly available
on Mustang.
Mustang is a very different machine than Milagros, despite the fact that they are both from SGI. Both the operating system and microprocessor architecure are different. This means that not all tools and applications on Milagros are available on Mustang, and that any software developed on Milagros will need to be recompiled to run on Mustang. The migration period gives users time to move their software and recompile it on Mustang while still having Milagros accessible for reference and comparison.
Once you receive your account information, your first step is to login to
the system via Secure Shell (ssh). Once you've successfully
logged in, you should immediately change your password using the command
passwd if you were issued a temporary password with your
account. You may then set up your shell environment as you like. For details on how
user environments are initially configured, and for details on the login
process, the following documents should be useful.
The file system on Mustang has two different storage volumes that have
distinct characteristics. This is to facilitate different storage needs
simultaneously. The paths to these storage locations are identified by the
shell environment variables $HOME and $WORK. The following table is intended to break down the
general features of each storage system and give an idea of their fitness for
a particular purpose.
| Storage Volume | Size | Performance | Persistence |
$HOME | 500 MB Quota | Slow | Long Term, Backed Up |
$WORK | Large | Fast | Short Term |
For users migrating from Milagros, your home directory files from Milagros
should be available at $MILAGROS_HOME. Be sure to copy this data
onto one of the three file systems permanently mounted on Mustang during the
transition period, as described in the Migration
Guide.
TACC's visualization systems run different operating systems and are built on different microarchitectural standards. Having a variety of computing platforms provides many advantages, but has disadvantages as well. One disadvantage is that code typically must be recompiled for each target platform. Each platform generally has two sets of compilers: the GNU compilers and associated tools, and the vendor-specific compilers that target that specific platform. The GNU compilers provide consistency from one machine to the next, and are very widely available, stable, and relatively easy to use. However, if your application requires optimal performance, or makes use of platform-specific features unsupported by the GNU compilers, then the vendor-specific tools are the appropriate choice. This section overviews the compilers common to all of TACC's visualization resources.
The Intel Compiler (icc) version 9.1 is available on Mustang
and is the default compiler on the system. Vendor-specific compilers are
generally capable of better optimization than generic compilers such as GNU,
so for maximum performance, this compiler should be used. See Intel's documentation
page for highly detailed information about how to use the compiler and
what optimizations it provides. This compiler accepts most of the more
commonly used command line options as the GNU compiler, plus some additional
optimization flags specific to the Intel Itanium2 architecture.
| Argument | Description |
-fast [fileName] | Specify the name of the output file. |
-parallel | Enable automatic thread-level parallelization. |
-mtune=itanium2 | Enables optimizations specific to the Itanium 2 architecture. |
-IPF-fltacc | Enables optimizations that may sacrifice floating point accuracy. |
-IPF-fp-relaxed | Enables the use of faster, but less accurate floating point division and square root. |
The GNU C/C++ compiler, (gcc/g++) is one of the
most widely used compilers and is considered very stable and
effective. Version 3.3 is installed on Mustang and details on its usage can be
found in the man pages by giving the command man
gcc, and also on the GNU website's user guide. The most commonly used command like arguments
and options are given in the table below.
| Argument | Description |
-o [fileName] | Specify the name of the output file. |
-g | Compile the code with debugging symbols. Necessary for debugging with gdb |
-O1, -O2, -O3 | Specify differing degrees of optimization. |
-c | Compile only, do not link into an executable. |
-l[libName] | Specifies a static library to link to. Note the absense of a space between the 'l' and the name. |
The primary advantage offered by TACC's high-performance computing resources is parallelism - the use of multiple processors or hardware resources simultaneously on a single problem. Unfortunately, software does not often take advantage of this capability automatically. Applications typically must be designed by the programmer specifically with parallelism (and a particular architecture) in mind.
TACC's Visualization resources each provide one of two hardware models for
parallelism. The first (and easiest to use) is the shared memory
processing or symmetric multi-processing (SMP) model. Standard
C/C++ libraries such as pthreads or OpenMP are
based on this model and are available on our SMP machines. The second
programming model for concurrency is based on message passing. Cluster
architectures do not support shared memory between compute nodes, and
synchronization therefore must be achieved by message passing (rather than
shared variables). The standard API or library for this is MPI.
Mustang is a shared memory architecture, and therefore uses the shared
memory model of concurrency. Use pthreads or OpenMP
to get the best performance from your code on Mustang.