大規模シミュレーションのためのジョブ管理ソフトウェア
シミュレーション実行管理フレームワークOACIS
OACIS(Organizing Assistant for Comprehensive and Interactive Simulations)はwebインターフェースを用いてインタラクティブにジョブを管理することができる、オープンソースの実行管理フレームワークです。さまざまなパラメータの組み合わせで多数のシミュレーションを実行し、結果をわかりやすくまとめたい場面で威力を発揮します。どなたでも無料でお使いいただけます。
計算機シミュレーションによって研究を行う際には「ある決められたパラメータやモデルで一度計算したら終わり」というようなことはほとんどなく、パラメータやモデルを試行錯誤的に変えながら計算していくことが大半です。 しかし、パラメータを変えながら数値実験していると、すぐに数百から数万もの実験結果が生まれ、それらを手動で管理するのは効率が悪いだけでなく、間違いのもとになりかねません。OACISはこうした手に余る操作をユーザーから隠蔽し、システマティックなパラメータ探索を可能にします。
シミュレーション結果から得られた出力数値からブラウザ上でグラフを作ることができ、手軽に解析を行うことができます。これによって、ユーザーは煩雑なファイル操作やプロッターの操作から解放され、計算終了直後から、すぐに本質的な作業に集中できるようになります。途中で別のパラメータセットで実験がしたくなった場合にも、簡単に追加が可能なため、試行錯誤的にシミュレーションを実行していくことが可能です。
OACISを稼働させるサーバーと、計算を実行するサーバーを個別に設定可能です。手元のPCで完結するような比較的小規模な計算でも、OACISをインストールすれば、結果を整理しながら研究を進めることができます。大規模な計算では、計算を実行するサーバーとしてスーパーコンピュータ「京」を設定するケースまで想定されています。また、OACISを稼働させるサーバーを職場のワークステーションに設定し、好きな場所からOACISのインターフェースにアクセスして作業を進めることも可能です。
実行ログはすべて消えずに保存され、わざわざログを残すコマンドを書くといった作業が不要になります。失敗したジョブのログも残るのでデバッグも容易です。今すぐに、やってみたい計算を実行し、トライアル・アンド・エラーで改善していくことが可能です。
PCクラスタやスーパーコンピュータを利用する場合、それぞれのジョブスケジューラの仕様に則ったシェルスクリプトを書くことが必要になります。OACISはスケジューラ用のスクリプトをカスタマイズする仕組みを用意しています。様々な計算環境で利用可能です。
パラメータの選択やジョブの実行をスクリプト言語で自動化できます。これを利用してパラメータの自動チューニングや最適化を行うことができます。アルゴリズムを工夫すれば、探索範囲を絞り込みながらパラメータスイープし、全計算量を削減するといった高度な処理も可能です。