Picotte♯
Picotte is the university's primary high-performance computing (HPC) cluster, and is available to all research groups. You can use Picotte for free with some limitations, or pay for unlimited, high-priority access.
Getting an account♯
To start using Picotte, you first need to request an account using the appropriate form:
If you're a student or staff, your PI first needs to request a group account by filling out the PI form before you can request your individual account.
Once you fill out the form, URCF staff will review your request, create your account, and send you an email with login details.
Your Picotte account is distinct from your primary Drexel Connect account,
although we typically use the same username for convenience. So if your Drexel
username is rth56
, your Picotte username will also be rth56
, but if you
change your Drexel password, your Picotte password will not be updated (and
vice-versa).
Logging in♯
Picotte access is provided primarily via a command line interface (CLI, also called the shell or terminal1), as opposed to the graphical user interface (GUI) provided by most software.
If you haven't used a CLI before, it can seem intimidating, but once you learn, it's a very powerful and flexible way of interacting with computers. For better or worse, learning to use the CLI is a necessary first step in HPC and research computing. Most research software and HPC facilities require it.
Tip
If you've never used a CLI before, we highly recommend working through our Introduction the Unix shell workshop before attempting to use Picotte. It walks you through getting a terminal set up on your computer, and introduces the command line basics you need to know in order to use Picotte effectively.
Drexel VPN required
To login to Picotte, you must be connected to the Drexel network, either by physically being on campus, or using the Drexel VPN.
Once you have a terminal and are comfortable using it, you can log in to Picotte using SSH, which connects your terminal to another computer over a network.
To SSH into picotte, type the following into your terminal. Replace YOUR_PICOTTE_USERNAME
with your Picotte username (this is usually just your Drexel username—not your email, so don't include @drexel.edu
):
ssh YOUR_PICOTTE_USERNAME@picottelogin.urcf.drexel.edu
For example,
ssh jjp366@picottelogin.urcf.drexel.edu
Type your password when prompted, then press enter. You won't get any feedback (e.g. • or * characters) while typing your password, but it is being received.
Once logged in, you'll see a welcome message and the following prompt, with username
replaced by your actual Picotte username:
[username@picotte001 ~]$
Now you're connected to the Picotte login node and ready to start using the cluster!
Tip
Once you've logged in, we recommend working through our Research computing on Picotte workshop. You'll learn the basics of interacting with the cluster, how to store and move data, and how use SLURM, the Picotte job scheulder, to submit jobs and scale up your work.
Changing your password♯
After you've logged into Picotte for the first time, the first thing you should do is change your password. Your initial account password is temporary, and not secure to use on a long-term basis because it's sent via email, which is not a secure medium.
To change your password, use the passwd
command with no arguments. You'll be
prompted to enter your current password, then to choose a new password, then to
confirm it. If your password was successfully changed, you'll get a message that
says passwd: all authentication tokens updated successfully.
. For example:
[juser@picotte001]$ passwd
Changing password for user juser.
Enter login(LDAP) password: ********
New password:
Retype new password:
LDAP password information changed for juser
passwd: all authentication tokens updated successfully.
You't get any feedback (e.g. • or * characters) from the terminal while entering passwords—don't worry, they're being received.
Don't share your password
Never give your password to anyone. URCF staff will not ask for it; Drexel IT will not ask for it. It is never needed by us for any reason, and anyone asking for your password is likely trying to scam you.
Passwords must be at least 12 characters long, and contain letters and numbers. We recommend using a secure randomly generated password and storing it in a password manager, such as Keepass, 1Password, or the built-in Passwords app on macOS.
Most password managers have the ability to generate and save secure random
passwords for you. You can also use the command pwgen 12
to generate a
12-character random password:
[jjp366@picotte001 ~]$ pwgen 12
cei2Kach5fee Ohkeeph5ri2R eeTh0chaihai diw9voL3pet5 QuoadeeXu7yi Koh5fug7eina
ahL7roo3ohFe dal6soh7el0M DeiLaeChoo3u uh9Ohy8thiCe AhMox7Atu4Sh eungaiqu7Isu
uNgeungahk5e iem9Aofa3vai aeb2yu1He8Iu op3Kahxeecad yoSahyeine2w Iicahloo9Yuu
eeF8eishai5e uuk1Ohph6aed oe9aengo2Eew omeuna6Feere aipeic4saaC3 IeghagohPh2f
...
Remember that your Picotte account is distinct from your main Drexel Connect account, and that changing your password for one does not change it for the other.
For extra security, you can configure your account to use Multi-Factor Authentication.
Using the cluster♯
Now you're connected to the login node, but that's just one machine out of the more than 80 that make up Picotte. The other nodes are called "compute nodes", and they're where all the computation actually happens. How do you access the compute nodes?
Rather than logging into them directly, you use the compute nodes by submitting "jobs" to SLURM, the cluster's scheduling system. A "job" a command or shell script that the scheduler executes on your behalf on one of the cluster's compute nodes.
Using a scheduler rather than providing direct access to compute nodes allows for resources to be allocated fairly between different groups and measured for accounting purposes.
To get started with SLURM and job scheduling, please work through our Research computing on Picotte workshop. This workshop teaches you how to submit jobs, use installed software, monitor your jobs, and move data to and from the cluster.
Free-tier partitions
If your group is on the Picotte free tier, you should submit your jobs to the def-sm
partition rather than the default def
partition. You do this by passing the --partition=def-sm
argument. def
is short for "default", and is the default partition for priority tier jobs. def-sm
is short for "default (small)", and should be used for free-tier jobs. You can read more about the usage tiers and partitions here.
Getting Help♯
If you have any problems or need help using Picotte, please email urcf-support@drexel.edu. This creates a new ticket in our issue tracking system, and we'll get back to you as soon as we can. We try to respond to all issues within two business days, although we're a small team so we can't guarantee this.
Other ways to access Picotte♯
In addition to direct SSH, you can also access Picotte via:
- Visual Studio Code (VS Code for short), an open-source code editor from Microsoft, available on Windows, Linux, and macOS. VS Code makes it much easier to edit text files on remote systems like Picotte.
- JupyterHub, which is a web service that lets you easily launch JupyterLab notebooks on Picotte. Great for exploratory work using Python, R, or Julia.
Storage♯
Picote has two attached storage systems:
- BeeGFS, which provides high-performance scratch space.
- Dell Isilon, which provides slower, longer-term storage in home and group directories.
Isilon♯
Mostly, you'll store code and data on the Isilon storage, which backs both your
home directory (e.g. /home/rth56
, abbreviated "~
") and research group
directories (e.g.
/ifs/groups/somethingGrp
).
Home directories are limited to 64 GiB. Group directories are limited to 500 GiB if your group is on the free tier, or unlimited if your group is on the paid tier.
BeeGFS♯
BeeGFS is a faster but smaller filesystem intended for temporary storage of
working files and data during execution of a job. Each job is allocated a new
temporary directory in /scratch
when it starts, which is deleted when the job
finishes.
To use this space, your job should copy whatever data it needs from your home or group directory into this temporary directory, work with it there during execution, and then copy the results back before finishing.
You can read more about using BeeGFS here.
Hardware♯
For an overview of Picotte's hardware see Picotte Hardware.
See Also♯
- External HPC Learning Resources
- Tips for Windows Users
- Tips for macOS Users
- Slurm Introduction
- Historical Job Data in Slurm
-
Technically, "shell", "terminal" and "command line interface" are all separate but related concepts, but for getting started you can think of them all the same way. ↩