Interactive Sessions (Remote Desktop Displays)
Users have the choice between a web portal, a remote desktop experience, and an X11 display server when interacting with the cluster.
Viewpoint is a web portal which allows the user to submit jobs and get queue details (among other things). The Center for Research Computing provides an overview of the Viewpoint portal (http://crc.ku.edu/using-hpc#Viewpoint).
Remote Desktop Experience
Through Viewpoint, users have the option for a remote desktop experience by using RemoteViz. The Center for Research Computing provides instructions for RemoteViz (http://crc.ku.edu/using-hpc#RemoteViz). Users should be aware that no more than 10 users can have an active RemoteViz session at a single time. Requests for access will be denied if all 10 licenses are in use.
A Linux system will almost surely include an X11 display server, and then there is no work to be done. The X11 display system is no longer provided on all Macintosh OSX systems; it must be installed as a package. Please see our named Xquartz (see "About X11 and OSX" on the Apple website, where customers are directed to http://xquartz.macosforge.org).
While remote desktops display the "whole desktop" from there to here, the X11 approach is different. It does not try to show a whole desktop. Instead, it creates windows for particular programs that show "here" even though they are running "over there". An X11 Windows Server has to exist "over there" on the other computer, and one has to exist "here" in your computer, and they talk to each other. 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.
There is a more complete explanation of the idea of an X11 window server on the Linux section of this website: Graphical Programs on an X Server. It includes some movies that demonstrate the use of an X11 server on an MS Windows system. Before a remote desktop was an option, that was the only way to make this work in MS Windows. We expect most new users who are on Windows computers will think a remote desktop client is easier to set up and use. But we suspect that some long term users who enjoy the flexibility of the X11 session will stay with that method.
When a Linux user logs into hpc.crc.ku.edu with a program like ssh, say using the command line
$ 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. Try, for example:
$ emacs &
$ rstudio &
After the compute node is opened, then programs that use a Graphical User Interface can be run. For example, try this:
$ emacs whatever.R &
$ nautilus --no-desktop &
The & at the end of the command "frees the terminal" to run more commands.
Getting X11 to run on a Windows Workstation
We have exerted quite a bit of effort testing out various X11 Display Servers that can be added on a Windows computer. Some of these were very expensive, and hence were impractical for students in the University. In the end, we found an X11 server for Windows that was easy enough to install and use. It is called Xming. It can be obtained at www.straightrunning.com/XmingNotes».
Xming Xserver» is a free (or inexpensive) program. Its use is demonstrated by some multi-media presentations (yes, you can get them on youtube!). See the basic demonstrations in Xserver movie 1 » and movie 2 » . These two movies illustrate two different ways to trigger the X11 forwarding from the remote system onto the user's desktop.
Go from the Login Node to a Compute Node (qlogin, qxlogin)
If you are logged in on hpc.crc.ku.edu, you need to get to a compute node. We recommended "qxlogin" and that will work if you are on a system that has an X11 window server or if you are using the a remote desktop client to connect. If you are connected to the cluster with a plain terminal emulator and your system does not have an X11 server, just run "qlogin" instead.
What does X11 and qxlogin have to do with a remote desktop, you ask? X11 is used to transfer displays between systems within the computing cluster. It can also be used to display the same windows on your desktop. However, because installing X11 is more difficult on Windows, we suggest a remote desktop client for your computer as a GUI connector. It allows you to see a "Desktop" projected from inside the cluster. If you log in with a remote desktop client, to get to a compute node you open a terminal and run qxlogin because you need to get a graphical connection from the compute node to the login node (so it can display that back to you with the remote desktop client).
qxlogin is a Shortcut...
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 script qxlogin was originally created because researchers in CRMDA could not remember this command
$ qsub -X -I -q interactive -l nodes=1:ppn=1
That asks for one node and one processor in that node.
If the user wanted to claim 3 nodes for interactive work, for example to practice a parallel computation, one could run.
$ qsub -I -X -q interactive -l nodes=3
If You Don't Want RemoteViz, or X11, then What? Get a "Terminal Emulator"!
Use the power of the command line interface (CLI). Use Unix in the traditional way, without being distracted by mice and fancy pointy-clicky programs. Type what you want, the machine will answer you correctly.
This is pretty easy to do. For Windows, there is a free terminal program called Putty (http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html), that works fine. It doesn't even require "installation", just download "putty.exe" and double-click it. A Macintosh or Windows system includes a terminal already. The Mac or Linux user opens the terminal and and types:
$ ssh hpc.crc.ku.edu
|Windows Putty||Linux or Mac|
When the connection is established, the user receives information about the recent changes to the computing cluster:
Then get to a compute node:
The cluster is a community resource and it makes available many versions of many programs. Many users need the newest version of R, for example, while replication efforts require older versions. Users must use the module system to designate which programs--and which versions of those programs--they are attempting to use. doing. They are adding resources to the user environment, usually by adding things to the variable PATH, LD_LIBRARY_PATH, or PBS_O_PATH.
The Network Storage Device
The cluster runs on Linux, it uses Unix style file directories. As explained in our note about the way files are organized in a Linux (Or Unix, or Macintosh, actually) System, everything--all directories, files, etc, are "under" the root directory, which is "/". Programs that users can run are generally under "/usr", while administrative configurations are stored in "/etc", and so forth . User home folders are stored under "/home".
Users ought to explore this just a bit. Run the command:
$ ls /
to see the top level directories. To view the largest set of programs that can be run, try this:
$ ls /usr/bin
All compute nodes have their own hard disk storage, but the user's HOME folders are not inside those machines. User homes are actually stored on a networked file system (NFS). Whether the user is on hpc.crc.ku.edu or on any of its compute nodes, the user's home directory is the same.
The home file system can also be accessed by users who are using workstations that are not in the cluster itself. Usage of that "externally accessible cluster storage" usually requires some special software. Instructions are offered in our External Storage page.