ジョブ管理システム~ Altair Grid Engine , Altair PBS Professional

CPUのマルチコア化の進展、マルチGPU搭載サーバーの普及、AI及び機械学習分野の利用技術の高度化、ビッグデータ分野に求められる膨大なデータ処理などに見られる通り、ハードウェア及びソフトウェアについて監視するリソースやジョブの実行条件は従来と比べて大変複雑であり、ジョブ管理システムに求められる実装も、極めて高度なものとなりました。そのようなテクノロジーの急激な進展に対応するべく、ジョブ管理システムにおいても、精力的なソフトウェアの開発が進められており、また、運用上の様々な課題に即応するべく、その実装は変化しています。

弊社では、Altair® Grid Engine®及びAltair® PBS Professional®について、その開発元であるアルテアエンジニアリング株式会社との連携により、最新技術をはじめとする様々な技術支援を受けながら、弊社に長年にわたり蓄積されたノウハウを交えまして、実践的なサポートをご提供してまいります。

2022年7月1日 アルテアエンジニアリング株式会社との販売代理店契約について

Altair® Grid Engine®

大規模クラスタから小規模な計算機環境まで、あらゆる計算機環境にも適応したジョブ管理システムです。Sun Grid Engine(SGE)やUniva Grid Engine(UGE)の流れを汲みます。それらの環境に馴染みのある​ユーザー様はAltair® Grid Engine®をご選択下さい。

ライセンス種別OEM、リセール
ライセンス単位CPUコア数、GPU数
ライセンス年限1年単位 (複数年契約可能)
ユーザー種別アカデミック、コマーシャル共通

※OEMライセンスは、弊社の販売するデル社製サーバーのみに適用可能なバンドルライセンスです。リセールライセンスにはサーバーのメーカー及び機種の指定はありません。

Altair® PBS Professional®

大規模クラスタから小規模な計算機環境まで、あらゆる計算機環境にも適応したジョブ管理システムです。利用環境はOpenPBSやTorqueとの親和性が高く、それらの環境に馴染みのある​ユーザー様はPBS Proをご選択下さい。

ライセンス種別リセール
ライセンス単位CPUソケット数、GPU数
ライセンス年限・ライセンス本体 + 保守 1年 ※初年度
・初年度以降、1年単位の保守料金
(複数年契約可能)
ユーザー種別アカデミック、コマーシャル共通

ジョブ管理システムの活用シーン

(1) 適切な​空きリソースへのジョブの配置
(2) ホストのグルーピング
(3) 多様なスケジューリング機能で公平な共同利用環境の運用
(4) 大量のジョブ投入に最適な配列ジョブ
(5) GPUとの連携
(6) ジョブとソフトウェアライセンスの連携

(1) 適切な​空きリソースへのジョブの配置

ジョブに実行時間やメモリ量などの計算リソースを指定して、ジョブを実行することが可能です。

  • 必要数のCPUが空いているサーバーに並列ジョブを投入
  • 全てのジョブの実行時間を予め定めた規程時間に制限
  • 複数のジョブで主メモリの量を超えないようにジョブ投入
  • Hybrid MPI and OpenMP Parallelジョブの実行
  • 特定のDockerイメージが利用可能なホストへのジョブ投入
  • ​ジョブに必要なリソースの予約を​してジョブの投入

(2) ホストのグルーピング

​ホストをグループ化して、キューに定義することで、目的とするサーバーへのジョブ投入を容易にします。

  • Intel CPUサーバーとAMD CPUサーバーを分けてジョブを投入
  • 大容量メモリのサーバーをまとめてキューに構成
  • GPUを搭載したサーバーと搭載していないサーバーを分けてジョブ運用

(3) 多様なスケジューリング機能で公平な共同利用環境の運用

  • ユーザーまたはグループあたりのジョブ数制限​
  • ​チケットによりユーザー及びグループの優先順位を設定したスケジューリング
  • ユーザーの実行ジョブ数に応じて、そのジョブの優先順位を動的に制御するスケジューリング
  • 予め定めたポリシーに応じた共有リソースの割当
  • ジョブの実行の順序に依存関係を持たせたジョブを実行

(4) 大量のジョブ投入に最適な配列ジョブ

多くのパラメータや入力ファイルを与えて、同種のジョブを並行処理させるような利用方法では、配列ジョブの利用が最適です。大量のジョブ投入スクリプトを作成するのではなく、パラメーターや入力ファイルをインデックス化した上で、配列ジョブとして実行することでスループット性能の向上を図ります。​

  • ​ディレクトリに含まれる大量のファイルをリスト化及びインテックス化し、同一コマンドで並行処理

(5) GPUとの連携

GPUの利用にあたっては、GPUに対する割り当てポリシーの設定が必要になるだけではなく、GPUを利用するジョブはDockerやSingularityなどのミドルウェアを利用することが多いため、ジョブの実行には数多くのオプションが必要となります。そのような複雑なオプションを伴うジョブの実行には、ジョブ管理システムが提供するスクリプトによるテンプレート化が極めて有効です。

  • 複数のジョブで利用が干渉しないようにGPUをジョブに割り当て
  • 2台のGPUを専有して利用可能なDockerコンテナでジョブの実行

(6) ジョブとソフトウェアライセンスの連携

商用のアプリケーションを実行する場合に、実行可能なジョブ数やプロセス数がライセンスによって制限されている場合があります。そのような場合は、ジョブ管理システム上でライセンスリソースを設定することで、ソフトウェアライセンスの制限を考慮したスケジューリングが可能となる場合があります。ジョブ管理ソフトでライセンスの制限を把握できていなければ、ライセンスの有無に関わらずジョブを実行させてしまい、ジョブをfailさせてしまう可能性がありますので、ジョブ管理システムは、そのような障害を未然に防ぐ役割を果たします。