PBS Professionalの特長

TOP500のスーパーコンピューターのみならず、単一サイトのクラスタ環境やクラウド環境まで、世界中の何千という組織で使用されているPBS Professionalは、複雑なHPCインフラの管理に必要とされる、強力な管理性能、柔軟性、セキュリティ、スケーラビリティ、信頼性を提供します。

ポリシーベースおよびリソースベースのスケジューリング


  • 調節可能な優先順位、フェアシェア、予約、プリエンプション、アクセス制御リスト(ACL)、バックフィルを利用してSLA要件を達成

  • formulaの使用により、オンザフライの例外を含め、柔軟なスケジューリングポリシーを定義。完全な数学関数(sqrt()、ceil()など)や条件式の使用に加え、ジョブ開始要件のしきい値設定も可能

  • フェアシェアで、負荷に応じたシステムリソースの適切な割り当てを実現(直近の使用状況や組織としての優先順位を考慮してリソースを調節)

  • 一般的なfairshare formula - 各キュー単位、ライセンス共有、時間、消費電力を累積でき、これらを組み合わせすることも可能

  • きめ細かいポリシー設定のためのユーザー、グループ、およびプロジェクト制限

  • リソースの先行予約と継続予約により、繰り返し必要なリソースを確保

  • プリエンプションとチェックポイント(サスペンド / チェックポイント / 再キューイング)で、優先順位の高いジョブを即座に実行

  • プリエンプションやバックフィルのポリシーをキューレベルで細かく設定

  • (スケジューリングサイクルに割り込ませることで)優先順位の高いジョブの処理を即座に実行可能

  • 非優先ジョブをマークして、最優先ジョブのバックフィルの余地を確保

  • 経過時間に基づいたスケジューリングにより、キュー内でのeligible wait timeの長さに応じて優先順位を調節

  • 動的リソースを通じたライセンスのスケジューリングにより、FlexLMなどのサードパーティ製ライセンス管理ソフトウェアによって提供されるソフトウェアライセンスを割り当て / 共有

  • Eligible timeにより、一部のユーザーが大量のジョブを“キューに詰め込んだ”場合でも、ジョブの公平な優先順位付けが可能

  • Intel® Xeon Phi™コプロセッサーだけでなくあらゆるアクセラレーター(NVIDIA、AMD)へのアクセスを管理し、利用優先順位付けを行うGPU / コプロセッサースケジューリング

ユーザーの生産性

  • バッチジョブだけでなく、インタラクティブジョブ(自動X11転送も含む)も実行可能

  • ジョブ予測開始時刻の表示により、ワークフローの計画と期日の遵守が可能

  • “1回のみ実行”を保証するセマンティクスにより、副作用のあるジョブの実行回数を確実に1回以下に制限

  • 数千の似たタスクを1つのオブジェクトとして投入・管理する標準シンタックスを持つジョブアレイ(実験計画法(DOE)のワークフロー向けなど)

  • 履歴を含んだジョブステータス(“qstat -x”による)が、ジョブの追跡記録の紛失を防止

  • ジョブの依存関係を利用して、複雑なワークフローを定義して自動的に実行可能

  • ハイブリッドMPI+OpenMPのジョブで、具体的な要件を指定可能(たとえば、各MPIランクが4つのOpenMPスレッドを持つ64並列のMPIジョブにおいて、MPIランク0では64 GBのメモリ、それ他すべてのランクでは1 GBのみのメモリを使用)

  • リソースの先行予約と継続予約により、繰り返し必要なリソースを確保

管理者の生産性

  • ジョブおよびシステムステータスのレポートユーティリティ(“特定のジョブ”の分散されたすべてのログデータを収集するデバッグユーティリティなど)

  • オンザフライの構成変更(ノードの追加 / 削除、構成設定の変更、デーモンの再起動、さらには新しいカスタムリソースの定義)のすべてを、実行中のジョブに悪影響を与えることなく実施

  • 詳細なトラブルシューティングやカスタムレポートの作成に利用できる、広範なアカウンティングデータ

  • ノードへのユーザーのログインを制限 — restrict_user機能により、(PBSを経由せずに)直接ログインしてノードを使用することを禁止

  • “非表示”のリソースを定義することで、詳細の公開先ユーザーを限定した内部のスケジューリングポリシーを設定

  • プラグインフレームワーク(“hooks”)を利用して、カスタムのヘルスチェック、障害回避、通知の機能を追加可能(処理能力の低いノードをオフラインにする、スケジューリングサイクルを再起動する、ジョブを別のキューに再登録するなど)

  • フックイベントで、ジョブの投入、起動、ホストのブート、タスクのアタッチ、さらにはサーバー周期などのジョブのライフサイクル全体をカバー。各種ツールを活用して、hookを簡単にオーサリング(hook単位での設定ファイルの調整、オフラインデバッグサポート、トラブルシューティングを意識したログの向上)。

  • プラグインの改善。qstatやアカウンティングレポートにオンザフライで表示される、カスタムの使用状況測定が追加可能に

  • PBSのランタイム環境(“hook”インターフェース)からノード情報にアクセス。runjob hook内からノードのオフライン化(“ブラックホール”対策)などが可能

  • qmgrコマンドラインの編集 / 履歴

  • Linuxの標準的な管理機能をサポート(RPM、systemd、Python(2.7)など)

  • プラットフォームとサードパーティソフトウェアの広範なサポート。Linux、Windows、MPI、OpenMPなど、ほぼすべての環境で実行可能(詳細は、「サポートされているプラットフォーム」をご覧ください)

