<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.0 20120330//EN" "JATS-journalpublishing1.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" article-type="research-article">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">JDS</journal-id>
<journal-title-group><journal-title>Journal of Data Science</journal-title></journal-title-group>
<issn pub-type="epub">1683-8602</issn><issn pub-type="ppub">1680-743X</issn><issn-l>1680-743X</issn-l>
<publisher>
<publisher-name>School of Statistics, Renmin University of China</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">JDS1159</article-id>
<article-id pub-id-type="doi">10.6339/24-JDS1159</article-id>
<article-categories><subj-group subj-group-type="heading">
<subject>Computing in Data Science</subject></subj-group></article-categories>
<title-group>
<article-title>High Performance Computing Cluster Setup: A Tutorial</article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<contrib-id contrib-id-type="orcid">https://orcid.org/0000-0001-8009-4665</contrib-id>
<name><surname>Hofert</surname><given-names>Marius</given-names></name><email xlink:href="mailto:mhofert@hku.hk">mhofert@hku.hk</email><xref ref-type="aff" rid="j_jds1159_aff_001">1</xref>
</contrib>
<aff id="j_jds1159_aff_001"><label>1</label><institution>The University of Hong Kong</institution>, Department of Statistics and Actuarial Science, <country>Hong Kong</country></aff>
</contrib-group>
<pub-date pub-type="ppub"><year>2024</year></pub-date><pub-date pub-type="epub"><day>26</day><month>11</month><year>2024</year></pub-date><volume content-type="ahead-of-print">0</volume><issue>0</issue><fpage>1</fpage><lpage>22</lpage><supplementary-material id="S1" content-type="document" xlink:href="jds1159_s001.pdf" mimetype="application" mime-subtype="pdf">
<caption>
<title>Supplementary Material</title>
<p>The Supplementary Material contains detailed information on how <sans-serif>R</sans-serif> can be installed entirely in one’s home directory without the permission to write to system directories. We also provide more details about the options specified in our <monospace>starter.sh</monospace> Bash script.</p>
</caption>
</supplementary-material><history><date date-type="received"><day>26</day><month>5</month><year>2024</year></date><date date-type="accepted"><day>30</day><month>10</month><year>2024</year></date></history>
<permissions><copyright-statement>2024 The Author(s). Published by the School of Statistics and the Center for Applied Statistics, Renmin University of China.</copyright-statement><copyright-year>2024</copyright-year>
<license license-type="open-access" xlink:href="https://creativecommons.org/licenses/by/4.0/">
<license-p>Open access article under the <ext-link ext-link-type="uri" xlink:href="https://creativecommons.org/licenses/by/4.0/">CC BY</ext-link> license.</license-p></license></permissions>
<abstract>
<p>When computations such as statistical simulations need to be carried out on a high performance computing (HPC) cluster, typical questions arise among researchers or practitioners. How do I interact with a HPC cluster? Do I need to type a long host name and also a password on every single login or file transfer? Why does my locally working code not run anymore on the HPC cluster? How can I install the latest versions of software on a HPC cluster to match my local setup? How can I submit a job and monitor its progress? This tutorial provides answers to such questions with experiments on an example HPC cluster.</p>
</abstract>
<kwd-group>
<label>Keywords</label>
<kwd>cluster computing</kwd>
<kwd>connection</kwd>
<kwd>setup</kwd>
<kwd>Slurm Workload Manager</kwd>
<kwd>software installation</kwd>
<kwd>tips</kwd>
</kwd-group>
</article-meta>
</front>
<back>
<ref-list id="j_jds1159_reflist_001">
<title>References</title>
<ref id="j_jds1159_ref_001">
<mixed-citation publication-type="book"> <string-name><surname>Abadi</surname> <given-names>M</given-names></string-name>, <etal>et al.</etal> (<year>2024</year>). <source><italic>TensorFlow: Large-Scale Machine Learning on Heterogeneous Systems</italic></source>. <comment>URL: <ext-link ext-link-type="uri" xlink:href="http://tensorflow.org">tensorflow.org</ext-link></comment>.</mixed-citation>
</ref>
<ref id="j_jds1159_ref_002">
<mixed-citation publication-type="other"> Adaptive Computing (<year>2024</year>). TORQUE Resource Manager. URL: <ext-link ext-link-type="uri" xlink:href="http://adaptivecomputing.com/cherry-services/torque-resource-manager">adaptivecomputing.com/cherry-services/torque-resource-manager</ext-link>.</mixed-citation>
</ref>
<ref id="j_jds1159_ref_003">
<mixed-citation publication-type="other"> Anaconda Inc (<year>2024</year>). The Operating System for AI. URL: <ext-link ext-link-type="uri" xlink:href="http://anaconda.com">anaconda.com</ext-link>.</mixed-citation>
</ref>
<ref id="j_jds1159_ref_004">
<mixed-citation publication-type="other"> <string-name><surname>Conda</surname></string-name> (<year>2024</year>). Conda. URL: <ext-link ext-link-type="uri" xlink:href="http://docs.conda.io/en/latest/">docs.conda.io/en/latest/</ext-link>.</mixed-citation>
</ref>
<ref id="j_jds1159_ref_005">
<mixed-citation publication-type="other"> <string-name><surname>Hofert</surname> <given-names>M</given-names></string-name>, <string-name><surname>Mächler</surname> <given-names>M</given-names></string-name> (<year>2016</year>a). Parallel and other simulations in R made easy: An end-to-end study. <italic>Journal of Statistical Software</italic>, 69(4). <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.18637/jss.v069.i04" xlink:type="simple">https://doi.org/10.18637/jss.v069.i04</ext-link></mixed-citation>
</ref>
<ref id="j_jds1159_ref_006">
<mixed-citation publication-type="other"> <string-name><surname>Hofert</surname> <given-names>M</given-names></string-name>, <string-name><surname>Mächler</surname> <given-names>M</given-names></string-name> (<year>2016</year>b). simsalapar: Tools for Simulation Studies in Parallel with R. <ext-link ext-link-type="uri" xlink:href="http://CRAN.R-project.org/package=simsalapar">CRAN.R-project.org/package=simsalapar</ext-link>.</mixed-citation>
</ref>
<ref id="j_jds1159_ref_007">
<mixed-citation publication-type="journal"> <string-name><surname>Hofert</surname> <given-names>M</given-names></string-name>, <string-name><surname>Schepsmeier</surname> <given-names>U</given-names></string-name> (<year>2016</year>). <article-title>Guidelines for statistical projects: General aspects (part I)</article-title>. <source><italic>International Chinese Statistical Association Bulletin</italic></source>, <volume>28</volume>(<issue>2</issue>): <fpage>110</fpage>–<lpage>116</lpage>.</mixed-citation>
</ref>
<ref id="j_jds1159_ref_008">
<mixed-citation publication-type="journal"> <string-name><surname>Hofert</surname> <given-names>M</given-names></string-name>, <string-name><surname>Schepsmeier</surname> <given-names>U</given-names></string-name> (<year>2017</year>a). <article-title>Guidelines for statistical projects: Coding and typography (part II)</article-title>. <source><italic>International Chinese Statistical Association Bulletin</italic></source>, <volume>29</volume>(<issue>1</issue>): <fpage>52</fpage>–<lpage>58</lpage>.</mixed-citation>
</ref>
<ref id="j_jds1159_ref_009">
<mixed-citation publication-type="journal"> <string-name><surname>Hofert</surname> <given-names>M</given-names></string-name>, <string-name><surname>Schepsmeier</surname> <given-names>U</given-names></string-name> (<year>2017</year>b). <article-title>Guidelines for statistical projects: Coding and typography (part III)</article-title>. <source><italic>International Chinese Statistical Association Bulletin</italic></source>, <volume>29</volume>(<issue>2</issue>): <fpage>113</fpage>–<lpage>122</lpage>.</mixed-citation>
</ref>
<ref id="j_jds1159_ref_010">
<mixed-citation publication-type="other"> <string-name><surname>HPC</surname></string-name> (<year>2024</year>). SLURM Job Scheduler. URL: <ext-link ext-link-type="uri" xlink:href="http://hpc.hku.hk/guide/slurm-guide">hpc.hku.hk/guide/slurm-guide</ext-link>.</mixed-citation>
</ref>
<ref id="j_jds1159_ref_011">
<mixed-citation publication-type="other"> <string-name><surname>HTCondor</surname></string-name> (<year>2024</year>). HTCondor Software Suite. URL: <ext-link ext-link-type="uri" xlink:href="http://htcondor.org">htcondor.org</ext-link>.</mixed-citation>
</ref>
<ref id="j_jds1159_ref_012">
<mixed-citation publication-type="other"> Slurm Workload Manager (<year>2024</year>). Documentation. URL: <ext-link ext-link-type="uri" xlink:href="http://slurm.schedmd.com">slurm.schedmd.com</ext-link>.</mixed-citation>
</ref>
<ref id="j_jds1159_ref_013">
<mixed-citation publication-type="journal"> <string-name><surname>Thain</surname> <given-names>D</given-names></string-name>, <string-name><surname>Tannenbaum</surname> <given-names>T</given-names></string-name>, <string-name><surname>Livny</surname> <given-names>M</given-names></string-name> (<year>2005</year>). <article-title>Distributed computing in practice: The Condor experience</article-title>. <source><italic>Concurrency and Computation: Practice and Experience</italic></source>, <volume>17</volume>(<issue>2–4</issue>): <fpage>323</fpage>–<lpage>356</lpage>. <ext-link ext-link-type="doi" xlink:href="https://doi.org/10.1002/cpe.938" xlink:type="simple">https://doi.org/10.1002/cpe.938</ext-link></mixed-citation>
</ref>
<ref id="j_jds1159_ref_014">
<mixed-citation publication-type="other"> <string-name><surname>The National Radio Astronomy Observatory</surname></string-name> (<year>2024</year>). Translating between Torque, Slurm, and HTCondor. URL: <ext-link ext-link-type="uri" xlink:href="http://info.nrao.edu/computing/guide/cluster-processing/appendix/translating-between-torque-htcondor-and-slurm">info.nrao.edu/computing/guide/cluster-processing/appendix/translating-between-torque-htcondor-and-slurm</ext-link>.</mixed-citation>
</ref>
<ref id="j_jds1159_ref_015">
<mixed-citation publication-type="other"> The PyTorch Foundation (2024). PyTorch. URL: <ext-link ext-link-type="uri" xlink:href="http://pytorch.org">pytorch.org</ext-link>.</mixed-citation>
</ref>
<ref id="j_jds1159_ref_016">
<mixed-citation publication-type="book"> The R Foundation (<year>2024</year>). <source><italic>The R Project for Statistical Computing</italic></source>. <comment>URL: <ext-link ext-link-type="uri" xlink:href="http://r-project.org">r-project.org</ext-link></comment>.</mixed-citation>
</ref>
<ref id="j_jds1159_ref_017">
<mixed-citation publication-type="other"> <string-name><surname>Wikipedia</surname></string-name> (<year>2024</year>a). Environment Modules (software). URL: <ext-link ext-link-type="uri" xlink:href="http://en.wikipedia.org/wiki/Environment_Modules_(software)">en.wikipedia.org/wiki/Environment_Modules_(software)</ext-link>.</mixed-citation>
</ref>
<ref id="j_jds1159_ref_018">
<mixed-citation publication-type="other"> <string-name><surname>Wikipedia</surname></string-name> (<year>2024</year>b). Minimal reproducible example. URL: <ext-link ext-link-type="uri" xlink:href="http://en.wikipedia.org/wiki/Minimal_reproducible_example">en.wikipedia.org/wiki/Minimal_reproducible_example</ext-link>.</mixed-citation>
</ref>
<ref id="j_jds1159_ref_019">
<mixed-citation publication-type="other"> <string-name><surname>Wikipedia</surname></string-name> (<year>2024</year>c). RSA (cryptosystem). URL: <ext-link ext-link-type="uri" xlink:href="http://en.wikipedia.org/wiki/RSA_(cryptosystem)">en.wikipedia.org/wiki/RSA_(cryptosystem)</ext-link>.</mixed-citation>
</ref>
<ref id="j_jds1159_ref_020">
<mixed-citation publication-type="other"> <string-name><surname>Wikipedia</surname></string-name> (<year>2024</year>d). Shell (computing). URL: <ext-link ext-link-type="uri" xlink:href="http://en.wikipedia.org/wiki/Shell_(computing)">en.wikipedia.org/wiki/Shell_(computing)</ext-link>.</mixed-citation>
</ref>
<ref id="j_jds1159_ref_021">
<mixed-citation publication-type="other"> <string-name><surname>Wikipedia</surname></string-name> (<year>2024</year>e). Slurm Workload Manager. URL: <ext-link ext-link-type="uri" xlink:href="http://en.wikipedia.org/wiki/Slurm_Workload_Manager">en.wikipedia.org/wiki/Slurm_Workload_Manager</ext-link>.</mixed-citation>
</ref>
<ref id="j_jds1159_ref_022">
<mixed-citation publication-type="other"> <string-name><surname>Wikipedia</surname></string-name> (<year>2024</year>f). TOP500. URL: <ext-link ext-link-type="uri" xlink:href="http://en.wikipedia.org/wiki/TOP500">en.wikipedia.org/wiki/TOP500</ext-link>.</mixed-citation>
</ref>
<ref id="j_jds1159_ref_023">
<mixed-citation publication-type="other"> <string-name><surname>Yoo</surname> <given-names>AB</given-names></string-name>, <string-name><surname>Jette</surname> <given-names>MA</given-names></string-name>, <string-name><surname>Grondona</surname> <given-names>M</given-names></string-name> (<year>2003</year>). SLURM: Simple Linux Utility for Resource Management. Lecture Notes in Computer Science, vol. 2862.</mixed-citation>
</ref>
</ref-list>
</back>
</article>
