2012-12-31

Torque の設定

計算機資源の管理ツール Torque のインストールと設定方法をまとめる. 使用したバージョンは, 4.2.0 である. EL 6, 5 の混在した環境である. バージョンアップが早いので, web で設定方法を調べる場合には, メジャーバージョンが同じものかに注意する必要がある. 古いバージョンでは, 設定方法が異なる場合がある.

使用構成

Torque は, 1つのファイルサーバと複数の計算機とから構成されるシステムにおいて使用することができる. (他の構成では不可能なわけではない.)

Torque 自体は, ヘッドノードと計算ノードとから構成される. 通常は, 1つのヘッドノードと いくつかの計算ノードとから構成される. 1つのマシンにてヘッドノードと計算ノード両方を兼ねることもできる. 以下では, ヘッドノードのホスト名を headnode, 計算ノードのホスト名を node01, node02... として表す.

ビルド

rpmbuild にて, 以下の RPM を作成した. (その他, el5 の RPM も作成する.)
torque-4.2.0-1.el6.x86_64.rpm
torque-client-4.2.0-1.el6.x86_64.rpm
torque-debuginfo-4.2.0-1.el6.x86_64.rpm
torque-devel-4.2.0-1.el6.x86_64.rpm
torque-scheduler-4.2.0-1.el6.x86_64.rpm
torque-server-4.2.0-1.el6.x86_64.rpm

インストール

以下のようにして, ヘッドノードへインストールする.
headnode # rpm -Uvh torque-4.2.0-1.el6.x86_64.rpm
headnode # rpm -Uvh torque-server-4.2.0-1.el6.x86_64.rpm
headnode # rpm -Uvh torque-scheduler-4.2.0-1.el6.x86_64.rpm
headnode # rpm -Uvh torque-client-4.2.0-1.el6.x86_64.rpm
headnode # iptables -I INPUT -j ACCEPT -m tcp -p tcp --dport 15001:15005
なぜか, torque-client もインストールしないと設定できない. この時点で, pbs_server, pbs_sched, trqauthd がインストールされる. ヘッドノードで, 設定する.
headnode # service pbs_server start
headnode # qmgr
create node node01"
create node node02"
...
create queue batch
set queue batch queue_type = Execution
set queue batch resources_default.nodes = 1
set queue batch resources_default.walltime = 01:00:00
set queue batch enabled = True
set queue batch started = True
set server scheduling = True
set server default_queue = batch
このあと, pbs_server の再起動が必要かもしれない. 設定したノードの状態を確認するには以下のコマンドを使用する.
headnode $ pbsnodes -a
もし, offline と表示された場合は,
headnode $ pbsnodes -c node01
にて解除する.

計算ノードには, 以下のようにそれぞれインストール・設定する.

node01 # rpm -Uvh torque-4.2.0-1.el6.x86_64.rpm
node01 # rpm -Uvh torque-client-4.2.0-1.el6.x86_64.rpm
node01 # iptables -I INPUT -j ACCEPT -m tcp -p tcp --dport 15001:15005
node01 # cat /var/spool/torque/server_name
headnode
node01 # cat /var/spool/torque/mom_priv/config
$pbsserver headnode

2012-12-26

Fedora 17/18 におけるサスペンドの失敗

最近, Fedora 17/18 において時々サスペンドに失敗することが起こっていたのだが, もしかすると, nmi_watchdog を無効にしたことが原因かもしれない. 以下のようなファイルを作って, 様子をみてみよう.
$ cat /etc/pm/sleep.d/10nmi_watchdog 
#! /bin/sh

. "${PM_FUNCTIONS}"

case "$1" in
 hibernate|suspend)
  cat /proc/sys/kernel/nmi_watchdog > /dev/shm/nmi_watchdog.saved
  echo 1 > /proc/sys/kernel/nmi_watchdog
  ;;
 resume|thaw)
  cat /dev/shm/nmi_watchdog.saved > /proc/sys/kernel/nmi_watchdog
  ;;
esac
なお, 使用しているマシンは, Thinkpad X201s で, Fedora 17 の時も 18 にアップグレードしてからも症状は変わらない.

2013-04-03 追記
どうも, サスペンド状態にあるときに USB 接続の機器を抜くと, その後, サスペンド復帰, 再度サスペンドした時に失敗するようだ. USB の電源管理をいじったのが原因かな... カーネルのアップデートと関係があったのではなく, 携帯電話をUSB経由で充電する習慣がついたことが原因だったようだ.

2012-12-20

ICCの配置に関するコマンド

相対的な配置制約

セルとセルとの相対的な位置関係を設定できる.
set_fp_relative_location

マクロアレイ

これはどのような機能だろうか?
set_fp_macro_array

グループ

セルやモジュールを指定して, 配置位置のグループを設定できる. 2種類のグループを指定できる. hardグループでは, グループに属するセルは必ず指定した位置の中に配置される. softグループでは, グループに属するセルでも指定した位置の外に配置されることがある. グループに属さないセルは, 指定した位置の中に配置されることはない.
create_bounds -type hard
create_bounds -type soft

電源ドメイン

電源ドメインを設定すると, 配置だけでなく電源配線も分離することができる. 以下に例を示す.
create_voltage_area -coordinate {0 0 72 72} -name P1 {I0} -guard_band_x 8 -guard_band_y 8 -cycle_color
レベルシフタやバッファの挿入はどのようにされるのだろうか?

ドメイン内であれば, バッファはうまく挿入されるようである. 電源ドメインをまたぐ場合は, どのように処理されるのだろうか?

座標指定

コマンド set_attribute にて, 属性 (origin, is_placed, is_fixed, orientation) を設定する. 以下に例を示す.
set inst [get_cells I0/C0]
set_attribute $inst origin {72 144}
set_attribute $inst is_placed true
set_attribute $inst is_fixed true
set_attribute $inst orientation N
あるいは, 以下のコマンドでもできるのだろうか?
set_cell_location

2012-12-13

SPF レコードのチェック

SPF レコードの記述を間違えると,
Authentication-Results: mx.google.com; spf=permerror (google.com: domain of hoge@example.com uses a mechanism not recognized by this client. unknown  mechanisms: )) smtp.mail=hoge@example.com
というヘッダが付加されることがある. 以下のページで, 記述を検証することができる.

2012-12-05

リソース制限を設定

Linux では, ユーザ毎にリソース (プロセス, メモリ) の使用可能数を設定することができる. RHEL 6 では, /etc/security/limits.d/ に設定ファイルを書く. 例えば, ユーザ hoge だけがたくさんのプロセスを起動できるようにするには以下のように書く.
*       soft    nproc 16
hoge    soft    nproc 2048