LoginSignup
0
0

More than 5 years have passed since last update.

Torque ジョブマネージャを Ubuntu 16.04 にインストールする

Posted at

ちょっとした HPC 系ミニクラスタでジョブを走らせたいですね!

HPC 系だと Docker を使ってコンテナベースでジョブスケジューリングさせるとかが難しいので, 伝統的なバッチキューシステムが基本になりますね.

昨今ですと, このあたりは Torque, Slurm, OpenPBS などがあります.
学生時代に共用ワークステーションで qsub とか psub とかでジョブを実行した経験があるひともいるでしょう.

Slurm は SQL サーバが必要になったりしてセットアップが面倒なので, まずはセットアップが簡単そうな Torque を使ってみます.

インストール

あたりを参考に apt でインストールできます.

設定の注意点

pbs_server は常に動作するような実行モデルのようなので, pbs_server -t create で初期化したときは一度プロセスを終了させます.

$ sudo killall pbs_server

queue の作成

あたりを参考に queue を作ります. queue を作成したら qmgr -c 'p s' で設定を確認します.

#
# Create queues and set their attributes.
#
#
# Create and define queue batch
#
create queue batch
set queue batch queue_type = Execution
set queue batch enabled = True
set queue batch started = True
#
# Set server attributes.
#
set server scheduling = True
set server acl_hosts = francine
set server acl_hosts += torqueserver
set server default_queue = batch
set server log_events = 511
set server mail_from = adm
set server scheduler_iteration = 600
set server node_check_rate = 150
set server tcp_timeout = 6
set server next_job_number = 5

トラブルシューティング

あたりを参考にします.

ジョブがサブミットできない.

/etc/hosts でサーバーのホストネームと IP アドレスを対応づけているか確認する(IP が 127.0.1.1 とかのローカルアドレスだと NG)

ジョブが流れない.

以下のような感じで Q 状態のままでジョブが流れない.

Job id                    Name             User            Time Use S Queue
------------------------- ---------------- --------------- -------- - -----
4.francine                STDIN            syoyo                  0 Q batch 

pbsnodes -a で計算ノードが free になっているかどうか確認する.

$ pbsnodes -a
francine
     state = free
     np = 4
     ntype = cluster
     status = rectime=1526877914,varattr=,jobs=,state=free,netload=999047563,gres=francine:,loadave=0.03,ncpus=4,physmem=3998720kb,availmem=36164932kb,totmem=37445628kb,idletime=70399,nusers=5,nsessions=41,sessions=1100 1558 2036 2411 3027 20820 7261 8696 10881 12299 32315 17736 21403 23082 20733 20811 20832 20878 20879 20885 20883 20887 20910 20920 20963 20965 20970 20971 20986 21041 21042 21043 21045 21050 21051 21052 21053 21077 21143 21151 22731,uname=Linux francine 4.13.0-41-generic #46~16.04.1-Ubuntu SMP Thu May 3 10:06:43 UTC 2018 x86_64,opsys=linux

キューの設定で scheduling が有効になっているか確認する. 設定されていなければ,

$ sudo qmgr -c "set server scheduling = True"

として scheduling を有効にする.

TODO

  • NFS or Samba(CIFS)でファイル共有を行う.
  • 計算ノードへは ssh 公開鍵ログインで行う.
  • LDAP あたりでユーザ管理と認証を統一する.
  • デフォルトだと $HOMESTDIN, STDOUT ファイルができるので別の場所に作るようにする.
  • Slurm にチャレンジする.
  • https://github.com/facebook/bistro あたりのナウでヤングそうなジョブマネージャを試す.
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