Slurm Workload Manager

Slurm Workload Manager



Slurm Workload Manager(以下、Slurm)は、LinuxおよびUnix系オペレーティングシステム向けに開発されたフリーでオープンソースなジョブスケジューラーです。Slurmは、スーパーコンピュータやコンピュータクラスタを管理するための重要なツールであり、世界中で広く使用されています。ここでは、Slurmの主要な機能、歴史、構造、特長、サポートされているプラットフォーム、ライセンス、商用サポートについて詳しく説明します。

主な機能


Slurmは、以下の三つの基本的な機能を提供しています。1つ目は、ユーザーに対してコンピューターノードへのアクセスを管理し、リソースを効率的に割り当てることです。2つ目は、割り当てられたノードでのジョブの監視と実行を行い、特にMPIなどの並列ジョブにおいてその効果を発揮します。最後に、Slurmは待機中のジョブのキューを効果的に管理し、リソースの競合を解決します。

特に、TOP500のリストにおいて、Slurmは約60%のスーパーコンピューターで使用されており、その中にはかつて世界最速とされたTianhe-2も含まれています。また、SlurmはHilbertカーブやFat treeネットワークトポロジーに基づいた最適化手法を用いており、並列コンピュータ上でのタスクの局所性を向上させています。

歴史


Slurmの開発は、主にローレンス・リバモア国立研究所やSchedMD、ヒューレット・パッカードの協力によって始まりました。もともとは、Quadrics RMSというクローズドソースのシステムに触発されており、名前はアニメシリーズ『フューチュラマ』のエピソードに由来しています。世界中の100人以上の開発者が、このプロジェクトに貢献しており、スケーラブルかつ効率的なバッチシステムへと進化しています。

Slurmは2017年11月の時点で、TOP500リストのシステム中6つに採用され、特にSunway TaihuLightのような高性能なスパコンでも用いられるなど、その利用範囲は広がっています。

構造


Slurmは、モジュール構造を持ち、約100種類のプラグインを使用して柔軟なカスタマイズが可能です。基本的なインストールは数分で済み、より高度な機能を活用するためには、データベースとの統合やリソースの制限管理が可能になります。

特徴的な機能


Slurmの特徴的な機能には、単一障害点の不在やバックアップデーモンによる耐障害性の強化、スケーラビリティの高さなどが挙げられます。例えば、IBM Sequoiaでは、最大100,000の独立したジョブをスケジューリングでき、極めて高いパフォーマンスを誇ります。また、リアルタイムでの統計情報の取得や、各ジョブごとの異なるオペレーティングシステムの起動も可能です。これにより、ユーザーは資源を効率的に利用し、最大限のパフォーマンスを引き出せます。

対応プラットフォーム


Slurmは、主にLinuxディストリビューションで動作しますが、FreeBSDやNetBSDといった他のPOSIX準拠のOSもサポートしています。特定のアーキテクチャにおいても利用可能で、IBM BlueGene/QやCray XTシリーズなどの高性能コンピュータにも対応しています。

ライセンスと商用サポート


SlurmはGNU General Public License V2の下で行われており、誰でも自由に使用、修正することができます。また、商用サポートに関しては、2010年からはSchedMDが設立され、標準ソースのメンテナンスやトレーニングサービス、商用サポートを提供しています。これにより、企業ユーザーも安心して利用できる環境が整っています。

まとめ


Slurmは、非常に高性能でスケーラブルなオープンソースのジョブスケジューラーであり、大規模な計算リソースを効率的に管理するための優れたソリューションを提供しています。スーパーコンピュータやクラスタでの利用が進む中で、その重要性はますます高まっています。

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。