Resource Binding

Overview

Slurm version 18.08 has a rich set of options to control the default binding of tasks to resources. For example, tasks can be bound to individual threads, cores, sockets, NUMA or boards. See the slurm.conf and srun man pages for more information about how these options work. This document focuses on how default binding configuration can be configured. Default binding can be configured on a per-node, per-partition or global basis. The highest priority will be that specified using the srun --cpu-bind option. The next highest priority binding will be the node-specific binding if any node in the job allocation has some CpuBind configuration parameter and all other nodes in the job allocation either have the same or no CpuBind configuration parameter. The next highest priority binding will be the partition-specific CpuBind configuration parameter (if any). The lowest priority binding will be that specified by the TaskPluginParam configuration parameter.
Slurmバージョン18.08には、リソースへのタスクのデフォルトバインディングを制御するための豊富なオプションセットがあります。たとえば、タスクを個々のスレッド、コア、ソケット、NUMA、またはボードにバインドできます。これらのオプションの機能の詳細については、slurm.confおよびsrunのmanページを参照してください。このドキュメントでは、デフォルトのバインディング構成を構成する方法に焦点を当てています。デフォルトのバインディングは、ノードごと、パーティションごと、またはグローバルベースで構成できます。最高の優先順位は、srun --cpu-bindオプションを使用して指定されたものです。ジョブ割り当て内のいずれかのノードにCpuBind構成パラメーターがあり、ジョブ割り当て内の他のすべてのノードに同じか、CpuBind構成パラメーターがない場合、次に優先順位の高いバインディングはノード固有のバインディングになります。次に優先順位が高いバインディングは、パーティション固有のCpuBind構成パラメーター(ある場合)です。最も低い優先度のバインディングは、TaskPluginParam構成パラメーターで指定されたバインディングです。

  1. Srun --cpu-bind option
    Srun --cpu-bindオプション
  2. Node CpuBind configuration parameter (if all nodes match)
    Node CpuBind構成パラメーター(すべてのノードが一致する場合)
  3. Partition CpuBind configuration parameter
    Partition CpuBind構成パラメータ
  4. TaskPluginParam configuration parameter
    TaskPluginParam構成パラメーター

Srun --cpu-bind option

The srun --cpu-bind option will always be used to control task binding. If the --cpu-bind option only includes "verbose" rather than identifying the entities to be bound to, then the verbose option will be used together with the default entity based upon Slurm configuration parameters as described below.
srun --cpu-bindオプションは、タスクのバインドを制御するために常に使用されます。--cpu-bindオプションに、バインドするエンティティを識別するのではなく「verbose」のみが含まれている場合、verboseオプションは、以下で説明するようにSlurm構成パラメーターに基づいてデフォルトのエンティティと一緒に使用されます。

Node CpuBind Configuration

The next possible source of the resource binding information is the node's configured CpuBind value, but only if every node has the same CpuBind value (or no configured CpuBind value). The node's CpuBind value is configured in the slurm.conf file. Its value may be viewed or modified using the scontrol command. To clear a node's CpuBind value use the command:
リソースバインディング情報の次の可能なソースは、ノードの構成されたCpuBind値ですが、すべてのノードが同じCpuBind値を持っている(または構成されたCpuBind値がない)場合のみです。ノードのCpuBind値は、slurm.confファイルで構成されます。その値は、scontrolコマンドを使用して表示または変更できます。ノードのCpuBind値をクリアするには、次のコマンドを使用します。

scontrol update NodeName=... CpuBind=off

If a node_features plugin is configured, typically to support booting Intel KNL nodes into different NUMA and/or MCDRAM modes, the plugin can be configured to modify the node's CpuBind option based upon the NUMA mode. This is accomplished by specifying the NumaCpuBind parameter in the knl.conf configuration file with pairs of NUMA modes and CpuBind options. As soon as the node is booted into a new NUMA mode, the node's CpuBind option is automatically modified. For example, the following line in the knl.conf file
node_featuresプラグインが設定されている場合、通常、インテルKNLノードを別のNUMAモードまたはMCDRAMモードで起動することをサポートするために、NUMAモードに基づいてノードのCpuBindオプションを変更するようにプラグインを設定できます。これは、NUMAモードとCpuBindオプションのペアを使用して、knl.conf構成ファイルでNumaCpuBindパラメーターを指定することによって実現されます。ノードが新しいNUMAモードで起動されるとすぐに、ノードのCpuBindオプションが自動的に変更されます。たとえば、knl.confファイルの次の行

NumaCpuBind=a2a=core;snc2=thread

will set a node's CpuBind field to "core" when booted into "a2a" (all to all) NUMA mode and to "thread" when booted into "snc2 NUMA mode. Any NUMA mode not specified in the NumaCpuBind configuration file will result in no change to the node's CpuBind field.
ノードのCpuBindフィールドを「a2a」(すべて)NUMAモードで起動すると「core」に設定され、「snc2 NUMAモード」で起動すると「thread」に設定されます。NumaCpuBind構成ファイルで指定されていないNUMAモードの結果はnoになります。ノードのCpuBindフィールドに変更します。

Partition CpuBind Configuration

The next possible source of the resource binding information is the partition's configured CpuBind value. The partition's CpuBind value is configured in the slurm.conf file. Its value may be viewed or modified using the scontrol command.
リソースバインディング情報の次に考えられるソースは、パーティションの構成済みCpuBind値です。パーティションのCpuBind値は、slurm.confファイルで構成されます。その値は、scontrolコマンドを使用して表示または変更できます。

TaskPluginParam Configuration

The last possible source of the resource binding information is the TaskPluginParam configuration parameter from the slurm.conf file.
リソースバインディング情報の可能な最後のソースは、slurm.confファイルのTaskPluginParam構成パラメーターです。

Last modified 6 December 2017