Skip to content

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.