Login to PAWS
Baton Rouge, Louisiana | Monday, November 23rd, 2009
LSU Header

Pelican Getting Started Guide


What is Pelican?

Pelican (formerly known as Casper) is a 34 node IBM pSeries (Power 4, 5 & 5+) cluster running the AIX operating system. 30 IBM Power5 p575 nodes are coupled with high perormance switch interconnects suitable for parallel computing while others are isolated machines suitable for interactive use or the execution of sequential programs. Pelican has been designed to allow machines to change roles as user demands change and as more computational resources become available.

Accessing Pelican

The Pelican cluster can be accessed using the domain name pelican.lsu.edu.
Connecting to Pelican requires the use of client software that supports the Secure Shell (SSH) protocol. Pelican does not accept incoming connections from known insecure protocols such as ftp, telnet, or the "R" commands (rlogin, rsh, etc).

LSU-HPC supports the OpenSSH client, SSH.COM's commercial client and the open source Windows client Putty. page.

Using a command-line SSH client

Example session using the OpenSSH command-line client:
root@peg304 (/)# ssh -l honggao pelican.lsu.edu

Warning: Permanently added the RSA host key for IP address '204.90.47.12' to the list of known hosts.

NOTICE: This is the Louisiana State University computer system, which may be
accessed and used only by authorized persons. LSU reserves the right to review
and/or monitor system transactions for compliance with its policies and/or
applicable law. Upon reasonable cause, LSU may disclose such transactions to
authorized persons for official purposes, including criminal and other
investigations, and permit the monitoring of system transactions by law
enforcement agencies. Access or use of this computer system by any person,
whether authorized or unauthorized, constitutes consent to these terms.

honggao@pelican.lsu.edu's password:
honggao@peg304-pelican(/home/j8/honggao)$


Using SSH.COM's Windows Client

For users connecting from a Microsoft Windows system using SSH.com's SSH client:
SSH Server Signatures

One noteable detail of the SSH Protocol is that SSH servers will supply a signature of it's encryption key to client software upon connection. This provides a measure of protection from domain name hijacking as the SSH client will warn if the signature of the server has changed since the previous connection attempt. When making an initial connection to Pelican, users will be prompted with a message similar to the following:
The authenticity of host 'pelican.lsu.edu (204.90.47.12)' can't be established.
RSA key fingerprint is 10:bb:4d:cd:45:c6:25:8c:f3:79:71:b0:83:99:9c:ff.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'pelican.lsu.edu,204.90.47.12' (RSA) to the list of known hosts.
New Pelican users should answer "yes" to import the SSH server signature.

User Environment

Passwords

New users should change their initial password as soon as possible after receiving a Pelican account. The use of a strong password is highly encouraged: passwords may be a maximum of 8 characters in length and can be composed of alphanumeric and special characters, eg: @, #, %, &.

The strongest passwords incorporate one or more of each character type, such that digits, alphabetic characters and special characters are each incorporated into it. Do not use common words and phrases (aka "dictionary" words, susceptible to the common "dictionary" attack), or passwords with an obvious personal meaning, such as birthdays and other significant dates, a spouse or child's name, etc. Finally, passwords should be changed on a regular basis and should not be reused amongst different systems.

Computing has changed dramatically over the past decade and there are many simple to use programs that can allow an unskilled intruder to exploit an account without any real technical knowledge. We at LSU-HPC will do our best to ensure that Pelican is a secure computing environment but it is in each user's best interest to use a strong password, change it frequently and keep it to themself.

Pelican users can change their password throught https://accounts.hpc.lsu.edu/uadmin.php or with the command when you logon Pelican:

passwd

Forgotten passwords can be reset via https://accounts.hpc.lsu.edu/balances.php by clickiing 'Forgot your password?'

Filesystems

/home

Upon logging into Pelican, users are placed in their home directory. User home directories have a storage limit of 5GB via disk quotas. Users exceeding the 5GB limit will be unable to allocate any additional storage until removing preexisting data within their home space.

A user's home directory is "global" within Pelican, available from every node. Home directories are backed up nightly allowing for the restoration of files that have been accidentally deleted or in the event of a disk failure.

/work

In addition to individual home directories, Pelican users have access to the directory /work/default. Each user has a storage quota of 50GB within this filesystem.

Like the home directory space, files located under /work/default are backed up nightly.

As with /home, the /work filesystem is global within Pelican, available on every node. Given the global scope, /work is a suitable space for the execution of user jobs. User's desiring to use work in such a way should change directory to /work/default/your_user_name that space:
jdoe@peg304 (/home/jdoe)$ cd /work/default/jdoe
jdoe@peg304 (/work/default/jdoe)$
In an effort to maximize data storage, files stored within these directories are eligible to be transparently migrated to tape. The files will still exist on the disk in the form of a "stub" file that will respond normally to the typical Unix filesystem commands, such as ls, but attempts to access the data within the file will trigger a restore of the data from tape, increasing the access time significantly.

