lsb.modules

lsb.modules ファイルには、 LSF スケジューラーおよびリソース・ブローカー・モジュールの構成情報が含まれています。 このファイルには、 PluginModuleという名前のセクションが 1 つだけ含まれています。

このファイルはオプションです。 スケジューラーまたはリソース・ブローカー・モジュールが構成されていない場合、 LSF は、 schmod_default および schmod_fcfsという名前のデフォルトのスケジューラー・プラグイン・モジュールを使用します。

lsb.modules ファイルは、ディレクトリー LSB_CONFDIR/cluster_name/configdirに保管されます。 LSB_CONFDIR パラメーターは、 lsf.conf ファイルで定義されます。

lsb.modules 構成の変更後

lsb.modules ファイルを変更した後、 badmin reconfig コマンドを実行して mbatchd デーモンを再構成します。

PluginModule セクション

説明

PluginModule セクションでは、 LSF スケジューラーおよび LSF リソース・ブローカーのプラグイン・モジュールを定義します。 PluginModule セクションが構成されていない場合、 LSF は、 LSF のデフォルト・スケジューリング機能を有効にする schmod_default および schmod_fcfsという名前のデフォルト・スケジューラー・プラグイン・モジュールを使用します。

PluginModule セクションの例

以下の PluginModule セクションは、 LSFによって提供されるすべてのスケジューリング・ポリシーを有効にします。
Begin PluginModule 
SCH_PLUGIN              RB_PLUGIN           SCH_DISABLE_PHASES
schmod_default               ()                      () 
schmod_fairshare             ()                      () 
schmod_fcfs                  ()                      () 
schmod_limit                 ()                      () 
schmod_parallel              ()                      () 
schmod_reserve               ()                      () 
schmod_preemption            ()                      ()
schmod_advrsv                ()                      () 
schmod_mc                    ()                      () 
schmod_jobweight             ()                      () 
schmod_cpuset                ()                      () 
schmod_pset                  ()                      ()
schmod_ps                    ()                      () 
schmod_aps                   ()                      () 
schmod_affinity              ()                      () 
schmod_demand                ()                      () 
End PluginModule

PluginModule セクションの構造

最初の行は、以下のキーワードで構成されます。

  • SCH_PLUGIN (SCH_PLUGIN)
  • RB_PLUGIN
  • SCH_DISABLE_フェーズ

これらは、構成するプラグインに対して使用不可にするスケジューラー・プラグイン、リソース・ブローカー・プラグイン、およびスケジューラー・フェーズを識別します。

各行には、プラグインに対して使用不可にする 1 つのスケジューラー・プラグイン・モジュール、リソース・ブローカー・プラグイン・モジュール、およびスケジューラー・フェーズ (ある場合) の構成情報が記述されます。 各行には、キーワードごとに 1 つの項目が含まれていなければなりません。 空の括弧 ( ) またはダッシュ (-) を使用して、エントリーのデフォルト値を指定します。

プラグインのスケジュール

説明

必須。 SCH_PLUGIN 列は、 LSF スケジューラー・プラグインの共有モジュール名を指定します。 スケジューラー・プラグインは、 PluginModule セクションにリストされている順序で呼び出されます。

デフォルトでは、スケジューラー・プラグインのすべての共有モジュールは、 lsf.conf ファイルの LSF_LIBDIR パラメーターで定義されたディレクトリーにあります。 UNIX および Linuxでは、スケジューラー・プラグインの名前の絶対パスを指定することもできます。

LSFには、以下のモジュールが付属しています。

Mod_default

デフォルトの LSF スケジューラー機能を有効にします。

シュmod_fcfs

先着順 (FCFS) スケジューラー機能を使用可能にします。 schmod_fcfs は、 SCH_PLUGIN リストの任意の場所に指定できます。 デフォルトでは、 schmod_fcfslsb.modules ファイルに設定されていない場合は、 schmod_defaultとともに自動的にロードされます。

schmod_fcfs スケジューラー・プラグイン・モジュールのソース・コード (sch.mod.fcfs.c) は、次のディレクトリーにインストールされます。
LSF_TOP/10.1.0/misc/examples/external_plugin/

LSF スケジューラー・プラグイン SDK を使用して、サイトのジョブ・スケジューリング要件に合わせて FCFS スケジューラー・モジュール・コードを変更します。

シュmod_童話

LSF フェア・シェア・スケジューリング機能を使用可能にします。

Mod_limit

LSF リソース割り振り制限機能を有効にします。

Mod_parallel

bsub -nで実行依頼されたパラレル・ジョブのスケジューリングを有効にします。

Mod_reserve

LSF リソース予約機能を有効にします。

パラレル・ジョブのプロセッサー予約、バックフィル、およびメモリー予約を有効にするには、 lsb.modulesschmod_parallelschmod_reserve の両方を構成する必要があります。 schmod_reserve のみが構成されている場合、バックフィルおよびメモリー予約は順次ジョブに対してのみ有効になり、プロセッサー予約は有効になりません。

