Skip to main content

Job Types

Understanding the correct job type to use is important when planning how to run your software on an HPC cluster.

There are two primary job types: Interactive and Batch, which are explained below.

Interactive Jobs

Starting an interactive job gives you a shell on a compute node. You can manually enter commands at the terminal to run them on the node.

Since interactive jobs require manual keyboard input, they will be terminated immediately when you logout or disconnect from Palmetto.

info

Interactive jobs still wait in the queue. You will not see a shell appear until a node is available that meets your specified job requirements.

Interactive jobs are great for:

  • short tasks where you can stay connected and wait for the results
  • writing, testing, and debugging your job scripts

Batch Jobs

Submitting a batch job will queue a shell script to run on a compute node. You must write the script ahead of time and plan the exact sequence of commands to be run on the node.

Your batch job will run in the background, so you can log out or disconnect from Palmetto while it is queued or running.

The scheduler will send you an email when your job is complete.

Batch jobs are great for when you:

  • have tasks that do not require interactive input
  • need a large amount of resources, since you may disconnect while the job waits in the queue to run
  • know your job will take a long time to execute, since you may disconnect while the job executes in the background

Comparison

The table below provides an at-a-glance comparison between the two different types and their use cases.

MetricInteractiveBatch
Requires planning commands to run ahead of time. No Yes
Can receive interactive keyboard input. Yes No
Terminated when you disconnect from Palmetto. Yes No
Runs in the background. No Yes