LoginSignup
0
0

More than 3 years have passed since last update.

CentOS 7 + TORQUE + NUMA

Last updated at Posted at 2020-06-17

CPUソケット2基を有するマザーボードにCPUが2個インストールされているNUMA計算機を想定する.
例えば,CPUとしてXeonが2個インストールされているとする.
lscpuコマンドで確認すると,

$ lscpu
アーキテクチャ: x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                32
On-line CPU(s) list:   0-31
コアあたりのスレッド数:1
ソケットあたりのコア数:16
Socket(s):             2
NUMAノード:         2
ベンダーID:        GenuineIntel
CPUファミリー:    6
モデル:             85
Model name:            Intel(R) Xeon(R) Gold 6242 CPU @ 2.80GHz
ステッピング:    7
CPU MHz:               1200.048
CPU max MHz:           3900.0000
CPU min MHz:           1200.0000
BogoMIPS:              5600.00
仮想化:             VT-x
L1d キャッシュ:   32K
L1i キャッシュ:   32K
L2 キャッシュ:    1024K
L3 キャッシュ:    22528K
NUMAノード 0 CPU:   0-15
NUMAノード 1 CPU:   16-31

のように表示される場合である.
ここにもあるように,Xeon Gold 6242は16コアであり,確かにNUMAノード0に0番から15番の16コアが認識されている.
2個目はNUMAノード1として16番から31番の16コアが認識されている.
つまり計算機としては32コアの資源を有する.
(ハイパースレッディングテクノロジはオフにしてある)

ジョブ管理システムのセットアップ

OSはCentOS 7で,ジョブ管理システムとしてThe Terascale Open-source Resource and QUEue Manager (TORQUE) を使いたい.

まずCentOS 7でTorqueのセットアップに従いTORQUEサーバとクライアント,スケジューラをインストールする.

上述の記事に従って設定すると,pbsnodesコマンドでは1ノード (16コア) しか表示されていないはずである.
今の場合は2つのNUMAノードがあるので,
以下のように設定を一部書き換える必要がある.

/var/lib/torque/server_priv/nodes
HOSTNAME num_node_boards=2 numa_board_str=16
/var/lib/torque/mom_priv/mom.layout
nodes=0
nodes=1

ここでHOSTNAMEのところには計算機のホストネームが書き込まれているはずである.
num_node_boardsにはNUMAノードの個数を設定する.
numa_board_strにはNUMAノードあたりのCPUコア数を設定する.

以上を設定してtorqueをリスタート:

# systemctl restart pbs_server
# systemctl restart pbs_sched
# systemctl restart pbs_mom

再びpbsnodesコマンドを実行し,np=16, state=freeなノードが2個表示されれば成功.
ノードの名前はHOSTNAME-0HOSTNAME-1のようになっていると思う.

例えばOpenMPで32並列の計算を行う場合は,
ジョブスクリプトに以下のようなオプションを追加する:

#PBS -l nodes=2:ppn=16

この例では,2つ全てのNUMAノードとコア (合計32コア) が予約され,
このジョブの実行中(status:R)は他のジョブは待機状態(status:Q)となる.

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0