Slurm Workload Manager

ウィキペディアから

Slurm Workload Manager(旧称:Simple Linux Utility for Resource Management、SLURM)またはSlurmは、LinuxおよびUnix系カーネルのためのフリーでオープンソースジョブスケジューラーである。世界中の多くのスーパーコンピューターコンピュータークラスタで使用されている。Slurmは3つの主要な機能を提供している。1番目は、計算を実行するユーザーに対してリソース(コンピューターノード)への排他的・非排他的なアクセスを割り当てる機能である。2番目は、割り当てられたノードの集合上でのジョブの開始、実行、モニタリング(MPIなどの並列ジョブでよく使用される)を行う機能である。3番目は、待機中のジョブのキューを管理することで、リソースへの競合を解決する機能である。

概要 最新版, リポジトリ ...
Slurm
Thumb
最新版
25.05.2[1]  / 2025年8月7日 (57日前)
リポジトリ
プログラミング
言語
C
対応OS LinuxBSDs
サポート状況 active
種別 クラスタおよびスーパーコンピュータ向けのジョブスケジューラー
ライセンス GNU General Public License
公式サイト www.schedmd.com
テンプレートを表示
閉じる

Slurmは、TOP500の約60%のスーパーコンピューターでワークロードマネージャーとして使用されている。これには、2016年まで世界最速だったTianhe-2が含まれる[2]

Slurmは、Hilbert curve scheduling英語版またはFat tree英語版ネットワークトポロジーに基づいた最良あてはめアルゴリズムを使用することで、並列コンピューターにおけるタスク割当の局所性を最適化している[3]

歴史

Slurmは当初、主にローレンス・リバモア国立研究所、SchedMD英語版[4]、Linux NetworX、ヒューレット・パッカードGroupe Bullによる共同開発のフリーソフトウェアリソースマネージャーとして始まった。クローズドソースのQuadrics RMSにインスパイアされており、似たような構文を持っている。名前はフューチュラマFry and the Slurm Factory英語版に由来する[5]。世界中の100人以上の開発者がプロジェクトに貢献している。以来、多くの巨大なコンピューターセンターの要求を満たす性能を持つ、洗練されたバッチシステムとして進化してきた。

2017年11月 (2017-11)現在、世界で最も高性能なコンピューターを表すTOP500リストにおいて、Slurmが上位10位中6個のシステムでワークロードマネージャーとして使用されている[2]。これには、10,649,600個の計算コアを持つ第1位のSunway TaihuLightも含まれる。

構造

Slurmは高度にモジュール化された設計になっており、約100個のオプションプラグインがある。最小構成であれば、数分でインストールと設定が可能である。より洗練された設定を行うことで、アカウントのデータベースとの統合、リソースの制限の管理、ワークロードの優先付けなどが使用できる。

特徴的な機能

Slurmの特徴的な機能としては、以下のような点が挙げられる。

  • 単一障害点が存在せず、バックアップデーモンを持ち、耐障害性のあるジョブオプションが設定できる
  • 極めてスケーラブルである(たとえば、IBM Sequoiaの100,000ソケット上で最大100,000の独立したジョブをスケジューリングできた)
  • ハイパフォーマンス(最大で、ジョブ登録が1,000ジョブ/秒、ジョブ実行が600ジョブ/秒)
  • フリーでオープンソースのソフトウェアである(GNU General Public License
  • 約100のプラグインを使用することで高度にカスタマイズが可能
  • 階層的なバンクアカウントを用いたフェアな共有スケジューリング
  • プリエンプティブ・ギャングスケジューリングの設定(並列ジョブの時間をスライスできる)
  • アカウントと設定をデータベースと統合
  • ネットワークトポロジーおよびノード上のトポロジー(ソケット、コア、ハイパースレッディング)に最適化したリソースの割り当て
  • 発展的なリソースの予約
  • アイドルノードの電源をオフにすることができる
  • 各ジョブごとに異なるオペレーティングシステムをブートすることができる
  • 一般のリソース(例:GPU)に対してスケジューリングが可能
  • リアルタイムのタスクレベルでの統計(UPUやメモリの使用量が高いタスクを特定できる)
  • ユーザーまたはバンクアカウントごとのリソース制限
  • ジョブごとの消費電力の集計
  • IBM Parallel Environment(PE/POE)のサポート
  • ジョブアレイのサポート
  • ジョブのプロファイリング(CPUの使用量、メモリの使用量、消費電力量、ネットワークおよびファイルシステムの使用量の定期的なサンプリング)
  • さまざまな指標に基づいた洗練されたジョブ優先度決定アルゴリズム
  • MapReduce+のサポート

以下の機能は、2014年11月にリリースされたSlurm14.11の機能である[6]

  • ジョブアレイデータ構造とスケーラビリティーの改善
  • heterogeneousな汎用のリソースのサポート
  • CPU governorを設定するユーザーオプションの追加
  • exitの値に基づいた自動ジョブリキューポリシー
  • レポートAPIを使用した、ユーザー・タスクの種類・回数・消費時間を取得
  • 通信ゲートウェイノードのスケーラビリティーの向上

対応プラットフォーム

Slurmは主にLinuxディストリビューションで動作するように開発されているが、少数のPOSIXベースのオペレーティングシステムBSDsFreeBSDNetBSDおよびOpenBSD)もサポートしている[7]。Slurmは以下のようなユニークなアーキテクチャーもサポートする。

  • 20 petaflop IBM Sequoiaを含むIBM BlueGene/Qモデル
  • Cray XT、XE、Cascade
  • Tianhe-2 - 32,000個のIntel Ivy Bridgeと48,000 Intel Xeon Phiを使用した、合計3,100,000のコアを持つ33.9ペタフロップスのシステム
  • IBM Parallel Environment
  • Anton

ライセンス

SlurmはGNU General Public License V2の元で使用できる。

商用サポート

2010年、Slurmの開発者たちはSchedMDを立ち上げ、標準ソースのメンテナンス、開発リソースの提供、レベル3の商用サポート、およびトレーニングサービスを提供している。商用サポートは、Bright Computing、Bull、Cray、およびScience + Computingからも提供されている。

関連項目

参考文献

追加資料

SLURMコマンド

外部リンク

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.