Do's and Don'ts
The following list of guidelines are designed to help you optimise your experience on NSCC's systems and contribute to the efficient use of shared HPC resources.
Compute
✅ Do's |
🚫 Don'ts |
- To run production workloads, submit them as batch jobs.
- After job submission, monitor your jobs to ensure efficient use of resources (e.g., tracking GPU effective utilization).
- Set an appropriate walltime for your batch job. Jobs with a shorter walltime can be typically fulfilled more quickly than those with longer ones.
|
- Avoid running production workloads interactively on a compute node. Unlike a personal workstation, a HPC environment is designed for production workloads to be run as batch jobs.
- Avoid using the
sleep command to reserve compute nodes. This is a highly inefficient practice that prevents other users from accessing valuable resources. - Do not run any computational workloads on the login nodes. These nodes are a shared resource and are intended only for tasks like file management, code editing, and job submission. All activity on these systems is monitored to ensure fair usage.
|
Applications
✅ Do's |
🚫 Don'ts |
- Contact the NSCC helpdesk for assistance with custom software installations, as the ASPIRE 2A/2A+ environment differs significantly from a typical workstation.
- To ensure a clean and consistent environment, leverage tools like
venv and miniforge3 for Python package management needs. 🐍 - To prevent inefficient use of resources and long queue times, test your code's scalability on a smaller scale before requesting a large number of nodes.
|
- Avoid running serial-only jobs as part of a parallel job. This practice leads to inefficient resource usage as most requested resources can be left idle.
- Avoid copying & pasting job scripts directly from the internet or Windows OS. There might be hidden characters in the job scripts that may result in job failure.
|
Data Management
To learn about the filesystems and their recommended use cases, refer to the detailed system specification pages for ASPIRE 2A and ASPIRE 2A+.
✅ Do's |
🚫 Don'ts |
- Use the project directory for sharing data with other users in the same project.
- Perform regular housekeeping in Home, Project and Scratch directories. This practice helps improve the filesystem performance for all users.
- To protect your data from being purged, move essential files from the scratch directory to your project directory after your jobs are complete.
- For more efficient file management, utilise the
find and rm commands.
|
- Do not make files and directories in your Home, Scratch, and Project directories world-readable or writable. These settings compromise data security. Instead, permissions can be specifically granted to specific users.
- Avoid creating or accessing a large number of small files, as this degrades filesystem performance for everyone.
- To avoid system performance issues, do not delete a large number of files using
rm -rf * . This command can be slow and resource-intensive on HPC file systems.
|
General
✅ Do's |
🚫 Don'ts |
- Check your storage quota, compute allocation (SUs), and project resources regularly using
myquota , myusage , and myprojects .
|
- To prevent environment variable conflicts when running applications, avoid hard-coding static settings in your
.bashrc file. Instead, use environment modules, which allow you to dynamically load and unload different software versions without creating conflicts.
|