Campus researchers have access to Strelka, Swarthmore's computer cluster. To learn more about the capabilities of the system and obtain an account, email support@swarthmore.edu.
Technical Specifications
System Configuration
The cluster consists of 13 nodes with an additional head node to handle user logins and job scheduling.
- 8 mid-memory nodes (384GB RAM)
- 3 high-memory nodes (768GB RAM)
- 2 GPU nodes, each with 4x NVIDIA 2080 Ti GPUs
- High speed Infiniband networking
Jobs are submitted through the Slurm job scheduling system.
Summary
Feature | Total |
---|---|
CPUs | 18x Intel Xeon Gold 6230 |
Total Cores | 648 |
Total Memory | 4.6TB |
GPUs | 8x NVIDIA RTX 2080 Ti |
User Storage | 100TB |
Creating an Account
All users log in using an SSH public key. For help, see information on how to Create an SSH Key.
To obtain an account, complete a Strelka Account Request.
Once you have an account, you will be able to connect to Strelka.
Logging in
If off campus, VPN is required to connect to Strelka
Connecting with macOS and Linux
Start the Terminal program on your computer and enter the following command (replace "username" with your Swarthmore username). Usernames are case sensitive, so use all lowercase letters.
ssh username@strelka.swarthmore.edu
Once logged in, you will be in your home directory (/home/username
) on Strelka. You are connected to the head node which is where you can manage your files, compile programs, and submit jobs to the cluster.
Connecting with Windows
Follow the instructions on the Connect to Strelka from Windows page.
Transferring Files
There are several ways to copy files from your computer to Strelka.
macOS/Linux command line
Use scp
command on your computer to copy files to Strelka:
scp <path to file on your computer> <your username>@strelka:/home/<your username>
Here is an example of user Alice Paul copying a files from a folder on her computer to her home directory on Strelka:
scp /Users/apaul1/votingdata/data.csv apaul1@strelka:/home/apaul1
It also works to copy files from Strelka to your computer:
scp <your username>@strelka:<path to file on Strelka> <path to folder on your computer>
Use the -r
flag to copy multiple files or folders. Here is an example of user Alice Paul copying all the .csv files from a folder on her computer to her home directory on Strelka:
scp -r /Users/apaul1/votingdata/*.csv apaul1@strelka:/home/apaul1
Windows Options
PuTTY SCP (PSCP) is a command line version of SCP for Windows.
WinSCP is an open source file transfer application.
CyberDuck graphical file transfer for macOS/Windows/Linux
CyberDuck is a free graphical program that can be used to transfer files to and from Strelka. Download and install CyberDuck and then set up an SFTP connection to Strelka.
Submitting Jobs
To run code on Strelka, you need to submit a job to the queue. The cluster runs the Slurm job management system (Slurm Quickstart). Create a job submission script to specify the details of your job (e.g. how many nodes, how much memory required, how to run your job).
There are three partitions or queues for different types of jobs
Partition Name | Description | Available Nodes |
---|---|---|
compute | General purpose computation | All 8 nodes (40 cores each) are available in this queue |
himem | High memory requirements | 3 high memory nodes, each with 768GB RAM |
gpu | GPU nodes | 2 GPU nodes, each with four GPUs |
Example Submission Script
Here is an example Slurm job submission script:
#! /bin/bash #SBATCH -t 1:00:00 #SBATCH -n 4 #SBATCH -N 1 #SBATCH -p compute #SBATCH --output=/home/aruethe2/testcode/output/output_%j.log cd $HOME/testcode python testcode.py >> $HOME/testcode/output/testcode.out.$SLURM_JOB_ID
In the above example, the following parameters are set:
Setting | Meaning | Value |
---|---|---|
#SBATCH -t 1:00:00 | Maximum time to run | 1 hour |
#SBATCH -n 4 | Number of CPU cores to request | 4 cores |
#SBATCH -N 1 | Number of nodes to request | 1 node |
#SBATCH -p compute | Which partition to use | compute partition |
#SBATCH --output=/home/aruethe2/testcode/output_%j.log | Where to save the Slurm output for the job | /home/aruethe2/testcode/output_%j.log (%j will be replaced with a job number after the job is submitted) |
After the parameters are set, the commands to run the code are added. In this case, the job runs a Python script and sends the output to a file. The variable $SLURM_JOB_ID is added to the output file path so the output filename is unique.Submission Process
To submit a job, type the following (replace "jobfilename" with the filename of the job submission script).
sbatch jobfilename
Other Useful Slurm Commands
See the Slurm Commands page.
Other Strelka Resources
Acknowledgement
If you publish a paper where the cluster was used for calculation, please include the following acknowledgement:
“This work used the Strelka Computing Cluster, which is supported by the Swarthmore College Office of the Provost.”
Governance
An Advisory Group has been set up to govern the decisions concerning Strelka. The members of the Advisory Group are:
- Tristan Smith, Physics
- Vidya Ganapati, Engineering,
- Glenn Stauffer, ITS
- Andrew Ruether, ITS