From b12846e82ac002106647dcf2e9cb148a1d236c6a Mon Sep 17 00:00:00 2001 From: caubet_m Date: Thu, 23 Jan 2020 16:43:12 +0100 Subject: [PATCH] Updated documentation --- _data/sidebars/merlin6_sidebar.yml | 6 +- images/Slurm/sview.png | Bin 0 -> 201550 bytes .../03 Job Submission/interactive-jobs.md | 69 +--- pages/merlin6/03 Job Submission/monitoring.md | 209 ++++++++++- .../merlin6/03 Job Submission/running-jobs.md | 330 ++++++++++++------ .../03 Job Submission/slurm-configuration.md | 12 +- .../03 Job Submission/slurm-examples.md | 209 +++++------ .../03 Job Submission/using-modules.md | 8 +- 8 files changed, 551 insertions(+), 292 deletions(-) create mode 100644 images/Slurm/sview.png diff --git a/_data/sidebars/merlin6_sidebar.yml b/_data/sidebars/merlin6_sidebar.yml index 31e2bc6..0fc6893 100644 --- a/_data/sidebars/merlin6_sidebar.yml +++ b/_data/sidebars/merlin6_sidebar.yml @@ -35,7 +35,7 @@ entries: url: /merlin6/storage.html - title: Transferring Data url: /merlin6/transfer-data.html - - title: NoMachine + - title: Remote Desktop Access url: /merlin6/nomachine.html - title: Job Submission folderitems: @@ -43,9 +43,9 @@ entries: url: /merlin6/using-modules.html - title: Slurm Basic Commands url: /merlin6/slurm-basics.html - - title: Running Jobs + - title: Running Batch Scripts url: /merlin6/running-jobs.html - - title: Interactive Jobs + - title: Running Interactive Jobs url: /merlin6/interactive-jobs.html - title: Slurm Examples url: /merlin6/slurm-examples.html diff --git a/images/Slurm/sview.png b/images/Slurm/sview.png new file mode 100644 index 0000000000000000000000000000000000000000..d6081c7f33eaa18e140885a95ecf55f166587593 GIT binary patch literal 201550 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⁣|L>eA4rH`Y!N*>|y;< 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 Accessing from Windows Clients}](/merlin6/connect-from-windows.html) * For MacOS clients, please follow [{Accessing Merlin -> Accessing from MacOS Clients}](/merlin6/connect-from-macos.html) -#### Enable SSH Keys authentication - -For running ``srun`` with **X11** support (``srun --x11``) , you need to setup RSA keys properly. - -1. Generate the RSA keys as follows: - - ```bash - ssh-keygen -t rsa - ``` - - You will be requested for an *optional* passphrase. Entering it, provides more security (if somebody steals your private key he will - need to know the passphrase, however every time you use RSA keys you will need to type it). Whether to set a passphrase or not is up - to the users. - -2. Add the public key to the ``~/.ssh/authorized_keys`` file - - ```bash - cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys - ``` - -3. Ensure that ``~/.ssh/authorized_keys`` has proper permissions: - - ```bash - chmod 600 ~/.ssh/authorized_keys - ``` - -

-[Show 'ssh-keygen' example]: Generate RSA keys with default key filenames -
-(base) [caubet_m@merlin-l-001 .ssh]$ ssh-keygen -t rsa
-Generating public/private rsa key pair.
-Enter file in which to save the key (/psi/home/caubet_m/.ssh/id_rsa): 
-Enter passphrase (empty for no passphrase): 
-Enter same passphrase again: 
-Your identification has been saved in /psi/home/caubet_m/.ssh/id_rsa.
-Your public key has been saved in /psi/home/caubet_m/.ssh/id_rsa.pub.
-The key fingerprint is:
-SHA256:AMvGhBWxXs1MXHvwTpvXCOpjUZgy30E+5V38bcj4k2I caubet_m@merlin-l-001.psi.ch
-The key's randomart image is:
-+---[RSA 2048]----+
-|   o*o ...o . ...|
-|  .+ + =.  O o .o|
-|    * o * + Xo..+|
-|   o . . + B.*oo+|
-|    .   S + =.oo.|
-|         . .E.+  |
-|          +. . . |
-|         . .     |
-|                 |
-+----[SHA256]-----+
-
-(base) [caubet_m@merlin-l-001 .ssh]$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 
-(base) [caubet_m@merlin-l-001 .ssh]$ chmod 600 ~/.ssh/authorized_keys
-
-
- ### 'srun' with x11 support -Once RSA keys are setup, you can run any windows based application. For that, you need to +Merlin5 and Merlin6 clusters allow running any windows based applications. For that, you need to add the option ``--x11`` to the ``srun`` command. In example: ```bash @@ -243,7 +190,7 @@ exit ### 'salloc' with x11 support -Once RSA keys are setup, you can run any windows based application. For that, you need to +**Merlin5** and **Merlin6** clusters allow running any windows based applications. For that, you need to add the option ``--x11`` to the ``salloc`` command. In example: ```bash diff --git a/pages/merlin6/03 Job Submission/monitoring.md b/pages/merlin6/03 Job Submission/monitoring.md index f7ff08f..01cf3c4 100644 --- a/pages/merlin6/03 Job Submission/monitoring.md +++ b/pages/merlin6/03 Job Submission/monitoring.md @@ -8,7 +8,200 @@ sidebar: merlin6_sidebar permalink: /merlin6/monitoring.html --- -## Monitoring +## Slurm Monitoring + +### Job status + +The status of submitted jobs can be check with the ``squeue`` command: + +```bash +squeue -u $username +``` + +Common statuses: + +* **merlin-\***: Running on the specified host +* **(Priority)**: Waiting in the queue +* **(Resources)**: At the head of the queue, waiting for machines to become available +* **(AssocGrpCpuLimit), (AssocGrpNodeLimit)**: Job would exceed per-user limitations on + the number of simultaneous CPUs/Nodes. Use `scancel` to remove the job and + resubmit with fewer resources, or else wait for your other jobs to finish. +* **(PartitionNodeLimit)**: Exceeds all resources available on this partition. + Run `scancel` and resubmit to a different partition (`-p`) or with fewer + resources. + +Check in the **man** pages (``man squeue``) for all possible options for this command. + +
+[Show 'squeue' example] +
+[root@merlin-slurmctld01 ~]# squeue -u feichtinger
+             JOBID PARTITION     NAME     USER ST       TIME  NODES NODELIST(REASON)
+         134332544   general spawner- feichtin  R 5-06:47:45      1 merlin-c-204
+         134321376   general subm-tal feichtin  R 5-22:27:59      1 merlin-c-204
+
+
+ +### Partition status + +The status of the nodes and partitions (a.k.a. queues) can be seen with the ``sinfo`` command: + +```bash +sinfo +``` + +Check in the **man** pages (``man sinfo``) for all possible options for this command. + +
+[Show 'sinfo' example] +
+[root@merlin-l-001 ~]# sinfo -l
+Thu Jan 23 16:34:49 2020
+PARTITION AVAIL  TIMELIMIT   JOB_SIZE ROOT OVERSUBS     GROUPS  NODES       STATE NODELIST
+test         up 1-00:00:00 1-infinite   no       NO        all      3       mixed merlin-c-[024,223-224]
+test         up 1-00:00:00 1-infinite   no       NO        all      2   allocated merlin-c-[123-124]
+test         up 1-00:00:00 1-infinite   no       NO        all      1        idle merlin-c-023
+general*     up 7-00:00:00       1-50   no       NO        all      6       mixed merlin-c-[007,204,207-209,219]
+general*     up 7-00:00:00       1-50   no       NO        all     57   allocated merlin-c-[001-005,008-020,101-122,201-203,205-206,210-218,220-222]
+general*     up 7-00:00:00       1-50   no       NO        all      3        idle merlin-c-[006,021-022]
+daily        up 1-00:00:00       1-60   no       NO        all      9       mixed merlin-c-[007,024,204,207-209,219,223-224]
+daily        up 1-00:00:00       1-60   no       NO        all     59   allocated merlin-c-[001-005,008-020,101-124,201-203,205-206,210-218,220-222]
+daily        up 1-00:00:00       1-60   no       NO        all      4        idle merlin-c-[006,021-023]
+hourly       up    1:00:00 1-infinite   no       NO        all      9       mixed merlin-c-[007,024,204,207-209,219,223-224]
+hourly       up    1:00:00 1-infinite   no       NO        all     59   allocated merlin-c-[001-005,008-020,101-124,201-203,205-206,210-218,220-222]
+hourly       up    1:00:00 1-infinite   no       NO        all      4        idle merlin-c-[006,021-023]
+gpu          up 7-00:00:00 1-infinite   no       NO        all      1       mixed merlin-g-007
+gpu          up 7-00:00:00 1-infinite   no       NO        all      8   allocated merlin-g-[001-006,008-009]
+
+
+ +### Job efficiency + +Users can check how efficient are their jobs. For that, the ``seff`` command is available. + +```bash +seff $jobid +``` + +
+[Show 'seff' example] +
+[root@merlin-slurmctld01 ~]# seff 134333893
+Job ID: 134333893
+Cluster: merlin6
+User/Group: albajacas_a/unx-sls
+State: COMPLETED (exit code 0)
+Nodes: 1
+Cores per node: 8
+CPU Utilized: 00:26:15
+CPU Efficiency: 49.47% of 00:53:04 core-walltime
+Job Wall-clock time: 00:06:38
+Memory Utilized: 60.73 MB
+Memory Efficiency: 0.19% of 31.25 GB
+
+
+ +### List job attributes + +The ``sjstat`` command is used to display statistics of jobs under control of SLURM. To use it + +```bash +jstat +``` + +
+[Show 'sjstat' example] +
+[root@merlin-l-001 ~]# sjstat -v
+
+Scheduling pool data:
+----------------------------------------------------------------------------------
+                           Total  Usable   Free   Node   Time      Other          
+Pool         Memory  Cpus  Nodes   Nodes  Nodes  Limit  Limit      traits         
+----------------------------------------------------------------------------------
+test        373502Mb    88      6       6      1  UNLIM 1-00:00:00   
+general*    373502Mb    88     66      66      8     50 7-00:00:00   
+daily       373502Mb    88     72      72      9     60 1-00:00:00   
+hourly      373502Mb    88     72      72      9  UNLIM   01:00:00   
+gpu         128000Mb     8      1       1      0  UNLIM 7-00:00:00   
+gpu         128000Mb    20      8       8      0  UNLIM 7-00:00:00   
+
+Running job data:
+---------------------------------------------------------------------------------------------------
+                                                 Time        Time            Time                  
+JobID    User      Procs Pool      Status        Used       Limit         Started  Master/Other    
+---------------------------------------------------------------------------------------------------
+13433377 collu_g       1 gpu       PD            0:00    24:00:00             N/A  (Resources)
+13433389 collu_g      20 gpu       PD            0:00    24:00:00             N/A  (Resources)
+13433382 jaervine      4 gpu       PD            0:00    24:00:00             N/A  (Priority)
+13433386 barret_d     20 gpu       PD            0:00    24:00:00             N/A  (Priority)
+13433382 pamula_f     20 gpu       PD            0:00   168:00:00             N/A  (Priority)
+13433387 pamula_f      4 gpu       PD            0:00    24:00:00             N/A  (Priority)
+13433365 andreani    132 daily     PD            0:00    24:00:00             N/A  (Dependency)
+13433388 marino_j      6 gpu       R          1:43:12   168:00:00  01-23T14:54:57  merlin-g-007
+13433377 choi_s       40 gpu       R          2:09:55    48:00:00  01-23T14:28:14  merlin-g-006
+13433373 qi_c         20 gpu       R          7:00:04    24:00:00  01-23T09:38:05  merlin-g-004
+13433390 jaervine      2 gpu       R             5:18    24:00:00  01-23T16:32:51  merlin-g-007
+13433390 jaervine      2 gpu       R            15:18    24:00:00  01-23T16:22:51  merlin-g-007
+13433375 bellotti      4 gpu       R          7:35:44     9:00:00  01-23T09:02:25  merlin-g-001
+13433358 bellotti      1 gpu       R       1-05:52:19   144:00:00  01-22T10:45:50  merlin-g-007
+13433377 lavriha_     20 gpu       R          5:13:24    24:00:00  01-23T11:24:45  merlin-g-008
+13433370 lavriha_     40 gpu       R         22:43:09    24:00:00  01-22T17:55:00  merlin-g-003
+13433373 qi_c         20 gpu       R         15:03:15    24:00:00  01-23T01:34:54  merlin-g-002
+13433371 qi_c          4 gpu       R         22:14:14   168:00:00  01-22T18:23:55  merlin-g-001
+13433254 feichtin      2 general   R       5-07:26:11   156:00:00  01-18T09:11:58  merlin-c-204
+13432137 feichtin      2 general   R       5-23:06:25   160:00:00  01-17T17:31:44  merlin-c-204
+13433389 albajaca     32 hourly    R            41:19     1:00:00  01-23T15:56:50  merlin-c-219
+13433387 riemann_      2 general   R          1:51:47     4:00:00  01-23T14:46:22  merlin-c-204
+13433370 jimenez_      2 general   R         23:20:45   168:00:00  01-22T17:17:24  merlin-c-106
+13433381 jimenez_      2 general   R          4:55:33   168:00:00  01-23T11:42:36  merlin-c-219
+13433390 sayed_m     128 daily     R            21:49    10:00:00  01-23T16:16:20  merlin-c-223
+13433359 adelmann      2 general   R       1-05:00:09    48:00:00  01-22T11:38:00  merlin-c-204
+13433377 zimmerma      2 daily     R          6:13:38    24:00:00  01-23T10:24:31  merlin-c-007
+13433375 zohdirad     24 daily     R          7:33:16    10:00:00  01-23T09:04:53  merlin-c-218
+13433363 zimmerma      6 general   R       1-02:54:20    47:50:00  01-22T13:43:49  merlin-c-106
+13433376 zimmerma      6 general   R          7:25:42    23:50:00  01-23T09:12:27  merlin-c-007
+13433371 vazquez_     16 daily     R         21:46:31    23:59:00  01-22T18:51:38  merlin-c-106
+13433382 vazquez_     16 daily     R          4:09:23    23:59:00  01-23T12:28:46  merlin-c-024
+13433376 jiang_j1    440 daily     R          7:11:14    10:00:00  01-23T09:26:55  merlin-c-123
+13433376 jiang_j1     24 daily     R          7:08:19    10:00:00  01-23T09:29:50  merlin-c-220
+13433384 kranjcev    440 daily     R          2:48:19    24:00:00  01-23T13:49:50  merlin-c-108
+13433371 vazquez_     16 general   R         20:15:15   120:00:00  01-22T20:22:54  merlin-c-210
+13433371 vazquez_     16 general   R         21:15:51   120:00:00  01-22T19:22:18  merlin-c-210
+13433374 colonna_    176 daily     R          8:23:18    24:00:00  01-23T08:14:51  merlin-c-211
+13433374 bures_l      88 daily     R         10:45:06    24:00:00  01-23T05:53:03  merlin-c-001
+13433375 derlet       88 daily     R          7:32:05    24:00:00  01-23T09:06:04  merlin-c-107
+13433373 derlet       88 daily     R         17:21:57    24:00:00  01-22T23:16:12  merlin-c-002
+13433373 derlet       88 daily     R         18:13:05    24:00:00  01-22T22:25:04  merlin-c-112
+13433365 andreani    264 daily     R          4:10:08    24:00:00  01-23T12:28:01  merlin-c-003
+13431187 mahrous_     88 general   R       6-15:59:16   168:00:00  01-17T00:38:53  merlin-c-111
+13433387 kranjcev      2 general   R          1:48:47     4:00:00  01-23T14:49:22  merlin-c-204
+13433368 karalis_    352 general   R       1-00:05:22    96:00:00  01-22T16:32:47  merlin-c-013
+13433367 karalis_    352 general   R       1-00:06:44    96:00:00  01-22T16:31:25  merlin-c-118
+13433385 karalis_    352 general   R          1:37:24    96:00:00  01-23T15:00:45  merlin-c-213
+13433374 sato        256 general   R         14:55:55    24:00:00  01-23T01:42:14  merlin-c-204
+13433374 sato         64 general   R         10:43:35    24:00:00  01-23T05:54:34  merlin-c-106
+67723568 sato         32 general   R         10:40:07    24:00:00  01-23T05:58:02  merlin-c-007
+13433265 khanppna    440 general   R       3-18:20:58   168:00:00  01-19T22:17:11  merlin-c-008
+13433375 khanppna    704 general   R          7:31:24    24:00:00  01-23T09:06:45  merlin-c-101
+13433371 khanppna    616 general   R         21:40:33    24:00:00  01-22T18:57:36  merlin-c-208
+
+
+ +### Graphical user interface + +When using **ssh** with X11 forwarding (``ssh -XY``) users can use ``sview``. **SView** is a graphical user +interface to view and modify Slurm state. To run **sview**: + +```bash +ssh -XY $username@merlin-l-001.psi.ch +sview +``` + +!['sview' graphical user interface]({{ "/images/Slurm/sview.png" }}) + + +## General Monitoring The following pages contain basic monitoring for Slurm and computing nodes. Currently, monitoring is based on Grafana + InfluxDB. In the future it will @@ -20,16 +213,16 @@ support: ### Merlin6 Monitoring Pages * Slurm monitoring: - * [Merlin6 Slurm Live Status](https://hpc-monitor01.psi.ch/d/vpwNKUhZz/merlin6-slurm-live-status?refresh=10s&orgId=1) - * [Merlin6 Slurm Overview](https://hpc-monitor01.psi.ch/d/QzBI6QoZz/merlin5-slurm-overview?refresh=10s&orgId=1) + * [Merlin6 Slurm Live Status](https://hpc-monitor02.psi.ch/d/QNcbW1AZk/merlin6-slurm-live-status?orgId=1&refresh=10s) + * [Merlin6 Slurm Overview](https://hpc-monitor02.psi.ch/d/94UxWJ0Zz/merlin6-slurm-overview?orgId=1&refresh=10s) * Nodes monitoring: - * [Merlin6 CPU Nodes Overview](https://hpc-monitor01.psi.ch/d/JmvLR8gZz/merlin6-computing-cpu-nodes?refresh=10s&orgId=1) - * [Merlin6 GPU Nodes Overview](https://hpc-monitor01.psi.ch/d/98l409-mk/merlin6-computing-gpu-nodes?refresh=5s&orgId=1) + * [Merlin6 CPU Nodes Overview](https://hpc-monitor02.psi.ch/d/JmvLR8gZz/merlin6-computing-cpu-nodes?orgId=1&refresh=10s) + * [Merlin6 GPU Nodes Overview](https://hpc-monitor02.psi.ch/d/gOo1Z10Wk/merlin6-computing-gpu-nodes?orgId=1&refresh=10s) ### Merlin5 Monitoring Pages * Slurm monitoring: - * [Merlin5 Slurm Live Status](https://hpc-monitor01.psi.ch/d/UbKbewTWz/merlin5-slurm-live-status?refresh=10s&orgId=1) - * [Merlin5 Slurm Overview](https://hpc-monitor01.psi.ch/d/QzBI6QoZz/merlin5-slurm-overview?refresh=10s&orgId=1) + * [Merlin5 Slurm Live Status](https://hpc-monitor02.psi.ch/d/o8msZJ0Zz/merlin5-slurm-live-status?orgId=1&refresh=10s) + * [Merlin5 Slurm Overview](https://hpc-monitor02.psi.ch/d/eWLEW1AWz/merlin5-slurm-overview?orgId=1&refresh=10s) * Nodes monitoring: - * [Merlin5 CPU Nodes Overview](https://hpc-monitor01.psi.ch/d/a-TsfGpZk/merlin5-computing-cpu-nodes?refresh=10s&orgId=1) + * [Merlin5 CPU Nodes Overview](https://hpc-monitor02.psi.ch/d/ejTyWJAWk/merlin5-computing-cpu-nodes?orgId=1&refresh=10s) diff --git a/pages/merlin6/03 Job Submission/running-jobs.md b/pages/merlin6/03 Job Submission/running-jobs.md index 913a001..2fa0a77 100644 --- a/pages/merlin6/03 Job Submission/running-jobs.md +++ b/pages/merlin6/03 Job Submission/running-jobs.md @@ -1,40 +1,69 @@ --- -title: Running Jobs +title: Running Slurm Scripts #tags: -#keywords: -last_updated: 18 June 2019 -#summary: "" +keywords: batch script, slurm, sbatch, srun +last_updated: 23 January 2020 +summary: "This document describes how to run batch scripts in Slurm." sidebar: merlin6_sidebar permalink: /merlin6/running-jobs.html --- -## Commands for running jobs -* **``sbatch``**: to submit a batch script to Slurm +## The rules + +Before starting using the cluster, please read the following rules: + +1. Always try to **estimate and** to **define a proper run time** of your jobs: + * Use ``--time=`` for that. + * This will ease the scheduling. + * Slurm will schedule efficiently the queued jobs. + * For very long runs, please consider using ***[Job Arrays with Checkpointing](/merlin6/running-jobs.html#array-jobs-running-very-long-tasks-with-checkpoint-files)*** +2. Try to optimize your jobs for running within **one day**. Please, consider the following: + * Some software can simply scale up by using more nodes while drastically reducing the run time. + * Some software allow to save a specific state, and a second job can start from that state. + * ***[Job Arrays with Checkpointing](/merlin6/running-jobs.html#array-jobs-running-very-long-tasks-with-checkpoint-files)*** can help you with that. + * Use the **'daily'** partition when you ensure that you can run within one day: + * ***'daily'*** **will give you more priority than running in the** ***'general'*** **queue!** +3. Is **forbidden** to run **very short jobs**: + * Running jobs of few seconds can cause severe problems. + * Running very short jobs causes a lot of overhead. + * ***Question:*** Is my job a very short job? + * ***Answer:*** If it lasts in few seconds or very few minutes, yes. + * ***Question:*** How long should my job run? + * ***Answer:*** as the *Rule of Thumb*, from 5' would start being ok, from 15' would preferred. + * Use ***[Packed Jobs](/merlin6/running-jobs.html#packed-jobs-running-a-large-number-of-short-tasks)*** for running a large number of short tasks. + * For short runs lasting in less than 1 hour, please use the **hourly** partition. + * ***'hourly'*** **will give you more priority than running in the** ***'daily'*** **queue!** +4. Do not submit hundreds of similar jobs! + * Use ***[Array Jobs](/merlin6/running-jobs.html#array-jobs-launching-a-large-number-of-related-jobs)*** for gathering jobs instead. + +## Basic commands for running batch scripts + +**``sbatch``** is the command used for submitting a batch script to Slurm + * Use **``srun``**: to run parallel tasks. + * As an alternative, ``mpirun`` and ``mpiexec`` can be used. However, ***is strongly recommended to user ``srun``**** instead. * Use **``squeue``** for checking jobs status * Use **``scancel``** for deleting a job from the queue. -* **``srun``**: to run parallel jobs in the batch system -* **``salloc``**: to obtain a Slurm job allocation (a set of nodes), execute command(s), and then release the allocation when the command is finished. -## Slurm parameters +## Basic settings For a complete list of options and parameters available is recommended to use the **man** pages (``man sbatch``, ``man srun``, ``man salloc``). Please, notice that behaviour for some parameters might change depending on the command (in example, ``--exclusive`` behaviour in ``sbatch`` differs from ``srun``. In this chapter we show the basic parameters which are usually needed in the Merlin cluster. -### Running in Merlin5 & Merlin6 +### Clusters * For running jobs in the **Merlin6** computing nodes, users have to add the following option: -```bash -#SBATCH --clusters=merlin6 -``` + ```bash + #SBATCH --clusters=merlin6 + ``` * For running jobs in the **Merlin5** computing nodes, users have to add the following options: -```bash -#SBATCH --clusters=merlin5 -``` + ```bash + #SBATCH --clusters=merlin5 + ``` ***For advanced users:*** If you do not care where to run the jobs (**Merlin5** or **Merlin6**) you can skip this setting, however you must make sure that your code can run on both clusters without any problem and you have defined proper settings in your *batch* script. @@ -54,24 +83,25 @@ For Merlin6, if no partition is defined, ``general`` will be the default, while Please check the section [Slurm Configuration#Merlin6 Slurm Partitions] for more information about Merlin6 partition setup. -### Enabling/disabling hyperthreading +### Hyperthreaded vs non-Hyperthreaded jobs Computing nodes in **merlin6** have hyperthreading enabled: every core is running two threads. It means that for many cases it needs to be disabled and only those multithread-based applications will benefit from that. There are some parameters that users must apply: * For **hyperthreaded based jobs** users ***must*** specify the following options: -```bash -#SBATCH --ntasks-per-core=2 # Mandatory for multithreaded jobs -#SBATCH --hint=multithread # Mandatory for multithreaded jobs -``` + ```bash + #SBATCH --ntasks-per-core=2 # Mandatory for multithreaded jobs + #SBATCH --hint=multithread # Mandatory for multithreaded jobs + ``` * For **non-hyperthreaded based jobs** users ***must*** specify the following options: -```bash -#SBATCH --ntasks-per-core=1 # Mandatory for non-multithreaded jobs -#SBATCH --hint=nomultithread # Mandatory for non-multithreaded jobs -``` -### Shared nodes and exclusivity + ```bash + #SBATCH --ntasks-per-core=1 # Mandatory for non-multithreaded jobs + #SBATCH --hint=nomultithread # Mandatory for non-multithreaded jobs + ``` + +### Shared vs exclusive nodes The **Merlin5** and **Merlin6** clusters are designed in a way that should allow running MPI/OpenMP processes as well as single core based jobs. For allowing co-existence, nodes are configured by default in a shared mode. It means, that multiple jobs from multiple users may land in the same node. This behaviour can be changed by a user if they require exclusive usage of nodes. @@ -83,7 +113,7 @@ Exclusivity of a node can be setup by specific the ``--exclusive`` option as fol #SBATCH --exclusive ``` -### Slurm CPU Recommended Settings +### Time There are some settings that are not mandatory but would be needed or useful to specify. These are the following: @@ -111,62 +141,9 @@ If you want to the default names it can be done with the options ``--output`` an Use **man sbatch** (``man sbatch | grep -A36 '^filename pattern'``) for getting a list specification of **filename patterns**. -## CPU-based Jobs Settings +### GPU specific settings -CPU-based jobs are available for all PSI users. Users must belong to the ``merlin6`` Slurm ``Account`` in order to be able -to run on CPU-based nodes. All users registered in Merlin6 are automatically included in the ``Account``. - -### Slurm CPU Templates - -The following examples apply to the **Merlin6** cluster. - -#### Nomultithreaded jobs example - -The following template should be used by any user submitting jobs to CPU nodes: - -```bash -#!/bin/sh -#SBATCH --partition= # Specify 'general' or 'daily' or 'hourly' -#SBATCH --time= # Strictly recommended when using 'general' partition. -#SBATCH --output= # Generate custom output file -#SBATCH --error= # Generate custom error file -#SBATCH --ntasks-per-core=1 # Mandatory for non-multithreaded jobs -#SBATCH --hint=nomultithread # Mandatory for non-multithreaded jobs -##SBATCH --exclusive # Uncomment if you need exclusive node usage - -## Advanced options example -##SBATCH --nodes=1 # Uncomment and specify #nodes to use -##SBATCH --ntasks=44 # Uncomment and specify #nodes to use -##SBATCH --ntasks-per-node=44 # Uncomment and specify #tasks per node -##SBATCH --cpus-per-task=44 # Uncomment and specify the number of cores per task -``` - -#### Multithreaded jobs - -The following template should be used by any user submitting jobs to CPU nodes: - -```bash -#!/bin/sh -#SBATCH --partition= # Specify 'general' or 'daily' or 'hourly' -#SBATCH --time= # Strictly recommended when using 'general' partition. -#SBATCH --output= # Generate custom output file -#SBATCH --error= # Generate custom error file -#SBATCH --ntasks-per-core=2 # Mandatory for multithreaded jobs -#SBATCH --hint=multithread # Mandatory for multithreaded jobs -##SBATCH --exclusive # Uncomment if you need exclusive node usage - -## Advanced options example -##SBATCH --nodes=1 # Uncomment and specify #nodes to use -##SBATCH --ntasks=88 # Uncomment and specify #nodes to use -##SBATCH --ntasks-per-node=88 # Uncomment and specify #tasks per node -##SBATCH --cpus-per-task=88 # Uncomment and specify the number of cores per task -``` - -## GPU-based Jobs Settings - -**Merlin6** GPUs are available for all PSI users, however, this is restricted to any user belonging to the ``merlin-gpu`` account. By default, all users are added to this account (exceptions could apply). - -### Merlin6 GPU account +#### Slurm account When using GPUs, users must switch to the **merlin-gpu** Slurm account in order to be able to run on GPU-based nodes. This is done with the ``--account`` setting as follows: @@ -174,7 +151,7 @@ When using GPUs, users must switch to the **merlin-gpu** Slurm account in order #SBATCH --account=merlin-gpu # The account 'merlin-gpu' must be used ``` -### Slurm CPU Mandatory Settings +#### GRES The following options are mandatory settings that **must be included** in your batch scripts: @@ -182,7 +159,7 @@ The following options are mandatory settings that **must be included** in your b #SBATCH --gres=gpu # Always set at least this option when using GPUs ``` -#### Slurm GPU Recommended Settings +##### GRES advanced settings GPUs are also a shared resource. Hence, multiple users can run jobs on a single node, but only one GPU per user process must be used. Users can define which GPUs resources they need with the ``--gres`` option. @@ -197,15 +174,63 @@ In example: ***Important note:*** Due to a bug in the configuration, ``[:type]`` (i.e. ``GTX1080`` or ``GTX1080Ti``) is not working. Users should skip that and use only ``gpu[:count]``. This will be fixed in the upcoming downtimes as it requires a full restart of the batch system. -### Slurm GPU Template +## Batch script templates + +### CPU-based jobs templates + +The following examples apply to the **Merlin6** cluster. + +#### Nomultithreaded jobs template + +The following template should be used by any user submitting jobs to CPU nodes: + +```bash +#!/bin/bash +#SBATCH --partition= # Specify 'general' or 'daily' or 'hourly' +#SBATCH --time= # Strongly recommended +#SBATCH --output= # Generate custom output file +#SBATCH --error= # Generate custom error file +#SBATCH --ntasks-per-core=1 # Mandatory for non-multithreaded jobs +#SBATCH --hint=nomultithread # Mandatory for non-multithreaded jobs +##SBATCH --exclusive # Uncomment if you need exclusive node usage + +## Advanced options example +##SBATCH --nodes=1 # Uncomment and specify #nodes to use +##SBATCH --ntasks=44 # Uncomment and specify #nodes to use +##SBATCH --ntasks-per-node=44 # Uncomment and specify #tasks per node +##SBATCH --cpus-per-task=44 # Uncomment and specify the number of cores per task +``` + +#### Multithreaded jobs template + +The following template should be used by any user submitting jobs to CPU nodes: + +```bash +#!/bin/bash +#SBATCH --partition= # Specify 'general' or 'daily' or 'hourly' +#SBATCH --time= # Strongly recommended +#SBATCH --output= # Generate custom output file +#SBATCH --error= # Generate custom error file +#SBATCH --ntasks-per-core=2 # Mandatory for multithreaded jobs +#SBATCH --hint=multithread # Mandatory for multithreaded jobs +##SBATCH --exclusive # Uncomment if you need exclusive node usage + +## Advanced options example +##SBATCH --nodes=1 # Uncomment and specify #nodes to use +##SBATCH --ntasks=88 # Uncomment and specify #nodes to use +##SBATCH --ntasks-per-node=88 # Uncomment and specify #tasks per node +##SBATCH --cpus-per-task=88 # Uncomment and specify the number of cores per task +``` + +### GPU-based jobs templates The following template should be used by any user submitting jobs to GPU nodes: ```bash -#!/bin/sh +#!/bin/bash #SBATCH --partition=gpu_ # Specify 'general' or 'daily' or 'hourly' #SBATCH --gres="gpu::" # You should specify at least 'gpu' -#SBATCH --time= # Strictly recommended when using 'general' partition. +#SBATCH --time= # Strongly recommended #SBATCH --output= # Generate custom output file #SBATCH --error= squeue -u bliven_s - JOBID PARTITION NAME USER ST TIME NODES NODELIST(REASON) - 134507729 gpu test_scr bliven_s PD 0:00 3 (AssocGrpNodeLimit) - 134507768 general test_scr bliven_s PD 0:00 19 (AssocGrpCpuLimit) - 134507729 gpu test_scr bliven_s PD 0:00 3 (Resources) - 134506301 gpu test_scr bliven_s PD 0:00 1 (Priority) - 134506288 gpu test_scr bliven_s R 9:16 1 merlin-g-008 ``` -Common Statuses: +This will run 8 independent jobs, where each job can use the counter +variable `SLURM_ARRAY_TASK_ID` defined by Slurm inside of the job's +environment to feed the correct input arguments or configuration file +to the "myprogram" executable. Each job will receive the same set of +configurations (e.g. time limit of 8h in the example above). -* **merlin-\***: Running on the specified host -* **(Priority)**: Waiting in the queue -* **(Resources)**: At the head of the queue, waiting for machines to become available -* **(AssocGrpCpuLimit), (AssocGrpNodeLimit)**: Job would exceed per-user limitations on - the number of simultaneous CPUs/Nodes. Use `scancel` to remove the job and - resubmit with fewer resources, or else wait for your other jobs to finish. -* **(PartitionNodeLimit)**: Exceeds all resources available on this partition. - Run `scancel` and resubmit to a different partition (`-p`) or with fewer - resources. +The jobs are independent, but they will run in parallel (if the cluster resources allow for +it). The jobs will get JobIDs like {some-number}_0 to {some-number}_7, and they also will each +have their own output file. + +**Note:** + * Do not use such jobs if you have very short tasks, since each array sub job will incur the full overhead for launching an independent Slurm job. For such cases you should used a **packed job** (see below). + * If you want to control how many of these jobs can run in parallel, you can use the `#SBATCH --array=1-100%5` syntax. The `%5` will define + that only 5 sub jobs may ever run in parallel. + +You also can use an array job approach to run over all files in a directory, substituting the payload with + +``` bash +FILES=(/path/to/data/*) +srun ./myprogram ${FILES[$SLURM_ARRAY_TASK_ID]} +``` + +Or for a trivial case you could supply the values for a parameter scan in form +of a argument list that gets fed to the program using the counter variable. + +``` bash +ARGS=(0.05 0.25 0.5 1 2 5 100) +srun ./my_program.exe ${ARGS[$SLURM_ARRAY_TASK_ID]} +``` + +### Array jobs: running very long tasks with checkpoint files + +If you need to run a job for much longer than the queues (partitions) permit, and +your executable is able to create checkpoint files, you can use this +strategy: + +``` bash +#!/bin/bash +#SBATCH --job-name=test-checkpoint +#SBATCH --partition=general +#SBATCH --ntasks=1 +#SBATCH --time=7-00:00:00 # each job can run for 7 days +#SBATCH --cpus-per-task=1 +#SBATCH --array=1-10%1 # Run a 10-job array, one job at a time. +if test -e checkpointfile; then + # There is a checkpoint file; + myprogram --read-checkp checkpointfile +else + # There is no checkpoint file, start a new simulation. + myprogram +fi +``` + +The `%1` in the `#SBATCH --array=1-10%1` statement defines that only 1 subjob can ever run in parallel, so +this will result in subjob n+1 only being started when job n has finished. It will read the checkpoint file +if it is present. + + +### Packed jobs: running a large number of short tasks + +Since the launching of a Slurm job incurs some overhead, you should not submit each short task as a separate +Slurm job. Use job packing, i.e. you run the short tasks within the loop of a single Slurm job. + +You can launch the short tasks using `srun` with the `--exclusive` switch (not to be confused with the +switch of the same name used in the SBATCH commands). This switch will ensure that only a specified +number of tasks can run in parallel. + +As an example, the following job submission script will ask Slurm for +44 cores (threads), then it will run the =myprog= program 1000 times with +arguments passed from 1 to 1000. But with the =-N1 -n1 -c1 +--exclusive= option, it will control that at any point in time only 44 +instances are effectively running, each being allocated one CPU. You +can at this point decide to allocate several CPUs or tasks by adapting +the corresponding parameters. + +``` bash +#! /bin/bash +#SBATCH --job-name=test-checkpoint +#SBATCH --partition=general +#SBATCH --ntasks=1 +#SBATCH --time=7-00:00:00 +#SBATCH --ntasks=44 # defines the number of parallel tasks +for i in {1..1000} +do + srun -N1 -n1 -c1 --exclusive ./myprog $i & +done +wait +``` + +**Note:** The `&` at the end of the `srun` line is needed to not have the script waiting (blocking). +The `wait` command waits for all such background tasks to finish and returns the exit code. diff --git a/pages/merlin6/03 Job Submission/slurm-configuration.md b/pages/merlin6/03 Job Submission/slurm-configuration.md index 616d2f1..9619ab9 100644 --- a/pages/merlin6/03 Job Submission/slurm-configuration.md +++ b/pages/merlin6/03 Job Submission/slurm-configuration.md @@ -1,9 +1,9 @@ --- title: Slurm Configuration #tags: -#keywords: -last_updated: 18 June 2019 -#summary: "" +keywords: configuration, partitions, node definition +last_updated: 23 January 2020 +summary: "This document describes a summary of the Merlin6 configuration." sidebar: merlin6_sidebar permalink: /merlin6/slurm-configuration.html --- @@ -28,9 +28,9 @@ The following table show default and maximum resources that can be used per node | Nodes | Def.#CPUs | Max.#CPUs | #Threads | Def.Mem/CPU | Max.Mem/CPU | Max.Mem/Node | Max.Swap | Def.#GPUs | Max.#GPUs | |:-------------------| ---------:| ---------:| -------- | -----------:| -----------:| ------------:| --------:| --------- | --------- | -| merlin-c-[001-022] | 1 core | 44 cores | 2 | 4000 | 352000 | 352000 | 10000 | N/A | N/A | -| merlin-c-[101-122] | 1 core | 44 cores | 2 | 4000 | 352000 | 352000 | 10000 | N/A | N/A | -| merlin-c-[201-222] | 1 core | 44 cores | 2 | 4000 | 352000 | 352000 | 10000 | N/A | N/A | +| merlin-c-[001-024] | 1 core | 44 cores | 2 | 4000 | 352000 | 352000 | 10000 | N/A | N/A | +| merlin-c-[101-124] | 1 core | 44 cores | 2 | 4000 | 352000 | 352000 | 10000 | N/A | N/A | +| merlin-c-[201-224] | 1 core | 44 cores | 2 | 4000 | 352000 | 352000 | 10000 | N/A | N/A | | merlin-g-[001] | 1 core | 8 cores | 1 | 4000 | 102400 | 102400 | 10000 | 1 | 2 | | merlin-g-[002-009] | 1 core | 20 cores | 1 | 4000 | 102400 | 102400 | 10000 | 1 | 4 | diff --git a/pages/merlin6/03 Job Submission/slurm-examples.md b/pages/merlin6/03 Job Submission/slurm-examples.md index 1d1c107..cc8f2e8 100644 --- a/pages/merlin6/03 Job Submission/slurm-examples.md +++ b/pages/merlin6/03 Job Submission/slurm-examples.md @@ -1,160 +1,110 @@ --- title: Slurm Examples #tags: -#keywords: +keywords: example, template, examples, templates, running jobs, sbatch last_updated: 28 June 2019 -#summary: "" +summary: "This document shows different template examples for running jobs in the Merlin cluster." sidebar: merlin6_sidebar permalink: /merlin6/slurm-examples.html --- -## Basic single core job +## Single core based job examples -### Basic single core job - Example 1 +### Example 1 + +In this example we want to do not use hyper-threading (``--ntasks-per-core=1`` and ``--hint=nomultithread``). In our Merlin6 configuration, +the default memory per cpu (in Slurm, this is equivalent to memory per thread) is 4000MB, but in this example we are using 1 single thread +per core. As we are not using the second thread in the core, we can double the memory used by the single thread to 8000MB. When using one +single thread per core, doubling the memory is recommended (however, some applications might not need it). ```bash #!/bin/bash #SBATCH --partition=hourly # Using 'hourly' will grant higher priority -#SBATCH --ntasks-per-core=1 # Force no Hyper-Threading, will run 1 task per core +#SBATCH --ntasks-per-core=1 # Request the max ntasks be invoked on each core +#SBATCH --hint=nomultithread # Don't use extra threads with in-core multi-threading #SBATCH --mem-per-cpu=8000 # Double the default memory per cpu #SBATCH --time=00:30:00 # Define max time job will run #SBATCH --output=myscript.out # Define your output file #SBATCH --error=myscript.err # Define your error file -my_script +module load $module # ... +My_Script || srun $task # ... ``` -In this example we run a single core job by defining ``--ntasks-per-core=1`` (which is also the default). Since the default memory per -cpu is 4000MB (in Slurm, this is equivalent to the memory per thread), and we are using 1 single thread per core, default memory per CPU -should be doubled: using a single thread will always be accounted as if the job was using the whole physical core (which has 2 available -hyperthreads), hence we want to use the memory as if we were using 2 threads. +### Example 2 -### Basic single core job - Example 2 +In this example we want to do not use hyper-threading (``--ntasks-per-core=1`` and ``--hint=nomultithread``). We want to run a single +task but we need to use all the memory available in the node. For that, we need to define that the job will use the whole memory of +a node with ``--mem=352000`` (which is the maximum memory available on a single Apollo node). Whenever you want to run a job requiring +more memory than the default (4000MB per thread) is very important to specify the amount of memory that the job will use. ```bash #!/bin/bash #SBATCH --partition=hourly # Using 'hourly' will grant higher priority -#SBATCH --ntasks-per-core=1 # Force no Hyper-Threading, will run 1 task per core +#SBATCH --ntasks-per-core=1 # Request the max ntasks be invoked on each core +#SBATCH --hint=nomultithread # Don't use extra threads with in-core multi-threading #SBATCH --mem=352000 # We want to use the whole memory #SBATCH --time=00:30:00 # Define max time job will run #SBATCH --output=myscript.out # Define your output file #SBATCH --error=myscript.err # Define your error file -my_script +module load $module # ... +My_Script || srun $task # ... ``` -In this example we run a single core job by defining ``--ntasks-per-core=1`` (which is also the default). Also, we define that the -job will use the whole memory of a node with ``--mem=352000`` (which is the maximum memory available per Apollo node). Whenever -you want to run a job needing more memory than the default (4000MB per thread) is very important to specify the amount of memory that -the job will use. This must be done in order to avoid conflicts with other jobs from other users. +## Multi core based job examples -## Basic MPI with hyper-threading +### Example 1: with Hyper-Threading + +In this example we run a job that will run 88 tasks. Merlin6 Apollo nodes have 44 cores each one with hyper-threading +enabled. This means that we can run 2 threads per core, in total 88 threads. To accomplish that, users should specify +``--ntasks-per-core=2`` and ``--hint=multithread``. On the other hand, we add the option ``--exclusive`` to ensure +that the node usage is exclusive and no other jobs are running there. Finally, notice that the default memory per +thread is 4000MB; hence, in total this job can use up to 352000MB memory which is the maximum allowed in a single node. ```bash #!/bin/bash #SBATCH --partition=hourly # Using 'hourly' will grant higher priority #SBATCH --exclusive # Use the node in exclusive mode #SBATCH --ntasks=88 # Job will run 88 tasks -#SBATCH --ntasks-per-core=2 # Force Hyper-Threading, will run 2 tasks per core +#SBATCH --ntasks-per-core=2 # Request the max ntasks be invoked on each core +#SBATCH --hint=multithread # Use extra threads with in-core multi-threading #SBATCH --time=00:30:00 # Define max time job will run #SBATCH --output=myscript.out # Define your output file #SBATCH --error=myscript.err # Define your error file -module load gcc/8.3.0 openmpi/3.1.3 - -MPI_script +module load $module # ... +My_Script || srun $task # ... ``` -In this example we run a job that will run 88 tasks. Merlin6 Apollo nodes have 44 cores each one with HT -enabled. This means that we can run 2 threads per core, in total 88 threads. We add the option ``--exclusive`` to -ensure that the node usage is exclusive and no other jobs are running there. Finally, the default memory -per thread is 4000MB, in total this job can use up to 352000MB memory which is the maximum allowed in a single node. +### Example 2: without Hyper-Threading -## Basic MPI without hyper-threading +In this example we want to run a job that will run 44 tasks, and for performance reason we want to disable hyper-threading. +Merlin6 Apollo nodes have 44 cores each one with hyper-threading enabled. For ensure that only 1 thread will be used, users +should specify ``--ntasks-per-core=1`` and ``--hint=nomultithread``. With this configuration, each task will run in 1 thread, +and each tasks will be assigned to an independent core. We add the option ``--exclusive`` to ensure that the node usage is +exclusive and no other jobs are running there. Finally, in our Slurm configuration the default memory per thread is 4000MB, +but we want to use only 1 thread. This means that only half of the memory would be used. If the job requires more memory, +users need to increase it by either by setting ``--mem=352000`` or (exclusive) by setting ``--mem-per-cpu=8000``. ```bash #!/bin/bash #SBATCH --partition=hourly # Using 'hourly' will grant higher priority #SBATCH --ntasks=44 # Job will run 44 tasks -#SBATCH --ntasks-per-core=1 # Force no Hyper-Threading, will run 1 task per core +#SBATCH --ntasks-per-core=2 # Request the max ntasks be invoked on each core +#SBATCH --hint=nomultithread # Don't use extra threads with in-core multi-threading #SBATCH --mem=352000 # Define the whole memory of the node #SBATCH --time=00:30:00 # Define max time job will run #SBATCH --output=myscript.out # Define your output file #SBATCH --error=myscript.err # Define your output file -module load gcc/8.3.0 openmpi/3.1.3 - -MPI_script +module load $module # ... +My_Script || srun $task # ... ``` -In this example we run a job that will run 44 tasks, and Hyper-Threading will not be used. Merlin6 Apollo nodes have 44 cores -each one with HT enabled. However, defining ``--ntasks-per-core=1`` we force the use of one single thread per core (if this is -not defined, will be the default, but is recommended to add it explicitly). Each task will -run in 1 thread, and each tasks will be assigned to an independent core. We add the option ``--exclusive`` to ensre that the node -usage is exclusive and no other jobs are running there. Finally, since the default memory per thread is 4000MB and we use only -1 thread, we want to avoid using half of the memory: we have to specify that we will use the whole memory of the node with the -option ``--mem=352000`` (which is the maximum memory available in the node)`. +## Advanced examples -## Advanced Slurm Example - -Copy-paste the following example in a file called myAdvancedTest.batch): - -```bash -#!/bin/bash -#SBATCH --partition=daily # name of slurm partition to submit -#SBATCH --time=2:00:00 # limit the execution of this job to 2 hours, see sinfo for the max. allowance -#SBATCH --nodes=2 # number of nodes -#SBATCH --ntasks=44 # number of tasks - -module load gcc/8.3.0 openmpi/3.1.3 -module list - -echo "Example no-MPI:" ; hostname # will print one hostname per node -echo "Example MPI:" ; mpirun hostname # will print one hostname per ntask -``` - -In the above example are specified the options ``--nodes=2`` and ``--ntasks=44``. This means that up 2 nodes are requested, -and is expected to run 44 tasks. Hence, 44 cores are needed for running that job (we do not specify ``--ntasks-per-core``, so it will -default to ``1``). Slurm will try to allocate a maximum of 2 nodes, both together having at least 44 cores. -Since our nodes have 44 cores / each, if nodes are empty (no other users have running jobs there), job can land on a single node -(it has enough cores to run 44 tasks). - -If we want to ensure that job is using at least two different nodes (i.e. for boosting CPU frequency, or because the job requires -more memory per core) you should specify other options. - -A good example is ``--ntasks-per-node=22``. This will equally distribute 22 tasks on 2 nodes. - -```bash -#SBATCH --ntasks-per-node=22 -``` - -A different example could be by specifying how much memory per core is needed. For instance ``--mem-per-cpu=32000`` will reserve -~32000MB per core. Since we have a maximum of 352000MB per Apollo node, Slurm will be only able to allocate 11 cores (32000MB x 11cores = 352000MB) per node. -It means that 4 nodes will be needed (max 11 tasks per node due to memory definition, and we need to run 44 tasks), in this case we need to change ``--nodes=4`` -(or remove ``--nodes``). Alternatively, we can decrease ``--mem-per-cpu`` to a lower value which can allow the use of at least 44 cores per node (i.e. with ``16000`` -should be able to use 2 nodes) - -```bash -#SBATCH --mem-per-cpu=16000 -``` - -Finally, in order to ensure exclusivity of the node, an option *--exclusive* can be used (see below). This will ensure that -the requested nodes are exclusive for the job (no other users jobs will interact with this node, and only completely -free nodes will be allocated). - -```bash -#SBATCH --exclusive -``` - -This can be combined with the previous examples. - -More advanced configurations can be defined and can be combined with the previous examples. More information about advanced -options can be found in the following link: https://slurm.schedmd.com/sbatch.html (or run 'man sbatch'). - -If you have questions about how to properly execute your jobs, please contact us through merlin-admins@lists.psi.ch. Do not run -advanced configurations unless your are sure of what you are doing. - -## Array Jobs - launching a large number of related jobs +### Array Jobs: launching a large number of related jobs If you need to run a large number of jobs based on the same executable with systematically varying inputs, e.g. for a parameter sweep, you can do this most easily in form of a **simple array job**. @@ -202,7 +152,7 @@ ARGS=(0.05 0.25 0.5 1 2 5 100) srun ./my_program.exe ${ARGS[$SLURM_ARRAY_TASK_ID]} ``` -## Array jobs for running very long tasks with checkpoint files +### Array jobs: running very long tasks with checkpoint files If you need to run a job for much longer than the queues (partitions) permit, and your executable is able to create checkpoint files, you can use this @@ -230,7 +180,7 @@ this will result in subjob n+1 only being started when job n has finished. It wi if it is present. -## Packed jobs - running a large number of short tasks +### Packed jobs: running a large number of short tasks Since the launching of a Slurm job incurs some overhead, you should not submit each short task as a separate Slurm job. Use job packing, i.e. you run the short tasks within the loop of a single Slurm job. @@ -264,3 +214,62 @@ wait **Note:** The `&` at the end of the `srun` line is needed to not have the script waiting (blocking). The `wait` command waits for all such background tasks to finish and returns the exit code. +## Hands-On Example + +Copy-paste the following example in a file called myAdvancedTest.batch): + +```bash +#!/bin/bash +#SBATCH --partition=daily # name of slurm partition to submit +#SBATCH --time=2:00:00 # limit the execution of this job to 2 hours, see sinfo for the max. allowance +#SBATCH --nodes=2 # number of nodes +#SBATCH --ntasks=44 # number of tasks +#SBATCH --ntasks-per-core=1 # Request the max ntasks be invoked on each core +#SBATCH --hint=nomultithread # Don't use extra threads with in-core multi-threading + +module load gcc/9.2.0 openmpi/3.1.5_merlin6 +module list + +echo "Example no-MPI:" ; hostname # will print one hostname per node +echo "Example MPI:" ; mpirun hostname # will print one hostname per ntask +``` + +In the above example are specified the options ``--nodes=2`` and ``--ntasks=44``. This means that up 2 nodes are requested, +and is expected to run 44 tasks. Hence, 44 cores are needed for running that job. Slurm will try to allocate a maximum of +2 nodes, both together having at least 44 cores. Since our nodes have 44 cores / each, if nodes are empty (no other users +have running jobs there), job can land on a single node (it has enough cores to run 44 tasks). + +If we want to ensure that job is using at least two different nodes (i.e. for boosting CPU frequency, or because the job +requires more memory per core) you should specify other options. + +A good example is ``--ntasks-per-node=22``. This will equally distribute 22 tasks on 2 nodes. + +```bash +#SBATCH --ntasks-per-node=22 +``` + +A different example could be by specifying how much memory per core is needed. For instance ``--mem-per-cpu=32000`` will reserve +~32000MB per core. Since we have a maximum of 352000MB per Apollo node, Slurm will be only able to allocate 11 cores (32000MB x 11cores = 352000MB) per node. +It means that 4 nodes will be needed (max 11 tasks per node due to memory definition, and we need to run 44 tasks), in this case we need to change ``--nodes=4`` +(or remove ``--nodes``). Alternatively, we can decrease ``--mem-per-cpu`` to a lower value which can allow the use of at least 44 cores per node (i.e. with ``16000`` +should be able to use 2 nodes) + +```bash +#SBATCH --mem-per-cpu=16000 +``` + +Finally, in order to ensure exclusivity of the node, an option *--exclusive* can be used (see below). This will ensure that +the requested nodes are exclusive for the job (no other users jobs will interact with this node, and only completely +free nodes will be allocated). + +```bash +#SBATCH --exclusive +``` + +This can be combined with the previous examples. + +More advanced configurations can be defined and can be combined with the previous examples. More information about advanced +options can be found in the following link: https://slurm.schedmd.com/sbatch.html (or run 'man sbatch'). + +If you have questions about how to properly execute your jobs, please contact us through merlin-admins@lists.psi.ch. Do not run +advanced configurations unless your are sure of what you are doing. diff --git a/pages/merlin6/03 Job Submission/using-modules.md b/pages/merlin6/03 Job Submission/using-modules.md index 00377a5..6c0c9a2 100644 --- a/pages/merlin6/03 Job Submission/using-modules.md +++ b/pages/merlin6/03 Job Submission/using-modules.md @@ -34,14 +34,14 @@ Also, you can load multiple packages at once. This can be useful for instance wh ```bash # Single line -module load gcc/8.3.0 openmpi/3.1.3 +module load gcc/9.2.0 openmpi/3.1.5_merlin6 # Multiple line -module load gcc/8.3.0 -module load openmpi/3.1.3 +module load gcc/9.2.0 +module load openmpi/3.1.5_merlin6 ``` -In the example above, we load ``openmpi/3.1.3`` but we also specify ``gcc/8.3.0`` which is a strict dependency. The dependency must be +In the example above, we load ``openmpi/3.1.5_merlin6`` but we also specify ``gcc/9.2.0`` which is a strict dependency. The dependency must be loaded in advance. ---