スケーラビリティ、セキュリティ、レジリエンス

  • 百万コアのスケーラビリティ -- 50,000以上のノードで試験済み

  • cgroupでリソースの競合を防止 -- ジョブが高速で処理され、ほかのジョブやOSに干渉しない*

  • 組み込みのマルチスレッドデータベースにより、数千人単位のユーザーが数百万単位のコアで同時にジョブを実行するために必要な高ボリューム・高速パフォーマンスを実現

  • 自動バックグラウンド処理による高速なジョブ投入(1ユーザーあたり1秒間に最大で100 qsubが可能)

  • 高速なイベントベースのスケジューリングでジョブを迅速に開始。ファジーバックフィルなどの様々な最適化により、スケジューリングスピードを向上

  • コモンクライテリアEAL3+セキュリティ認証

  • SELinuxサポートにより、Red Hatクロスドメインセキュリティ(マルチレベルセキュリティ、MLS)機能を利用可能。Kerberos v5 を実装*

  • MUNGE経由の認証サポートにより、セキュリティを強化

  • 万全の信頼性。単一障害点(SPOF)が存在しないアーキテクチャーと自動フェイルオーバー サーバー構成

  • 包括的なヘルスチェックフレームワークがユーザーのヘルスチェックスクリプトの挙動を監視 -- チェックが実行されるか、ノードがダウンと判定される

アプリケーションのパフォーマンス

  • 巨大なMPIジョブを高速かつ確実に起動 – 何万ものMPIランクを持つジョブで試験済み。障害が発生したノードによる遅延を最小限に抑制

  • ヘテロジニアスなMPI割り当て(ランク0には64GBのメモリを割り当て、その他のランクには1GBだけを割り当てるなど)により、メモリの無駄を削減

  • 強化されたジョブ配置オプションにより、MPIタスクのvnode単位(NUMAノードやGPUなどの単位)での分散や、ホストの排他的な割り当てが可能(たとえば、ジョブをCrayシステム上や指定時間内のみHPE SGI UVシステム上に割り当てたり利用できる)

  • (ノード間およびノード内の)トポロジーを考慮したスケジューリングで、アプリケーションのパフォーマンスを最大化しながら、ジョブ間のネットワーク競合を最小化。PBS Professionalでは、InfiniBandやGigEのほか、HPE社やCray社といったベンダーの独自技術に構築されたトポロジーなど、すべてのHPCネットワークトポロジーでタスク配置を最適化

  • ノードのグループ化により、似た属性(同じCPU速度など)のノードへのジョブの割り当てを保証し、ハードウェアの使用効率を最大化(そのため、速度の遅いノードが1つ含まれていても、100ウェイのMPIジョブの速度は低下しない)

スループット、利用率、無駄の最小化

  • 短時間ジョブの高速スループット -- 1日に1,000,000以上のジョブを処理可能

  • 自動的なリソースシャットダウン/リスタートによりエネルギーを節約する
    Green Provisioning™ (消費電力に配慮したスケジューリング)。(1ユーザーのエネルギー消費量が最大30%削減された事例がございます。)
  • Backfill TopNスケジューリングにより、最優先の作業を遅延させることなく不要なサイクルを削除

  • 動的なプロビジョニングによりOSを自動的に変更し、ワークロードのニーズの変化に対応

  • ”shrink-to-fit”ジョブにより、特に、計画されているシステム停止前のリソースの利用率が向上し、ジョブが即座に実行可能。わずか数カ月で800,000以上のアイドルCPU時間を取り戻すことができたというスーパーコンピューティングセンターの事例もございます

  • ジョブアレイによりスループットを最大化し、制限のないジョブのスケジューリング、実行、管理を実現

  • Altairのピアスケジューリングテクノロジーに基づいたメタスケジューリングにより、異なるクラスタ間でジョブをスケジューリング・管理

  • ヘテロジニアスなノード群(あるいはクラスタ群全体)を“1つの巨大なクラスタ”に集約。サイロをなくしてリソースの共有の幅を広げることで、全体の利用率を向上し、無駄を削減

  • 間接リソースを分割共有可能(ラック1台につきスクラッチディスク1つを共有など)

  • デスクトップサイクルハーベスティングにより、デスクトップシステム上のアイドルサイクルを利用してジョブを実行することで、無駄を削減してスループットを向上。特に、夜間や週末に便利

  • 負荷分散により、複数のジョブを実行しているコンピューターの過負荷を防止

  • CPU利用率が100%に満たないジョブのスループットを高めるために、オーバーサブスクリプションでコア数よりも多いジョブを実行(ノードに超過割り当て)

  • ノードのソートにより、ジョブに割り当てるハードウェアに優先順位を付けることで、利用可能な最高のリソースを使用

オープンアーキテクチャーと拡張性

  • 標準:POSIX Batch標準、EAL3+セキュリティ、各種Webサービス、Python

  • 広範なプラットフォームをサポート(LinuxおよびWindows)

  • MPI統合。MPIジョブの完全な使用状況アカウンティングをはじめ、すべての主要なMPIライブラリに対応

  • Pythonにより、1つのスクリプトをすべてのアーキテクチャーで利用可能

  • オープンなソースコード

  • ジョブのフィルタリング hook機能により、その場で機能の変更 / 拡張が可能

  • ユーザーがカスタマイズ可能な“runjob” hookにより、割り当ての制限を厳格に管理可能

  • 並列のprologue hook : ジョブのセットアップ時間に、複雑な(カスタムの)ノードのヘルスチェックを実施可能

  • 並列のepilogue hook: ジョブの完了後に、ホスト開放直前の最後のアクションとして、最終的な(カスタムの)クリーンアップアクションを実施可能

  • 定期ノードレベルのhook: ノードのヘルスチェックの実行、リソースの空きと使用状況の測定・報告、障害が発生したノードの再起動・オフライン化が可能

 

*現在利用制限があります - 本機能のお客様のサイトへの導入については、Altairにお問い合わせください。

情報請求



利用開始!