Login Node Guidelines
Login nodes (also called head nodes) are the entry point to the ACE cluster. They are shared among all users and have limited resources. Running computational work on login nodes degrades the experience for everyone and may result in account suspension.
What Login Nodes Are For
Login nodes are designed for lightweight, preparatory tasks:
- Editing files - Using text editors like
vim,nano, oremacs - Compiling code - Small compilation tasks (not parallel builds)
- Managing files - Organizing directories, moving files
- Submitting jobs - Using
sbatch,squeue,scancel - Monitoring jobs - Checking job status and output
- Small file transfers - Using
scp,rsync, orsftp
What NOT to Do on Login Nodes
The following activities are not allowed on login nodes:
Running Research Applications
Do not launch computational software directly on login nodes:
# DON'T do this on login nodes
python my_simulation.py
matlab -batch "run_analysis"
R --vanilla < analysis.R
./my_program
Instead, submit these as SLURM batch jobs or request an interactive session.
Parallel Compilation
Avoid resource-intensive compilation commands:
# DON'T do this on login nodes
make -j 16
ninja -j 8
Instead, use single-threaded compilation on login nodes or submit compilation as a job:
# OK on login nodes
make -j 2
# Better: submit as a job for large builds
sbatch compile_job.sh
Long-Running Processes
Do not run processes that take more than a few minutes:
# DON'T leave these running on login nodes
nohup long_process &
screen -S mysession # for computational work
Excessive Resource Monitoring
Avoid polling job status too frequently:
# DON'T do this
watch -n 1 squeue -u $USER # Every second is too frequent
# OK - check every few minutes
squeue -u $USER
Using Interactive Sessions
If you need an interactive environment for testing or development, request compute resources through SLURM:
# Request an interactive session
srun --nodes=1 --ntasks=1 --time=01:00:00 --pty bash
# Or use salloc for more control
salloc --nodes=1 --ntasks=4 --time=02:00:00
This gives you dedicated compute resources without impacting other users.
VSCode and IDEs
Running VSCode Remote SSH on login nodes consumes significant resources and can interfere with other users. This may result in account suspension.
Recommended alternatives:
- Use VSCode on your local machine - Edit files locally and sync with the cluster
- Request an interactive session - Connect VSCode to a compute node
- Use terminal-based editors -
vim,nano, oremacson login nodes
How We Monitor Login Node Usage
The ACE team monitors login node resource usage. Users running prohibited activities may receive:
- An automated warning
- Process termination
- Temporary account suspension for repeated violations