| 開発者 | スケジュールMD |
|---|---|
| 安定版リリース | ダウンロード
|
| リポジトリ |
|
| 書かれた | C |
| オペレーティング·システム | Linux、BSD |
| タイプ | クラスターとスーパーコンピューターのジョブ スケジューラ |
| ライセンス | GNU 一般公衆利用許諾書 |
| Webサイト | slurm.schedmd.com |
Slurm Workload Manager は、以前はSimple Linux Utility for Resource Management ( SLURM )、または単にSlurmと呼ばれていましたが、世界中の多くのスーパーコンピューターやコンピューター クラスターで使用されている、 LinuxおよびUnix 系カーネル用の無料のオープン ソース ジョブ スケジューラーです。
次の 3 つの主要機能を提供します。
- ユーザーが作業を実行できるように、一定期間、リソース(コンピュータノード)への排他的または非排他的アクセスをユーザーに割り当てる。
- 割り当てられたノードのセット上でのメッセージパッシングインターフェース(MPI)などの並列ジョブを開始、実行、監視するためのフレームワークを提供し、
- 保留中のジョブのキューを管理することで、リソースの競合を仲裁します。
SlurmはTOP500スーパーコンピュータの約60%のワークロードマネージャです。[1]
Slurmは、並列コンピュータ上のタスク割り当ての局所性を最適化するために、ヒルベルト曲線スケジューリングまたはファットツリーネットワークトポロジに基づく最適アルゴリズムを使用します。 [2]
歴史
Slurmは、フリーソフトウェアのリソースマネージャとして、ローレンス・リバモア国立研究所、SchedMD、[3] Linux NetworX、ヒューレット・パッカード、Groupe Bullの共同作業として開発が始まりました。これはクローズドソースのQuadrics RMSに触発され、同様の構文を共有しています。名前はフューチュラマのソーダを参照しています。[4]世界中で100人以上の人々がこのプロジェクトに貢献しました。それ以来、多くの大規模コンピュータセンターの要件を満たすことができる洗練されたバッチスケジューラに進化しました。
2021 年 11 月現在[アップデート]、世界で最も強力なコンピューターの TOP500リストによると、Slurm は上位 10 システムの半数以上のワークロード マネージャーとなっています。
構造
Slurm の設計はモジュール化されており、約 100 個のオプション プラグインがあります。最もシンプルな構成では、数分でインストールして構成できます。より高度な構成では、アカウンティング、リソース制限の管理、ワークロードの優先順位付けのためのデータベース統合が提供されます。
特徴
Slurm の機能は次のとおりです: [引用が必要]
- 単一障害点なし、バックアップデーモン、フォールトトレラントジョブオプション
- 高いスケーラビリティ( IBM Sequoiaの 100,000 ソケットで最大 100,000 の独立したジョブをスケジュール)
- 高いパフォーマンス(1 秒あたり最大 1000 件のジョブ送信と 1 秒あたり最大 600 件のジョブ実行)
- フリーでオープンソースのソフトウェア ( GNU General Public License )
- 約100個のプラグインで高度に構成可能
- 階層型銀行口座による公平な分配スケジュール
- プリエンプティブおよびギャングスケジューリング(並列ジョブのタイムスライス)
- 会計と構成のためのデータベースと統合
- ネットワーク トポロジとノード上のトポロジ (ソケット、コア、ハイパースレッド) に最適化されたリソース割り当て
- 事前予約
- アイドルノードは電源を切ることができる
- ジョブごとに異なるオペレーティングシステムを起動できる
- 汎用リソースのスケジューリング(例:グラフィックス プロセッシング ユニット)
- タスクレベルまでのリアルタイムアカウンティング(CPU またはメモリの使用率が高い特定のタスクを識別)
- ユーザーまたは銀行口座によるリソース制限
- ジョブごとの電力消費量の計算
- IBM 並列環境 (PE/POE) のサポート
- ジョブ配列のサポート
- ジョブプロファイリング(各タスクの CPU 使用率、メモリ使用率、電力消費量、ネットワークおよびファイルシステムの使用率の定期的なサンプリング)
- 洗練された多要素ジョブ優先順位付けアルゴリズム
- MapReduce+のサポート
- 科学データの移動を高速化するバーストバッファのサポート
2014年11月にリリースされたSlurmのバージョン14.11では、以下の機能が発表されています。[5]
- ジョブ配列データ構造とスケーラビリティの改善
- 異機種汎用リソースのサポート
- CPUガバナーを設定するためのユーザーオプションを追加する
- 終了値に基づく自動ジョブ再キューイングポリシー
- ユーザー、タイプ、回数、消費時間別に API の使用状況をレポートします。
- 通信ゲートウェイノードはスケーラビリティを向上
サポートされているプラットフォーム
Slurmは主にLinuxディストリビューションと連携して動作するように開発されていますが、 BSD(FreeBSD、NetBSD、OpenBSD )を含む他のいくつかのPOSIXベースのオペレーティングシステムもサポートされています。[6] Slurmは、次のようないくつかのユニークなコンピュータアーキテクチャもサポートしています。
- IBM BlueGene /Qモデル(20ペタフロップスのIBM Sequoiaを含む)
- Cray XT、XE、Cascade
- 天河2号は、 32,000個のIntel Ivy Bridgeチップと48,000個のIntel Xeon Phiチップを搭載し、合計310万コアの33.9ペタフロップスシステムです。
- IBM 並列環境
- アントン
ライセンス
Slurm はGNU General Public License v2に基づいて利用できます。
商用サポート
2010 年、Slurm の開発者は SchedMD を設立しました。同社は標準ソースの保守、開発、レベル 3 の商用サポート、トレーニング サービスを提供しています。Bull 、Cray、Science + Computing ( Atosの子会社) からも商用サポートを受けることができます。
使用法

