Accessing the Cluster
Caviness currently features two login nodes through which users interact with the cluster. The host name caviness.hpc.udel.edu
will connect you to one of those two nodes1). For example, from a terminal window on a Mac or Linux client:
localhost$ ssh «username»@caviness.hpc.udel.edu : [«username»@login01 ~]$
The default shell prompt on Caviness displays the name of the login node. If a user must connect to a specific login node, use that node's full domain name:
localhost$ ssh «username»@login00.caviness.hpc.udel.edu : [«username»@login00 ~]$
When reporting connection problems, please include the -vvv
flag in your ssh
command to produce verbose output and include that output in your help ticket.
Do not run the ssh-keygen
command on Caviness. This command can destroy your account's ability to login to compute nodes without requesting a password. If you do this by mistake, you can either:
- recover an older copy of
~/.ssh
from your home directory's ZFS snapshots - execute
mv ~/.ssh ~/.ssh.bak
, logout and log in to Caviness again (the system will generate a new key pair for you)
Workgroups
Each entity that invests in the Caviness cluster is given a workgroup which encompasses sponsored user accounts, on-cluster storage, and purchased compute resources. The workgroup name (referenced as «workgroup» in this documentation) can refer to
- The Unix group to which all sponsored user accounts are members
- The shared storage allocated to the workgroup
- The Slurm:
- Account to which jobs are submitted
- Partition which grants priority-access to purchased compute resources
The default workgroup for all users is everyone; this workgroup has no Slurm partitions available to it and no shared storage space. To change your shell to a specific workgroup, use the workgroup
command:
[«username»@login00 ~]$ workgroup -g «workgroup» [(«workgroup»:«username»)@login00 ~]$
The workgroup
command is often the first command you will issue after logging-in to the cluster, since it prepares the shell for work within a specific workgroup context2).
Workgroups can create a $WORKDIR/sw/bin
directory and add executables to it. If that directory exists, it is automatically prepended to a sponsored user's $PATH
when using the workgroup
command to enter that workgroup.
Thereafter, the exit
command will return you to your original login shell:
[(«workgroup»:«username»)@login00 ~]$ exit [«username»@login00 ~]$
Workgroup queries
The workgroup
command also allows you to query to which workgroups you belong:
[«username»@login00 ~]$ workgroup --query workgroups 1001 workgroup1 1010 workgroup10
All available options are summarized using the workgroup –help
command.
Shell customization
Alteration of your .bashrc
and .bash_profile
files is strongly discouraged. Adding directories to the PATH
, LD_LIBRARY_PATH
, and PYTHONPATH
environment variables is best done using VALET packages and not by adding code to your .bashrc
file. Keeping .bashrc
and .bash_profile
as close to pristine as possible often prevents difficult-to-debug problems from occurring when running jobs on the cluster.
The .bash_udit
file in your home directory controls shell customizations offered by UD IT:
Variable | Description |
---|---|
IT_WANT_ENV_EXTENSIONS | Set to yes to enable the effects of the other variables |
IT_SET_WORKGROUP_ON_LOGIN | Set to yes to automatically change to your default workgroup at login |
IT_DEFAULT_WORKGROUP | The name of the workgroup to use by default; if unspecified, then the first workgroup listed by the workgroup –query workgroups command |
IT_WORKGROUP_CHDIR | Change to the workgroup's $WORKDIR by default |
For example, if the user edits .bash_udit
to set:
IT_WANT_ENV_EXTENSIONS="yes" IT_DEFAULT_WORKGROUP="«workgroup»" IT_WORKGROUP_CHDIR="yes" IT_SET_WORKGROUP_ON_LOGIN="no"
then the shell and workgroup
command will behave as follows:
localhost$ ssh «username»@caviness.hpc.udel.edu : [«username»@login01 ~]$ workgroup WARNING: Your working directory has been changed to /work/«workgroup» [(«workgroup»:«username»)@login01 «workgroup»]$
All additional adjustments to the shell environment should be handled using VALET.
caviness.hpc.udel.edu
is looked-up, in random order. Your SSH client will use the first IP address returned.$WORKDIR
environment variable will point to the shared storage. Also, the Slurm sbatch
/srun
/salloc
commands will default to using the «workgroup» account for job submission.