ARSC HPC Users' Newsletter 324, September 9, 2005

ARSC User Training and Physics 693

Classes have begun at UAF and ARSC staff along with the UAF Physics department are once again teaching Physics 693. The Core Skills for Computation Science class serves as an introduction to the basic skills required to operate in a modern high performance computing environment.

ARSC users are encouraged to attend any lecture the would find beneficial. Physics 693 lectures are the only formal ARSC user training scheduled for this fall.

The following classes will be taught in the next two weeks.

Date Topic Lecturer
09/13/2005 Writing Batch Scripts Lee Higbie
09/15/2005 Introduction to Fortran, Part 1 Lee Higbie
09/20/2005 Introduction to Fortran, Part 2 Lee Higbie
09/22/2005 Visualization and Complex Data Presentation, Part 1 Roger Edberg

Classes occur in the West Ridge Research Building (WRRB) Room 009 on Tuesday and Thursday from 9:15 - 11:15AM.

For a complete schedule visit the Core Skills class website at http://www.arsc.edu/~cskills

X1: Executing OpenMP Programs

Launching an OpenMP application on the X1 using the aprun "-d <<NUM_THREADS>>" option, for instance (for a program compiled in SSP-mode):

$ aprun -d 16 ./omp.SSP.a.out

can result in profoundly faster execution than launching it with:


  $ export OMP_NUM_THREADS=16
  $ aprun ./omp.SSP.a.out

The latter method doesn't inform the scheduler of the number of threads (processors) you want. To the scheduler, it looks like a 1-SSP job. On busy klondike, this will almost certainly result in your job sharing a node with other programs, and running its 16 threads on fewer than 16 SSPs.

Here's Cray's relevant bit of documentation, taken from the "Cray Fortran Compiler Commands and Directives Reference Manual":


--------------------------------------------------------------
6.5. OpenMP Program Execution

The -d depth option of the aprun command is required to reserve more
than one physical processor for an OpenMP process. For best
performance, depth should be the same as the maximum number of threads
the program uses. This example shows how to reserve the physical
processors:

aprun -d depth ompProgram

If the program is compiled for MSP mode, depth must be less than or
equal to 4; for SSP mode less than or equal to 16. If depth is not
specified, the aprun command defaults depth to 1.

If the OMP_NUM_THREADS environment variable is not set, the program
behaves as if OMP_NUM_THREADS is set to the same value as depth.

The aprun options -n processes and -N processes_per_node are compatible
with OpenMP but do not directly affect the execution of OpenMP
programs.

Storage Management

ARSC has two Sun Fire 6800 systems which act as the hosts for the long term filesystems ($ARCHIVE). The system "nanook" acts at the archive host for SGI systems and iceflyer, while "seawolf" acts as the host for klondike and iceberg. The Sun package which manages the archive filesystem is called SAM-QFS.

When a file is written to $ARCHIVE it will automatically be written to two different tapes after an hour or so. Eventually the on-disk copy of the file may be released from disk leaving only the tape copies. Should the file be accessed in the future it will automatically be retrieved from tape and restored to disk. Since $ARCHIVE is NFS mounted on most systems you might not ever need to log into the Sun storage systems. On the other hand, since files can be offline the $ARCHIVE filesystem acts differently than normal disk filesystems. Here are some things which can improve the responsiveness of $ARCHIVE.

  • Use tar files when possible to avoid storing many small files. There is a significant amount of overhead associated with each tape mount, using a single file reduces the number of tape loads, etc.
  • If you need to copy files from $ARCHIVE to a remote system, connect directly to the archive host. This eliminates an NFS connection (e.g. between iceberg and seawolf). e.g. krcp -r "user@seawolf.arsc.edu:/archive/u1/uaf/user/data" . In place of: krcp -r "user@iceberg.arsc.edu:/archive/u1/uaf/user/data" .

    NOTE: you may need to request that your account be activated on seawolf or nanook.

  • Users with large amounts of data to move may benefit by using the SAM-QFS "stage" command which is available directly on the archive hosts.
  • See > http://www.arsc.edu/support/howtos/storage.html for a list of common SAM-QFS commands and examples of the stage command.

Fall "Discovery Tuesdays" Schedule

This fall ARSC is trying a new approach for the popular "Discovery Tuedays" series. Each session will begin with a one hour lecture starting at 2 PM followed by open lab time until 7 PM. All sessions will be broadcast over the Access Grid.

ARSC User Consultants, staff, graduate students and visiting speakers will be on location to discuss how you can take advantage of the lab resources for your research or to assist with an existing project.


September Sessions:
    13: Introduction to the Discovery Lab
    20: Discovery Lab Operator Training
    27: Programming and Software Packages

October Sessions:
    04: Intro to Amira
    11: Elegant Art / Funky Programming

The Discovery Lab is located in the Rasmuson Library Room 375C.

If you have an idea for a future "Discovery Tuesdays" event or for more information on scheduled events contact Bob Huebert at huebert@arsc.edu or Jenn Wagaman at wagaman@arsc.edu.

Quick-Tip Q & A


A: [[ I have about 25 login names and passwords for various web sites 
   [[ I use.  The web sites include everything from free subscriptions 
   [[ and chat groups to (horrors!) on-line banking and investing.  The 
   [[ security required isn't at the level of my HPC accounts, but it's 
   [[ still important.
   [[ 
   [[ A few practical suggestions for managing all these names and
   [[ passwords would be appreciated.

#
# Thanks for Bob Moench for the following solution.
#

I use a Palm Tungsten C for a variety of reasons. One such
reason is to keep all those account/passwords in check. A
simple GNU utility called 'Keyring' stores that type of
information in an encrypted fashion. For me, a password is
just a couple of button pushes away.

To augment the above solution I selected a relatively unique
user id that I attempt to use as my default first choice
everywhere I sign up. For low security situations I use a
good password, but use the same one for all those sites.
I can usually just try those default values for the run of
the mill sign on and don't even need to look it up.

#
# Thanks to Ed Kornkven for this solution
#

A really nice application for handling passwords is "EZ Password
Manager" from http://www.northwind-tech.com/ .  It not only keeps a
database of your passwords, it has other nifty features like the
ability to match the web page you're browsing with its database entry
and paste the username and password fields using hot keys.
Unfortunately, it only runs under Windows.  On the Mac, I use the
Apple-supplied "Keychain" app but it's not as nice in my opinion.



Q:  Here's a Fortran DO loop and a print statement:

       DO I = N, M, L
        ...
       ENDDO
       
       PRINT*, "Value of  I, after the loop terminates: ", I

Assuming the loop executes all iterations specified (e.g., it doesn't
contain any "EXIT" statements), can you precompute the value which will
be printed for I?   And it is?

[[ Answers, Questions, and Tips Graciously Accepted ]]


Current Editors:
Ed Kornkven ARSC HPC Specialist ph: 907-450-8669
Kate Hedstrom ARSC Oceanographic Specialist ph: 907-450-8678
Arctic Region Supercomputing Center
University of Alaska Fairbanks
PO Box 756020
Fairbanks AK 99775-6020
E-mail Subscriptions: Archives:
    Back issues of the ASCII e-mail edition of the ARSC T3D/T3E/HPC Users' Newsletter are available by request. Please contact the editors.
Back to Top