Everybody should start here. Find a terminal program. On Linux or Macintosh systems, terminals are provided (on Mac, look under Utilties). In our experience, these terminals will be SSH-aware (compatible with KU sercurity requirements). For Windows, there is a free terminal program called Putty (http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html). Windows Putty offers a graphical menu interface to launch a session. From the command line, a session can be initiated by running
$ ssh email@example.com
If the user's login name on the workstation is the same as the login on the cluster, then it is not necessary to supply a user name, as we demonstrate here:
|Windows Putty||Linux or Mac|
When the connection is established, the user receives information about the recent changes to the computing cluster:
When you are finished, end the session by typing
If you are not finished, keep going to the next step.
Go from the Login Node to a Compute Node
Don't plan to do much work on the login nodes. They don't hold all of the same software you want and the administrators do not want them to be bogged down by calculations. Instead, go from the login node to a compute node. The command to ask for 1 node with 1 processor (core) on that node would be
$ msub -X -I -l nodes=1:ppn=1,pmem=2048m
This asks for graphics X11 forwarding (-X; more about that later). The memory can also be specified as "2gb". To ask for several cores on 1 node (test multicore project), run
$ msub -X -I -l nodes=1:ppn=5,pmem=2048m
It is not necessary, but you can specify a queue
Interactive jobs can be run on any queue. By default, they go to the nodes owned by the user's "group" (which, in our case is 'crmda'). The default queue is displayed at login in the user message and it can also be retrieved by running
. If you wish to run on a node that is not in your owner group, you will then need to specify the queue. The 'sixhour' queue is a popular alternative:
msub -X -I -l nodes=1:ppn=5,pmem=2048m -q sixhour
One can specify a particular node, "g001", with a request like (assuming the node g001 is available to the sixhour queue):
msub -X -I -lnodes=g001:ppn=1 -q sixhour
qxlogin and qlogin: shortcuts
Most of the time, researchers want an interactive session in order to edit files and do small-sized computations. We want them to use only the minimum size of the computing resource. The CRC administrators created simple shortcuts to ask for just a single core on a randomly chosen node.
if you do not need X11 forwarding and
if you do want X11 forwarding.
What is X11 Forwarding?
X11 can transfer display windows from the compute node to the user workstation. It does not show a "whole desktop", just individual windows.
This requires the user workstation have an X11 display server. Linux workstations generally include and X11 server, while Mac and Windows systems do not. Installing an X11 server on Mac is fairly easy (see http://crmda.ku.edu/mac-admin-tips). On Windows, this is more difficult. If we have the networking setup working right, you can log in on hpc.crc.ku.edu, and from there you go to a compute node ("qxlogin"), and then, magically, the programs you launch on the compute node are displayed as windows on your workstation.
For more about X11, see Graphical Programs on an XServer. It includes some movies that demonstrate the use of an X11 server on an MS Windows system.
On an X11 enabled workstation, a user will open a terminal, and then launch an SSH session with the -X flag:
$ ssh -X <username>@hpc.crc.ku.edu
This enables the forwarding of the X11 display from hpc onto the user's computer. It is something of a "tunnel". Once you log into hpc.crc.ku.edu, then you can open a session in a compute node, and then the programs you start there will display on your workstation.
Users log in at hpc.crc.ku.edu, and then run:
and then they are "in" a compute node where they can launch programs that will display their windows on the user's computer.
After reacing a compute node, then any GUI program that is launched will be "forwarded" back to the user's workstation. If the editor Emacs is available, for example, fun this:
$ emacs &
The & at the end of the command "frees the terminal" to run more commands.
Installing X11 On Mac and Windows
We have exerted quite a bit of effort testing out various X11 Display Servers that can be added on a Windows computer. In the end, this is still a difficult thing and most Windows users need quite a bit of practice to become comfortable with it. In case you want to try, the program we have used is called
Viewpoint: A Browser-based Alternative
Viewpoint is a Web-interface to the cluster offered by (the Center for Research Computing). RemoteViz is a remote desktop experience offered by Viewpoint. CRC offers (instructions. Users should be aware that no more than 10 users can have an active RemoteViz sessions at a single time.
After Connecting, what Next?
Is that Everything?
The final bit of information is about where users are supposed to keep files. This is new policy in the new CRC cluster.
User home folders, the default login folder, is not the correct place to store programs and data. Instead, each user is afforded a directory in a folder referred to as $WORK, a UNIX alias for the place where the user group members have individual folders. For the CRMDA, the $WORK folder is "" and users who want to go to their folder in $WORK can simply run
$ cd $WORK
Observe, when I begin, I am logged in, my working directory is printed as "/home/pauljohn"
$ pwd /home/pauljohn
But if I change to the $WORK directory, I see
$ cd $WORK $ pwd /panfs/pfs.local/work/crmda/pauljohn
Some users ask, "how can it be that I log in on different compute nodes but I see all the same files in my HOME or the WORK directory." This is the magic of NFS, the "network file system." All compute nodes have their own hard disk storage (note that "/tmp" is within each node), but folders like /home, $WORK, and $SCRATCH are not "inside" the compute node, they are on a shared disk drive.