Why use an HPC System?


  • “High Performance Computing (HPC) typically involves connecting to very large computing systems elsewhere in the world.”
  • “These other systems can be used to do work that would either be impossible or much slower on smaller systems.”
  • “The standard method of interacting with such systems is via a command line interface called Bash.”

Working on a remote HPC system


  • “An HPC system is a set of networked machines.”
  • “HPC systems typically provide login nodes and a set of worker nodes.”
  • “The resources found on independent (worker) nodes can vary in volume and type (amount of RAM, processor architecture, availability of network mounted filesystems, etc.).”
  • “Files saved on one node are available on all nodes.”

Working with the scheduler


  • “The scheduler handles how compute resources are shared between users.”
  • “Everything you do should be run through the scheduler.”
  • “A job is just a shell script.”
  • “If in doubt, request more resources than you will need.”

Accessing software via Modules


  • “Load software with module load softwareName.”
  • “Unload software with module purge
  • “The module system handles software versioning and package conflicts for you automatically.”

Transferring files with remote computers


  • wget and curl -O download a file from the internet.”
  • scp transfers files to and from your computer.”

Using resources effectively


  • “The smaller your job, the faster it will schedule.”

Using shared resources responsibly


  • “Be careful how you use the login node.”
  • “Your data on the system is your responsibility.”
  • “Plan and test large data transfers.”
  • “It is often best to convert many files to a single archive file before transferring.”
  • “Again, don’t run stuff on the login node.”