class: center, middle # High Performance Computing Jargon Buster [The HPC Carpentry Community](https://www.hpc-carpentry.org) ??? > Press `C` to open a "clone", then `P` to toggle Presentation Mode. HPC Carpentry is a community effort to develop educational materials in the pedagogical style of The Carpentries. The point of this presentation is to briefly introduce some scale-up options, so that learners get a sense of the variety of ways this can be done, and the source of some of the overloading of terminology that will be used later in the lesson. This non-interactive activity should be kept brief. --- # Your Personal Computer .center[ ![Standalone computers (banana for scale)](../fig/jargon_standalone.svg) ] - Familiar starting point, accessed locally - Good for local computational tasks - Highly flexible, easy to reconfigure for new tasks ??? A laptop and a desktop computer: you sit at the keyboard & mouse and log in to the computer directly, often as the sole user. Good at performing local and personal tasks: familiar but limited resources. --- # Shared Computing Resources .center[ ![The Borah HPC resource](../fig/Borah.jpg) ] - Large-scale computation is different - It has a rich history and confusing terminology ??? Computation at larger scales typically involves changes in how things are done, and connection to remote computer systems and transfer of data between systems. There are many ways to do it, and the terminology can be confusing. This presentation will step through some terminology. --- # A cluster or supercomputer .center[ ![A cluster (banana for scale)](../fig/jargon_cluster.svg) ] - Collection of computers (also called "servers" or "nodes") networked together - A shared resource, compute service accessed via resource manager - Specially-built software for best performance ??? A collection of standalone computers that are networked together. They will frequently have software installed that allow the coordinated running of other software across all of these computers. This allows these networked computers to work together to accomplish computing tasks faster. --- # A node .center[ ![A node (banana for scale)](../fig/jargon_cluster_node.png) ] - Different nodes serve different functions - Some may have special compute resources (high memory, GPU, CPU) - Special "login node" accessed remotely by users ??? The networked computers in the cluster that serve various functions. --- # HPC workflow .center[ ![Schematic HPC workflow](../fig/jargon_workflow.png) ] - You talk to the cluster head node - The cluster head node distributes compute tasks - You view results ??? In the usual HPC workflow, users do not communicate directly with compute nodes, but work through a scheduling system to distribute tasks.