Table of Contents
ICS Instructional Openlab Linux Cluster
Summary
The ICS Instruction Openlab Linux Server cluster is for general purpose computing at the School of ICS and accessible to any user with an ICS shell account. Cluster priority is given to instruction, then undergraduate students, then graduate students, and then ICS researchers.
Guidelines
In order to ensure that Openlab cluster remains available to instruction and researchers fairly, users may expect the following:
- Long-running jobs must be submitted through our SLURM job queueing system in order to balance resources.
- Jobs executed via the SLURM queueing system will be given priority over jobs running on the command line.
- Processes running for longer than 2 hours will be reniced 19.
- Processes running for longer than 5 days will be suspended.
- Users with over 100 processes running will have their processes suspended.
- Files in the /tmp directory will be cleared after two weeks.
Please use SLURM for long running or serial projects requiring more than one openlab node. Processes running through SLURM may not be subject to all of the above guidelines.
Instructors may reach out to heldpesk@ics.uci.edu in order to request course exceptions to any of these guidelines.
Also see Linux Openlab FAQ.
Home Directory
Your ICS home directory is shared across all ICS-supported Linux hosts including the Openlab hosts.
Connecting to Openlab
You may log in remotely from any host using an SSH client. See our common tools page for a list of clients.
Log in into one of the following domain names (e.g. ssh openlab22.ics.uci.edu or ssh openlab.ics.uci.edu).
Domain Name | Operating System |
---|---|
openlab.ics.uci.edu | Ubuntu 22.04 hosts only |
opengpu.ics.uci.edu | Ubuntu 22.04 hosts only |
NOTE: If you are running a long-running process, please take note of the hostname you are running on. The name “openlab.ics.uci.edu” is a load balancer and may not point you to the same host twice. You can determine the hostname by running the command `hostname` from the shell CLI. When you return to check on your process, you will SSH into that hostname instead of openlab.ics.uci.edu.
MOD/Splash Screen
When you log in to the Openlab Linux cluster you will receive information regarding fair use, system load, and specific software you may add to your environment (ICS software modules). This information may also include a message similar to the following:
Expanded Security Maintenance for Applications is not enabled. 19 updates can be applied immediately. 11 of these updates are standard security updates. To see these additional updates run: apt list --upgradable 24 additional security updates can be applied with ESM Apps. Learn more about enabling ESM Apps service at https://ubuntu.com/esm
You may safely ignore this message, which is automatically managed by Ubuntu Landscape and refers to the host that you have logged into, not your local system. The particular message above indicates that there are patches available or that patches that have been applied require a system restart in order to fully install. Our systems administrators will take care of that, generally in between quarters when systems are not heavily used.
Off-Campus Access
ADVISORY: Off-campus access requires SSH keys. Users connecting from off-campus cannot use passwords to log in to the Openlab cluster.
What does ICS consider on campus:
- Any host with a reverse dns name that ends in uci.edu. This includes most campus hosts and hosts connected via VPN.
- Any host connected to the campus 172.23.0.0/20 network.
These are the match rules in the ICS sshd_config file:
Match Host *.uci.edu PasswordAuthentication yes Match Address 172.23.0.0/20 PasswordAuthentication yes
Load Balancing
As mentioned before, the name openlab.ics.uci.edu takes you to a load balancer. The load balancer will send your connection request to the machine with the current lowest load.
If your work requires you to work with multiple shells on the same host, then log in directly using a hostname instead of openlab.ics.uci.edu
Determining a Hostname
In order to identify which openlab host you are on, run the command:
hostname
In the following example, the user has logged into a host named circinus-30.ics.uci.edu:
% hostname circinus-30
SSH Tunneling
In order to create an SSH tunnel to the host that you have a process on, you cannot use the name openlab.ics.uci.edu.
In the following example, the user has connected to Openlab and run jupyterlab on port 5555. They have run `hostname` and determined that the name of the host they have run jupyterlab on is circinus-2.ics.uci.edu.
% ssh -L 8080:localhost:5555 luser@circinsus-2.ics.uci.edu
Openlab Availability
The Openlab cluster is available on and off campus via SSH and SLURM.
There are limitations regarding authentication and connectivity. Please refer to the following matrix for specific information:
Location | SSH with Keys | SSH with Password | SLURM |
---|---|---|---|
On campus | Yes | Yes | Yes |
Off Campus* | Yes | No | No |
UCI VPN | Yes | Yes | Yes |
*Off-campus locations include student housing, University Hills housing, and the campus WIFI network.
Using UCI VPN
For UCI VPN directions see: UCI Campus VPN. Make sure you download the software version and select “Default-UCI” (as opposed WebVPN) from the dropdown menu when choosing a connection type.
Windows Users
- Newer versions of Windows have SSH built in. Optionally, you can install Linux Subsystem for Windows to be able to run other Linux commands locally).
- Open Terminal (using the updated Windows Terminal is recommended.
- ssh yourICSusername@openlab.ics.uci.edu
or
Please reference this page on how to connect to Openlab using Putty software: set up Putty for Openlab.
Mac Users
Open Terminal and type:
ssh yourICSusername@openlab.ics.uci.edu
FOSS SSH Clients
You may use any SSH client to connect to the Openlab servers. See our common tools page for a list of SSH clients.
Set up your SSH Keys
Off-campus users must use SSH keys to connect to the openlab cluster. Follow these directions to set up SSH keys (includes a link to PuTTY key setup).
Donations
Much of the Openlab cluster runs on donated hardware. Feel free to contact ICS Computing Support if you have some spare hardware that you would like to donate.
Details
- Operating System: Ubuntu 22.04.
- Provisioning: Puppet 6.x
- Primary Investigator: ICS Computing Support
- Contact Email: helpdesk@ics.uci.edu
Hardware Specifications
The Openlab hosts are made up of two sets of hardware that are grouped with the following machines:
Circinus Cluster
Description | Information |
---|---|
Cluster | Circinus Cluster |
Count | 96 |
Model | HP Proliant SL390 G7 |
Processor | 2 x Intel Xeon X5680 @ 3.33 Ghz |
RAM | 96 GB |
HDD | Varies |
RAID | No |
Redundant Power | Yes |
Odin
Description | Information |
---|---|
Cluster | Openlab Cluster |
Count | 1 |
Model | Dell PowerEdge R815 |
Processor | AMD Opteron™ Processor 6378 |
RAM | 512 GB |
HDD | 98GB |
RAID | 5 |
Redundant Power | Yes |
Tristram
Description | Information |
---|---|
Cluster | Openlab Cluster |
Count | 1 |
Model | Dell PowerEdge R815 |
Processor | AMD Opteron™ Processor 6378 |
RAM | 512 GB |
HDD | 98GB |
RAID | 5 |
Redundant Power | Yes |
User Access
- All ICS users
Services Provided
Code Editor suggestions
- Visual Studio Code (VSCode)
- vi
- Cheat sheets for learning vi can be easily be searched for.
Members
Complete rosters for the Openlab cluster can be displayed with the following sinfo command:
module load slurm sinfo
Long-Running Processes
Resuming Suspended Processes
If you find your process has been suspended, you may resume it by using the kill command to send the CONT signal.
kill -CONT <pid>
You may list your processes using the command `ps ux`. Suspended processes will have a “T” in the 8th column.
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND hans 2458438 0.0 0.0 6476 2244 pts/18 S+ 14:08 0:00 grep --color=auto --exclude-dir=.bzr --exclude-dir=CVS --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn --exclude-dir=.idea --exclude-dir=.tox T hank 3554779 0.0 0.0 20480 3164 ? Ts 2022 24:43 SCREEN -xxR
In this case, you would resume the SCREEN process with process id 3554779 by running:
kill -CONT 3554779
Exceptions
The following long-running processes will not be automatically suspended on the Openlab Linux cluster:
- bash
- rbash
- csh
- dash
- ksh
- ksh93
- tcsh
- zsh
- screen
- tmux
- nologin
- nologin
- ksh
- rksh
- csh
- (sd-pam)
- sshd
- ssh-agent
- systemd
- dbus-daemon
- node
- vim
- remote-dev-serv
- fsnotifier
- ion.clangd.main
- ld-linux-x86-64
- fsnotifier
- cpptools
- cpptools-srv
- xdg-mime
- dbus-send
Troubleshooting
Also see Linux Openlab FAQ.
"RSA host key for <hostname> has changed"
If you receive an error “Hot key verification failed” when logging in, you may (if you are confident you are logging into the correct host) clear the offending key by issuing the following command, on most platforms, to clear the old host key and resolve the error:
ssh-keygen -R <hostname>
If this does not work on your platform, please send a message to helpdesk@ics.uci.edu along with the output from the command. Sending relevant screenshots is always appreciated.
RC / DOT Files
ICS users may occasionally damage their dot files, which results in unusual-looking SSH prompts and/or being unable to use the “module” command.
If this is the case, click here for directions to restore your DOT files. If this fails, contact helpdesk.