Week 6 – Lecture A
Jelmer Poelstra
September 28, 2026
Step by step, in this and the next few weeks,
you’ll learn to run command-line bioinformatics programs at OSC:
You can use compute nodes after requesting resources, such as a number of nodes and cores, and for how long you need them.
These requests result in “compute jobs” (or simply “jobs”). Our VS Code sessions are an example!
Many users send requests all the time, so a job scheduler (at OSC, Slurm) considers each request and assigns resources to jobs as they become available.
In week 10, you’ll learn to submit scripts as “batch jobs” with Slurm.
Node
A single computer that is a part of a supercomputer.
Supercomputer / Cluster
A collection of connected computers/nodes.
Supercomputer Center
A facility like OSC with one or more supercomputers. OSC has three: “Ascend”, “Cardinal”, and “Pitzer”.
There is one more “level” than what was shown on the previous slide from week 2 —
each node has multiple cores:
A component of a node (computer) that can independently perform a computing task, like running a bioinformatics program.
Also, many programs can use multiple cores for a single run, which can speed them up considerably.
These terms are not technically synonyms, but are often used interchangeably.
For working at OSC, treat them as meaning the same thing: components of nodes that can be reserved and used independently.
Typical compute jobs only use a part of a single node, yet multiple cores. For example:
A node with 8 cores (real Pitzer nodes have 40–48):
Job A has 2 cores, Job B has 4, and 2 cores are free.
A job’s resource usage is measured in core hours. For example, if job A and job B above both request 2 hours, then job A would use 2 x 2 = 4 core hours, and job B would use 4 x 2 = 8 core hours.
Size of requests and wait times
When you request resources, the Slurm scheduler looks for a node with enough free cores. As such, smaller requests (fewer cores, less time) may start more quickly than larger ones, especially when the cluster is heavily used.
Core hours
You request a compute job with 8 cores for 3 hours. How many core hours will your Project be billed for?
The job ran, and only used 1 of those cores. Do you think that changes the number of billed core hours?
The job ran, and it ended after 1 hour. Do you think that changes the number of billed core hours?
8 cores × 3 hours = 24 core hours.
No: you’re billed for the cores you reserved, whether or not they were used.
Yes: OSC only bills for the time a job actually ran, so 8 cores × 1 hour = 8 core hours.
Interpretation
What does this tell you about how many cores and hours to request?
Only request as many cores as the program can use. For time, it’s better to be generous: unusedo time isn’t billed, and a job that runs out of time is killed before it finishes.
In OnDemand’s “Clusters” dropdown menu, click on the item at the bottom, “System Status”:
This page shows the live usage of the three clusters, and gives a good idea of the scale of the supercomputer center (next slide).
Here, OSC uses the word “processor” to mean “core” (or “CPU”). As mentioned, these terms are often used interchangeably in practice.
Why does OSC have multiple clusters rather than a single big one?
OSC buys a new cluster every few years and retires the oldest one,
so the clusters differ in age and hardware:
Among other things, rolling out clusters this way keeps some hardware up to date at all times,
and avoids downtime for the entire center.
largemem and hugemem.When are these useful?
You may occasionally need these, for example for genome or transcriptome assembly (large-memory nodes) or Oxford Nanopore base-calling (GPU nodes).
When we talk about a computer’s memory, this refers to RAM — don’t confuse this with file storage.
When your computer freezes, memory is often full, and it starts using disk storage as “virtual memory”, which is much slower.
Bioinformatics programs may load input data into memory for fast access, and hold intermediate results there too. With large datasets, they may need 10s–100s of GBs of memory.
At OSC, available memory is proportional to the number of cores you request (often 4 GB per core).
OSC bills Projects (not individual users), and only for two things:
File storage in the Project dirs (/fs/ess).
Charged per TB per month for what you have reserved, not what you actually use.
Compute node usage.
Charged per core hour.
Prices for academic usage are generally low, but a Project using dozens of TBs and tens of thousands of core hours would still be charged over a thousand dollars per year.
In this course, we only use the course’s OSC Project PAS3493. For your own research, you would likely use a Project specific to a research project, or your lab’s general-use Project.
In practice, “using” a Project means:
/fs/ess and/or /fs/scratch dirs.Generally only PIs can do this (more info ). Project admins can, among other things:
/fs/ess storage allocation.Let’s start by recapping what we learned in week 2 about the three main storage areas at OSC:
| Area | Path | One for each… |
|---|---|---|
| Home | /users/ |
User |
| Project | /fs/ess/ |
OSC Project |
| Scratch | /fs/scratch/ |
OSC Project |
Now, let’s see some additional features of these storage areas:
| Area | Quota | Backed up? | Auto-purged? | I/O Speed | Billed |
|---|---|---|---|---|---|
| Home | 500 GB / 1 M files | Yes | No | Slower | No |
Now, let’s see some additional features of these storage areas:
| Area | Quota | Backed up? | Auto-purged? | I/O Speed | Billed |
|---|---|---|---|---|---|
| Home | 500 GB / 1 M files | Yes | No | Slower | No |
| Project | Flexible | Yes | No | Slower | Yes |
Now, let’s see some additional features of these storage areas:
| Area | Quota | Backed up? | Auto-purged? | I/O Speed | Billed |
|---|---|---|---|---|---|
| Home | 500 GB / 1 M files | Yes | No | Slower | No |
| Project | Flexible | Yes | No | Slower | Yes |
| Scratch | 100 TB | No | After 60 days unused | Faster | No |
All in all, Project storage should be your default, but when working with large datasets and/or limited storage quota, consider Scratch for large intermediate files that you can regenerate.
There is a fourth storage area, compute, that is directly tied to compute jobs (deleted when a job ends).
In practice, this is rarely needed in bioinformatics, and we won’t use it in this course.
Your Home dir will have hidden files (those starting with a .) that are generated and used automatically by software.
Don’t mess with them unless you know what you’re doing!
Home and Project dirs are backed up daily.
You don’t have direct access to the backups, but can email OSC to restore your files from a specific date.
OSC’s clusters share the entire file system.
So, you can access your files with the same paths across all clusters.
A typical omics data analysis workflow consists of a sequence of specialized bioinformatics programs (a.k.a. software or tools). For example, the RNA-seq workflow we’ll go through:
OSC has also installed a number of more specialized programs, including bioinformatics tools.
You can use these programs after loading their “module” using the module command — we’ll do this in the next class.
But: The collection of installed software at OSC is not comprehensive, and program versions are not always the most recent.
OnDemand has a Module Browser to search the software that OSC has installed as modules:
Installing software like you would on your own computer is often not possible at OSC:
Conda: Allows you to install software into “environments” you can load.
Containers: Self-contained software packages that can be distributed.
Both:
The two approaches are quite different, both conceptually and in practice:
| Aspect | Conda | Containers |
|---|---|---|
| Obtaining a tool | Install it | Download a file |
| Running a tool | Load, then run as usual | With a long command “prefix” |
| Combining tools | Easier | Harder |
The two approaches are quite different, both conceptually and in practice:
| Aspect | Conda | Containers |
|---|---|---|
| Obtaining a tool | Install it | Download a file |
| Running a tool | Load, then run as usual | With a long command “prefix” |
| Combining tools | Easier | Harder |
| Reliability | Installs can be slow or fail | Quick and reliable to obtain |
| Files | Many small files (may hit OSC quota) | Single file |
| Portability | Less portable | Highly portable & reproducible |
What programs/tools are available?
The same set of programs is available through Conda and as containers, all of which are free and open-source. Missing programs tend to be better avoided anyway (poorly maintained, etc. — exceptions exist).
The two approaches are quite different, both conceptually and in practice:
| Aspect | Conda | Containers |
|---|---|---|
| Obtaining a tool | Install it | Download a file |
| Running a tool | Load, then run as usual | With a long command “prefix” |
| Combining tools | Easier | Harder |
| Reliability | Installs can be slow or fail | Quick and reliable to obtain |
| Files | Many small files (may hit OSC quota) | Single file |
| Portability | Less portable | Highly portable & reproducible |
What will we use?
We’ll next practice with modules and containers, while Conda is covered in an optional self-study page.
The Clusters dropdown menu also gives direct access to a Unix shell on any of the three clusters.
Open a support case in the OSC Service Center (log in with your OSC credentials),
or email oschelp@osc.edu, with questions like:
They are usually quite quick to respond!
Citing OSC
When you use OSC, it’s good practice to acknowledge and cite OSC in your papers — see their citation page.
Click here to go to the next lecture, Using software at OSC