Getting Started
Access to the Lotus cluster is provided through the Linux command line. You will need a working knowledge of Linux commands to get started. If you are new to the Linux operating system, you will probably want to start with the Getting Started with Linux section below.
Is this Right for Me?
The Lotus cluster can help with two general use cases:
parallel programs that are specifically designed to run a single program on multiple computers. A parallel program will be launched on multiple computers that will work and communicate together to solve a given problem. Parallel programs are usually written using a communications framework like the Message Passing Interface (MPI) and are specially designed for running on clusters.
sequential programs that can be run on a Linux system and use a single processor and don’t have any special need for parallelization. The advantage of running sequential programs on a cluster is in high-throughput computing, i.e. a researcher can run 100 different experiments simultaneously, even though each run is independent.
If you would like to discuss your computational needs and have questions about how to adapt your research computing workflow to the cluster environment, please contact the cluster coordinator, Dr. Brian Larkins (larkinsb@rhodes.edu).
Introductory HPC Concepts
Programs are run on the cluster as jobs, queued, prioritized and executed on the compute nodes by the scheduler, SLURM.
When connecting to lotus.arc.rhodes.edu you are starting a session on the cluster’s login node. As the login node has limited resources running programs directly on this node should be avoided.
Using the scheduler an interactive session can be requested on the computes nodes, which can be useful for testing. Instead of using an interactive session a submission script can be used to describe the requested resources and steps for a job or multiple jobs.
To accommodate a variety of environments and needed dependencies different versions of software can be loaded on the cluster using the module system.
User home directories are mounted from a shared network file server, providing access to the same files across the login and compute nodes. Files can be copied between the cluster and your local machine using an SFTP client such as FileZilla or Cyberduck.
The compute nodes have faster local storage mounted as /scratch and /tmp which is recommended for use in jobs, as opposed to reading and writing from /home or other directories on the network file server.
Further details on all of the above can be found in the https://rhodescollege.atlassian.net/wiki/spaces/HPCL/pages/3654975489.
External Documentation
Details in the following guides will need to be adjusted for our local cluster, however the overviews may be helpful for new cluster users:
https://www.osc.edu/resources/getting_started/hpc_basics - Ohio Supercomputing Center HPC Basics.
https://researchcomputing.princeton.edu/support/knowledge-base/slurm - Princeton University SLURM documentation.
https://docs.rc.uab.edu/cheaha/slurm/slurm_tutorial/ - University of Alabama at Birmingham SLURM tutorial.
https://arc-user-guide.readthedocs.io/en/latest/ - Oxford University Academic Research Computing User Guide
https://www.sesync.org/resources/faqs/how-do-i-set-python-virtual-environment-slurm-jobs - National Socio-Environmental Synthesis Center Python virtual environment guide.
Requesting an Account
The Lotus HPC Cluster is available for Rhodes faculty, students, and staff to use for research or classroom projects. Rhodes users may request access by completing the following form. Once your account has been activated, you will be notified:
Rhodes HPC Cluster Access Request Form
External Users
Collaborators and researchers at other institutions can access the system through a sponsored account. You must have a Rhodes faculty or staff member sponsor your access. The Rhodes sponsor should complete this form to request a sponsored account.
Accessing the System
The cluster can be accessed directly from campus networks with password or key authentication. Users must set up key authentication for off-campus access.
For on campus users
Locate your computers terminal window. (See Using the Terminal for more information)
From your terminal window at the prompt , type the following (not including the
$and replacinguserwith your username) to log in:
$ ssh user@lotus.arc.rhodes.edu
If your Rhodes ID is doej-21@rhodes.edu, in the terminal you would type:
$ ssh doej-21@lotus.arc.rhodes.edu
You will prompted for your password, which will be your regular Rhodes OneLogin password.
For off campus users
Off-campus users may use key authentication to SSH into the cluster. Please refer to Getting Setup for Remote Access for instructions on how to set up key authentication while on campus. Note that the server name cslogin.arc.rhodes.edu should be replaced with lotus.arc.rhodes.edu in the linked instructions.
If you are having trouble logging into the cluster contact help@rhodes.edu for assistance.
Getting Started with Linux
Using the Terminal
Unless you are using a virtual desktop to access the cluster, you will need to use a terminal program on your desktop/laptop. Using a terminal program will depend on which operating system you use and your specific needs. If you are unsure, the simplest solutions are presented first.
MacOS X
Mac OS comes with the Terminal app, which is located in /Applications/Utilities (or you can search for it). This is fine for basic use.
Users may wish to use a more extensible terminal, such as iTerm2. This is a free download and enables better integration with command-line workflows.
Once you have your terminal installed and up and running, you can SSH to the machine as described above.
Windows
Windows users have several options to access remote machines using SSH.
PowerShell has built in SSH functionality. Yo can also enable this functionality on Windows 10.
You can also download the PuTTY application and use it if you prefer a graphical client.
If you would like to add Linux tools to your local system, you can install Windows Subsystem for Linux (WSL) and use the WSL terminal/SSH client to access the cluster.
Linux
Most Linux distributions ship with terminal software and an SSH client. Consult your system documentation for details.
Command Line / Shell
When you SSH into the cluster and are logged in, you will be at a command-line prompt, called the shell. You will need to some some basic text commands to switch directories, create folders, rename files, edit files, run programs, etc.
Rather than try to cover such a large subject in this guide, we provide links to tutorials for using the shell. While you don’t need to complete the entire tutorials, you should at least be familiar with the basics of using the shell.
http://linuxcommand.org/lc3_learning_the_shell.php Recommend sections 1-5.
http://www.ee.surrey.ac.uk/Teaching/Unix/ Recommend sections 1-5.
Editing Files
While you can do a lot of things with the shell, you will likely need to create and edit text files at some point in order to run software on the cluster system. To do this, you will need to use a text editor program to create/edit/save text files. There are two commonly used editors:
Nano
Nano is a simple text editor, designed to be easy to use. The screen typically displays common editor operations on the bottom, which minimizes the need to memory key combinations. You can master nano in just a few minutes with the help of a short tutorial.
VIM
Vim is a powerful text editor that has features like syntax highlighting, spell checking, auto-indentation, and much more. The learning curve for Vim can be steep, but it can be a great time saver in the long run. The simplest way to learn vim is to type vimtutor at the shell prompt. This will walk you through the basics of the editor, from within the editor. You may also wish to follow a web-based vim tutorial.
Getting Rid of SSH Passwords (Securely)
The Secure Shell (SSH) can be setup with public-key encryption to eliminate the need for typing your password in when you access the cluster system. To configure this you will need to:
generate a public and private key pair on your local computer
copy your public key to the HPC cluster machine
tell your local machine the key pass phrase (once per boot)
use SSH and SCP securely without needing to type your password every time
The general process is described here: https://www.redhat.com/sysadmin/passwordless-ssh
Parts of this process depend on your operating system:
Mac OS X: https://rderik.com/blog/understanding-ssh-keys-and-using-keychain-to-manage-passphrase-on-macos/
Windows (Powershell): https://docs.microsoft.com/en-us/windows-server/administration/openssh/openssh_keymanagement
Windows (PuTTY): https://www.ssh.com/academy/ssh/putty/windows/puttygen
Linux/Windows (WSL):
How to configure ssh-agent, agent forwarding & protocol