問題点とその背景
HPCマシン、より一般的な言い方をすればスパコンやクラスタと呼ばれるマシンであるが、これらはその殆どが高速なネットワークによってクラスタリングされた単体動作可能なLinuxマシンである。
さて、特に大規模なHPCマシンは1つの部署や1つの研究室が所有しているということは珍しい。多くはそのマシンを管理する専門の部署や、もしくは大学直下の研究センター、もしくは独立行政法人等が管理し、多数の利用者がそれを使うということになる。
利用者が増えれば、それだけマシンの負荷は増える。
特に広く用いられているTORQUEシステムやPBSシステムにおいては、計算ノードの資源を指定した分を排他的に使える代わりにジョブ待ちが多く発生し、また皆が作業するログインノードでは慢性的に資源不足に陥る。
これを解決するためにその管理団体は様々な対策を講じる。ログインノード自体の強化をしてくれる団体は素晴らしいが、概ねその対策というのはユーザーに対する制限である。
例えばとあるスパコンにおいては、計算ジョブの長さは例外はあるものの最大24時間とされ、ログインノードでの最大作業時間は10分未満となっている。
ジョブの長さが24時間なのはせめて許そう。そのような長い計算を投げるならば定期的にデータを書き出しリスタートが可能な状態にできるプログラムが多い。
24時間後にジョブを再投入すれば良いのだから、その問題は解決できる。
しかし、ログインノードで10分しか作業ができないのは頂けない。
ジョブの逐次実行用のスクリプトを投げても10分後には自動的にkillされてしまう。
これでは作業もままならない。困ったものである。