Getting Started with Beehive
Critical Usage Information
Head Node Usage
The head node (beehive.ttic.edu
) should only be used for:
- Submitting jobs with
sbatch
- Monitoring jobs with
squeue
andsacct
- Light file operations and code editing
Do not run compute-intensive or I/O-intensive tasks on the head node. Instead, request an interactive job on a compute node when you need to:
- Debug your code
- Perform data preprocessing
- Run interactive Python/Jupyter sessions
- Compile large projects
Interactive Jobs
To get an interactive shell on a compute node:
# Request an interactive CPU job
srun --pty -p cpu --cpus-per-task=4 bash -i
# Request an interactive GPU job
srun --pty -p gpu --cpus-per-task=4 --gres=gpu:1 bash -i
You can also run specific commands directly:
# Run a Python script interactively on a GPU node
srun --pty -p gpu --gres=gpu:1 python debug_script.py
Best Practices
- Never run heavy workloads on the head node - use interactive jobs instead
- Use the development partitions for testing and debugging jobs (limited to 1 hour)
- Specify GPU architectures when your code requires specific features
- Request only the resources you need to improve scheduling efficiency
- Utilize checkpointing in your code to recover from the 8-hour time limit on standard partitions
- Monitor your job's memory usage to avoid out-of-memory errors
- Use appropriate CUDA version for your applications