Skip to content

October 2025

Checkpointing in a Preemptible Environment

What is Preemption?

In the context of computing, preemption refers to the act of stopping or pausing one process to allow another process to run, and we say that a task, X, preempts another task, Y, when X pauses Y to allow itself to run. We can use this concept of preemption in an HPC environment to maximize the utilization of the resources in the cluster by allowing low priority jobs to be preempted by higher priority jobs since this allows us to be lenient with the resource limitations placed on the low priority jobs.

Conda vs Anaconda

On RCAC community clusters we deploy modules for both conda and anaconda. These are both separate distributions of the "conda" package manager. The conda module points towards the Miniforge distribution of conda (https://github.com/conda-forge/miniforge), while the anaconda module loads the official Anaconda, Inc. distribution of conda (https://www.anaconda.com/download).

Although these two distributions behave similarly, the components within them vary slightly:

Cannot login ThinLinc or OoD

  • Step1: Check home quota to see if $HOME is full;
  • Step2: For TL, it may be related to frozen session, so suggest ‘End Existing Session’ in TL Client or check in TL admin page: 'desktop.< cluster >.rcac.purdue.edu:1010' (Ask someone in our group for account and password);
  • Step3: For TL, it may be related to python environment change before login (e.g. some conda module preload in .bashrc or .bash_profile). Here is a Thinlinc ~/.bash_profile trick to solve this issue:

VS Code on RCAC Resources

Visual Studio Code (VS Code or Code) is a popular IDE growing in usage in HPC. It is particularly useful for less-technical researchers (relative to say, Vim), because of it's remote development capabilities.