Overview

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.


Migration 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.

Accounts

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.

Files

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.

Software

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.


Quick Start

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.



File Systems

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
$HOME500 MB QuotaSlow Long Term, Backed Up
$WORKLargeFast 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.


Software Development

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.

Intel C/C++ Compiler

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.
-parallelEnable automatic thread-level parallelization.
-mtune=itanium2Enables optimizations specific to the Itanium 2 architecture.
-IPF-fltaccEnables optimizations that may sacrifice floating point accuracy.
-IPF-fp-relaxedEnables the use of faster, but less accurate floating point division and square root.

GNU C/C++ Compiler

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.
-gCompile the code with debugging symbols. Necessary for debugging with gdb
-O1, -O2, -O3Specify differing degrees of optimization.
-cCompile 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.

Parallelism and Concurrency

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.