シュク・プリエンプティブ

LSF 優先使用スケジューラー機能を有効にします。

シュmod_advrsv

事前予約 (brsvaddbrsvsbrsvdelbsub -U) を使用するジョブを処理します。

シュmod_cpuset

SGI を使用するジョブを処理します cpusets (bsub -ext[sched] "CPUSET[cpuset_options]")

schmod_cpuset プラグイン名は、 PluginModule リストの標準 LSF プラグイン名の後に構成する必要があります。

Mod_mc

IBM® Spectrum LSF マルチクラスター機能 ジョブ転送を有効にします。

シュmod_ps

EGO 対応 SLA スケジューリング・ポリシーのリソース所有権機能を有効にします

シュmod_aps

lsb.queues ファイル内の APS_PRIORITY パラメーターによって構成された絶対優先順位スケジューリング (APS) ポリシーを有効にします。

schmod_aps プラグイン名は、 PluginModule リスト内の schmod_Override プラグイン名の後に構成して、APS 値がフェア・シェア・ジョブ順序付けの決定をオーバーライドできるようにする必要があります。

Mod_affinity

lsf.conf ファイル内の AFFINITY パラメーターによって構成されます。

Mod_demand

lsf.conf ファイル内の LSB_RC_EXTERNAL_HOST_FLAG パラメーターによって構成された LSF リソース・コネクター機能を有効にします。

スケジューラー・プラグイン SDK

LSF スケジューラー・プラグイン SDK を使用して、ジョブ・スケジューリングの柔軟性と制御を向上させるカスタマイズされたスケジューラー・モジュールを作成します。 lsb.modules ファイルの PluginModules セクションの SCH_PLUGIN の下でモジュールを構成して、カスタム・スケジューリング・ポリシーを有効にします。

以下のディレクトリーには、サンプル・プラグイン・コードが含まれています。
LSF_TOP/10.1.0/misc/examples/external_plugin/

フェーズの使用不可化

説明

SCH_DISABLE_位相 列には、プラグインに対して使用不可にするスケジューラー・フェーズ (ある場合) がリストされます。 LSF スケジューリングには、4 つのフェーズがあります。
  1. 前処理-スケジューラーは、スケジューリングのためにジョブの作動可能性を検査し、作動可能リソース・シーカーのリストを準備します。 また、ジョブの開始時刻を検査し、ジョブの依存関係を評価します。
  2. 一致/制限-スケジューラーは、ジョブ・リソース要件を評価し、ジョブをリソースと突き合わせることによって、ジョブの候補ホストを準備します。 また、リソース割り振り制限も適用されます。 必要なすべてのリソースが一致したジョブは、注文/割り振りフェーズに進みます。 すべてのジョブが、使用可能なすべてのリソースにマップされているわけではありません。 一致するリソースがないジョブは、Order/Allocation (順序/割り振り) フェーズを経由しませんが、ジョブが実行する必要があるリソースを取得するために優先使用を適用できるポストプロセッシング・フェーズを通過することができます。
  3. 順序/割り振り-スケジューラーは、一致するリソースを持つジョブをソートし、ジョブごとにリソースを割り振り、ジョブ・スロット、メモリー、およびその他のリソースをジョブに割り当てます。 また、キュー・スロット制限やジョブの締切など、構成で定義されているすべての制約を割り振りが満たすかどうかも検査します。
    1. 順序フェーズでは、スケジューラーは FCFS、フェア・シェア、およびホスト・パーティションなどのポリシーを適用し、ユーザー・グループおよび共有グループ内のジョブ優先順位を考慮します。 デフォルトでは、同じユーザーからのジョブのプール内のジョブ優先順位は、ジョブが保留されている時間の長さに基づいています。
    2. リソース集中型のジョブ (多数の CPU または大量のメモリーを必要とするジョブ) の場合、これらのジョブが不足しないようにリソースが予約されます。
    3. 現在使用可能なすべてのリソースが割り振られると、ジョブは後処理に進みます。
  4. ポストプロセッシング-スケジューラーは、ディスパッチのオーダー/割り振りフェーズからジョブを準備します。 また、ポストプロセッシングでは、優先使用ポリシーまたはバックフィル・ポリシーを適用して、完了したが次のスケジューリング・フェーズに入るために使用可能なリソースがなかった、プリプロセッシング・フェーズまたはマッチング・フェーズまたは制限フェーズを持つジョブのリソースを取得します。

各スケジューラー・プラグイン・モジュールは、1 つ以上のスケジューラー・フェーズを呼び出します。 プラグイン・モジュールがそのフェーズの処理を行う必要がない場合、またはリスト内の前のプラグイン・モジュールによって既に処理が行われている場合は、特定フェーズの処理を使用不可またはスキップすることができます。

デフォルト

未定義