`slurm` システムには 3 つの主要な部分があります。
- 単一の制御ノード上で実行される中央の `slurmctld` (slurm control)デーモン(オプションでフェイルオーバーバックアップ付き)。
- 多数のコンピューティング ノードがあり、それぞれに 1 つ以上の `slurmd` デーモンがあります。
- 多くの場合sshを使用してマネージャー ノードに接続するクライアント。
クライアントは制御デーモンにコマンドを発行することができ、制御デーモンはそれを受けてコンピューティングデーモンに作業負荷を分割します。
クライアントの場合、主なコマンドは `srun` (対話型ジョブをキューに入れる)、`sbatch` (ジョブをキューに入れる)、`squeue` (ジョブ キューを印刷する)、`scancel` (キューからジョブを削除する) です。
ジョブはバッチ モードまたは対話モードで実行できます。対話モードでは、コンピューティング ノードがシェルを起動し、クライアントをシェルに接続してジョブを実行します。そこから、ユーザーは実行中のジョブを観察し、操作することができます。通常、対話型ジョブは初期デバッグに使用され、デバッグ後に同じジョブが `sbatch` によって送信されます。バッチ モード ジョブの場合、その `stdout` および `stderr` 出力は通常、後で検査できるようにテキスト ファイルに送信されます。
参照
- クラスターのジョブ スケジューラとバッチ キューイング
- ベオウルフクラスター
- マウイ クラスター スケジューラ
- オープンソース クラスタ アプリケーション リソース(OSCAR)
- トルク
- ユニバグリッドエンジン
- プラットフォーム LSF
参考文献
- ^ 「Slurm を使用して HPC でジョブを実行する | HPC | USC」。hpcc.usc.edu。2019年 3 月 6 日のオリジナルからアーカイブ。2019 年 3 月 5 日に取得。
- ^ Pascual, Jose Antonio; Navaridas, Javier; Miguel-Alonso, Jose (2009)。トポロジを考慮した割り当てポリシーのスケジューリング パフォーマンスへの影響。並列処理のジョブ スケジューリング戦略。コンピュータ サイエンスの講義ノート。第 5798 巻。pp . 138–144。doi : 10.1007/978-3-642-04633-9_8。ISBN 978-3-642-04632-2。
- ^ 「Slurm 商用サポート、開発、およびインストール」。SchedMD。2014年 2 月 23 日閲覧。
- ^ 「SLURM: リソース管理用のシンプルな Linux ユーティリティ」(PDF) 2003 年 6 月 23 日. 2016 年1 月 11 日閲覧。
- ^ 「Slurm - What's New」。SchedMD 。 2014年8月29日閲覧。
- ^ スラームプラットフォーム
さらに読む
- Balle, Susanne M.; Palermo, Daniel J. (2008)。マルチコア/マルチスレッド サポートによるオープン ソース リソース マネージャーの強化。並列処理のジョブ スケジューリング戦略。コンピュータ サイエンスの講義ノート。第 4942 巻。p. 37。doi : 10.1007/978-3-540-78699-3_3。ISBN 978-3-540-78698-6。
- Jette, M.; Grondona, M. (2003 年 6 月)。「SLURM: リソース管理用のシンプルな Linux ユーティリティ」(PDF)。ClusterWorldカンファレンスおよびエキスポの議事録。カリフォルニア州サンノゼ。
- Layton, Jeffrey B. (2009 年 2 月 5 日)。「Caos NSA と Perceus: オールインワン クラスター ソフトウェア スタック」。Linux Magazine。2009年 2 月 11 日時点のオリジナルよりアーカイブ。
{{cite journal}}: CS1 メンテナンス: 不適切 URL (リンク) - Yoo, Andy B.; Jette, Morris A.; Grondona, Mark (2003)。SLURM :リソース管理用のシンプルな Linux ユーティリティ。並列処理のためのジョブ スケジューリング戦略。コンピュータ サイエンスの講義ノート。第 2862 巻。p. 44。CiteSeerX 10.1.1.10.6834。doi : 10.1007 / 10968987_3。ISBN 978-3-540-20405-3。
外部リンク
- Slurm ドキュメント
- スケジュールMD
- Slurm Workload Manager アーキテクチャの構成と使用
- Caltech HPC センター: ジョブ スクリプト ジェネレーター