/scratch

Each Pelican node possesses local disk space allocated to the /scratch filesystem that is used to temporarily store files during the execution of user jobs. As the /scratch filesystem is intended to store files related to a job during that job's execution, files written to it will be deleted following the completion of the job.

Shells


By default, Pelican users will have the Bourne Again shell (bash) defined as their shell attribute. Users can use the chsh command to change their shell.

Editors

The following text editors are available: vi, pico, emacs, vim and xemacs.

Building Programs

Building Serial Executables


This section of the User's Guide describes the tools that users will employ to compile programs to run on the interactive nodes (ian) or on the batch execution nodes (ben) . Please note that any program that is run on the interactive nodes is strictly limited to 30 minutes of CPU time. Any executable that accumulates more CPU time than this will be killed and a notification mailed to the PAWS account. Programs requiring more computational resources than are available from the interactive nodes should be run on the batch execution nodes through LoadLeveler.

You have a wide selection of compilers and programming languages at your disposal in Pelican. The languages that should produce the best performance for you are the Fortran and C languages (and perhaps C++ as well). The compilers that will take best advantage of the IBM RISC architecture should be the XL Fortran compiler family from IBM and the C and C++ compiler set also from IBM.

Some simple examples of compiling source files.

To compile the C language program hello.c and name the executable hello you would enter
Pelican$ xlc hello.c -o hello

And similarly, to compile a C++ language program, hello.C and name the executable hello you would enter
Pelican$ xlC hello.C -o hello

And finally, to do the equivalent task in Fortran
Pelican$ xlf hello.f -o hello

In addition to the IBM compiler packages we offer the GNU gcc compiler package to support users who may have programs written to run in other environments. The gcc compilers have been built specifically for the RS/6000 - AIX environment although the programs produced by them may not execute as quickly as code compiled with the IBM compilers. The gcc compiler package includes compilers for C, C++, objective C,and Fortran (g77)

Building Parallel Executables


Building parallel applications to run on Pelican must be done with IBM tools which are accessed through the Parallel Environment software package. The user interface to the Parallel Environment is called the Parallel Operating Environment or POE for short. You may write applications that use explicit message passing calls from either MPI (the Message Passing Interface), which offers the greatest portability between computing environments, or IBM's own Message Passing Library (MPL). The IBM compilers also support some parts of the OpenMP directive set for building multi-threaded applications as well as proprietary calls and compiler directives for building multi-threaded programs.

For most users, the process of compiling a parallel program will not seem much different from the process of building a sequential executable. The hard work will be in writing the code successfully! The Parallel Operating Environment package provides a few script files that, depending on what sort of executable you want to build, automatically sets the necessary include and library paths for your program to compile correctly.

Some simple examples of compiling MPI source files.

To compile the parallel C language program hello_p.c and name the executable hello_p you would enter
Pelican$ mpcc hello_p.c -o hello_p

And similarly, to compile a C++ language program, hello_p.C and name the executable hello_p you would enter
Pelican$ mpCC hello_p.C -o hello_p

And finally, to do the equivalent task in Fortran
Pelican$ mpxlf helloi_p.f -o hello_p



Working With LoadLeveler

You can not log into or in any other way directly run programs on any node except for the interactive nodes. So, how do you get anything useful done? You request computer resources to run your programs from the LoadLeveler system. LoadLeveler is a queueing system that distributes jobs, runs them and manages the resources within Pelican.

The following table lists the queues (classes), the time limits for jobs and the nodes enrolled in servicing each queue. The time limits are wall clock time and time spent waiting in the queue to run does not count towards the time limit. LoadLeveler uses the term 'class' in the same way that most people use the term queue. Throughout this guide, and when working with LoadLeveler, you should consider the two terms to be interchangeable.

Job Class Characteristics in Pelican


Class Name Class Description Time Limit Maximum Tasks Nodes servicing class and Architecture
SB5LSequential job 12 hours24pen17-pen20, Power5
LB5LSequential job 336 hours (2 weeks) 20pen17-pen20, Power5
SB4LSequential job 12 hours 8ben2-ben3, Power4
LB4LSequential job 336 hours (2 weeks) 6ben2-ben3, Power4
MP5LParallel job class168 hours (1 week)128pen01-pen30, Power5 and Power5+
LP5LLong Parallel job class336 hours (2 week)64pen01-pen30, Power5 and Power5+
SP5LShort Parallel job class4 hours256pen01-pen30, Power5 and Power5+

Submitting Jobs

You can submit your compiled jobs or other jobs (SAS, Matlab, etc..) to the above job classes using command spsubmit and llsubmit.


1. Using the spsubmit command

2. Examples of using llsubmit

3. LoadLeveler Commands Reference and Tips


A more detailed Pelican User's Guide and other Pelican support guides can be found here.