説明

ジョブ管理システム及びジョブ管理方法

【課題】複数のノードを共有するクラスタシステムの使用率を向上させるジョブ管理方法等を提供する。
【解決手段】投入されたジョブを複数のノードから選択し、且つ、時間に応じて割り当てて管理するスケジューラマップから、アサイン対象ジョブが要求するリソースを満たす未使用空間を検索する段階と、検索した未使用空間に基づいて、ジョブを実行開始する時刻を決定する段階と、前記時刻にジョブを割り当て可能な少なくとも1以上の候補ノードから、該各候補ノードの前方ジョブの空き時間長、前方ジョブの使用ノード数、及び前方ジョブの最大ノード間距離の情報を備えるノードリストを作成する段階と、アサイン対象ジョブの実行予定ノードを選択するためのポリシーによって、ノードリストをアサイン対象ジョブの実行予定ノードを選択する優先度順にソートする段階と、を備えるジョブ管理方法。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ジョブ管理システム及びジョブ管理方法に関し、特に、バックフィルスケジューラを使用するジョブ管理システム及びそのジョブ管理方法に関する。
【背景技術】
【0002】
従来、HPC(High Performance Computing)分野を中心に利用されるバッチ処理システムにおいて、多数のノードを接続したクラスタシステム、及びバックフィル型スケジューリングを用いるジョブスケジューラ(以降、「バックフィルスケジューラ」と称する)が利用されている。バックフィルスケジューラとは、クラスタシステムに接続されているノード等のリソースを現在から未来に渡って管理し、ジョブに対してリソースを占有して使用可能な時間枠を割り当てることを特徴とした、ジョブ管理システムのジョブスケジューリング機能である。
【0003】
ここで、バックフィルスケジューラの特徴であるスケジューラマップについて、図1を参照して説明する。スケジューラマップとは、ジョブが使用するノードと実行する時刻についての情報とを保持するマップである。投入されたジョブは、図1(a)に示すように、まず、キューに繋がれ、優先度が設定される。バックフィルスケジューラは、図1(b)に示すように、キュー内の優先順位の高いジョブからスケジューラマップ上の未使用空間にジョブを配置し(以降、「アサイン」と称する)、時間経過とともに予定されたジョブを実行する。
【0004】
図1(b)に示すスケジューラマップは、ジョブA〜Eがアサインされた状態を示す。この時の未使用空間は、Node0の斜線部(1),(3)、及びNode1の斜線部(2)である。バックフィルスケジューラは、ユーザが指定したジョブFの使用ノード数や予定実行時間等の情報を元に、ジョブFを実行するのに十分な空きがある未使用空間を探す。この場合は、未使用空間である、Node0の斜線部(3)とNode1の斜線部(2)にジョブFをアサインする。
【0005】
初期のクラスタシステムにおけるジョブ管理システムでは、ジョブを規模(使用ノード数)ごとにクラス分けし、クラスに対応するキューを設定し、それぞれのキューには、規模に応じて専用のノードを割り当てる。よって、利用者がジョブの規模にあったキューにジョブを投入すると、バックフィルスケジューラは、投入されたジョブをそのキューに割り当てられたクラス用のノードに配置して実行する。このような運用では、投入されるジョブの規模に偏りがあると、一部のキューに割り当てられたノードばかりが使用され、残りのノードは未使用となり、クラスタシステム全体の使用率が低くなってしまうという問題があった。また、キューごとにノード数が固定であるため、運用状況に応じてノードの割り当て数を変更することが困難であった。
【0006】
そのため、上記の問題を解決するために、現在、全ノードを共有する方式が取られるようになった。この方式では、キューはジョブの規模(使用ノード数)ごとに設定されていても、ノードはキュー間で共有しているため、空いているノードを柔軟に選択できる。バックフィルスケジューラは、ジョブが要求するリソース条件に対して最適な未使用空間を必要ノード数選択し、ジョブをアサインする。ただし、クラスタシステムの使用率を高くするためには、なるべく未使用空間ができないようにスケジューリングすることが求められる。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2005−310139号公報
【特許文献2】特開2009−026636号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかし、全ノードを共有する方式では、下記課題を有している。
【0009】
すなわち、一つ目の課題は、スケジューラマップ上の未使用空間の分断(断片化)である。従来の全ノードを共有する方式は、規模の不均一なジョブを、共有されたノードにアサインするため、リソースの空き状況のみを基準にして未使用空間を割り当てるものであり、この方式では未使用空間を分断するようなアサインをしてしまう可能性がある。例えば、HPC分野では実行時間が長時間に及ぶジョブが多い傾向にあるため、時間が短い未使用空間は使われないまま残り、クラスタシステム全体の使用率低下を招く原因になる(図2参照)。
【0010】
二つ目の課題は、先行ジョブの終了時刻不均一による後続ジョブの実行待ちである。ユーザが宣言するジョブの予定実行時間は長めに設定されていることが多く、ジョブが実行時間より早く終了することがある。このような時、通常は後続のジョブを予定実行開始時刻から早めて実行する。しかし、複数のノードで実行する場合、使用予定のノードが別のジョブによって使用されていると該当ノードが空くまで後続ジョブは実行を待たされることになる。そのため、ジョブが早期に終了したノードは、その間、アイドリング状態となる。HPC分野では、多数のノードを使用するジョブが多いため、上記のような状態はクラスタシステム全体の使用率低下を招く原因になる(図3参照)。
【0011】
従来技術を参照すると、例えば、特許文献1では、メッシュ構造に相互接続されたクラスタシステムにおいて、クラスタの接続状況を考慮してジョブにノードを割り当てる方法が開示されている。特許文献1に記載の発明は、ジョブ投入時点の未使用ノードのネットワーク接続状態等を考慮して、ジョブの規模に合うノード数を自動的に割り当てることを可能としている。しかし、ノード割り当ての基準は、ノード自体の性能(演算速度、信頼度等)であり、時系列でジョブ間の関係を考慮したものではないため、特許文献1に記載の発明では、前述した課題を解決することはできない。
【0012】
また、特許文献2では、プログラム構造やI/Oによるジョブの実行待ち、ユーザの使用CPU数の過大申告によるCPUの遊休による無駄を解消するためのスケジューリング方法が開示されている。特許文献2に記載の発明は、スケジューラマップ上の先行ジョブが占有するCPUを使っていない間に限り、後続ジョブが借りて実行することを可能としている。しかし、前述した課題は単一ノードの使用状況に限らず発生するため、特許文献2に記載の発明では、前述した課題を解決することはできない。
【0013】
さらに、類似の技術として、時間と空間について制御を行うスケジューリング方式の「時空間分割スケジューリング」が知られている。これは、共有するノードの負荷状況を考慮して各ノードに複数のジョブを割当て、ラウンドロビンによる時分割でノードに割り当てたジョブを実行する方式である。しかし、バックフィルスケジューラとは設計思想がそもそも異なるため、クラスタシステムのジョブ管理には使用できない。
【0014】
そこで、本発明は、かかる事情に鑑み、バックフィルスケジューラにおいて、未使用空間の分断と先行ジョブの予定終了時刻の不均一によるジョブの実行待ちを回避し、クラスタシステムの使用率を向上させることができる新しいジョブ管理システム及びジョブ管理方法を提供することを目的とする。
【課題を解決するための手段】
【0015】
本発明によるジョブ管理システムは、多数のノードを共有するクラスタシステムにおいて、バックフィルスケジューラを使用するジョブ管理システムであって、投入されたジョブを前記多数のノードから選択し、且つ、時間に応じて割り当てて管理するスケジューラマップから、アサイン対象ジョブが要求するリソースを満たす未使用空間を検索する検索手段と、前記検索した未使用空間に基づいて、ジョブを実行開始する時刻を決定する決定手段と、前記時刻にジョブを割り当て可能な少なくとも1以上の候補ノードから、該各候補ノードの前方ジョブの空き時間長、前方ジョブの使用ノード数、及び前方ジョブの最大ノード間距離の情報を備えるノードリストを作成する作成手段と、前記アサイン対象ジョブの実行予定ノードを選択するためのポリシーによって、前記ノードリストを前記アサイン対象ジョブの実行予定ノードを選択する優先度順にソートするノード優先順位決定手段と、を備える。
【0016】
本発明によるジョブ管理方法は、多数のノードを共有するクラスタシステムにおいて、バックフィルスケジューラを使用するジョブ管理方法であって、投入されたジョブを前記多数のノードから選択し、且つ、時間に応じて割り当てて管理するスケジューラマップから、アサイン対象ジョブが要求するリソースを満たす未使用空間を検索する段階と、前記検索した未使用空間に基づいて、ジョブを実行開始する時刻を決定する段階と、前記時刻にジョブを割り当て可能な少なくとも1以上の候補ノードから、該各候補ノードの前方ジョブの空き時間長、前方ジョブの使用ノード数、及び前方ジョブの最大ノード間距離の情報を備えるノードリストを作成する段階と、前記アサイン対象ジョブの実行予定ノードを選択するためのポリシーによって、前記ノードリストを前記アサイン対象ジョブの実行予定ノードを選択する優先度順にソートする段階と、を備える。
【発明の効果】
【0017】
以上のように構成された本発明のジョブ管理システム等によれば、バックフィルスケジューラ上において小さな未使用空間が減少し、マルチノードジョブを含むより多くのジョブがアサインされやすくなるため、クラスタシステムの使用率を向上させることができる。
【図面の簡単な説明】
【0018】
【図1】スケジューラマップについて説明するための図である。
【図2】従来のバックフィルスケジューラマップを示す図である。
【図3】従来のバックフィルスケジューラマップを示す図である。
【図4】本実施形態のジョブ管理システムの概略構成を示す図である。
【図5】本実施形態の前方検査ポリシーを適用した場合のスケジューラマップを示す図である。
【図6】本実施形態のジョブ管理方法の処理内容を示すフローチャートである。
【図7】本実施形態のジョブ管理方法の処理内容を示すフローチャートである。
【図8】本実施形態のジョブ管理方法を説明するためのノードリスト、スケジューラマップ、及びネットワーク構成を示す図である。
【図9】本実施形態のジョブ管理方法を用いた例を説明するためのノードリスト、スケジューラマップ、及びネットワーク構成を示す図である。
【発明を実施するための形態】
【0019】
本発明は、バックフィルスケジューラにおいて、ジョブ投入時にジョブをアサインする空間を選択するためのポリシーを提供する。このポリシーにより、従来技術の課題である未使用空間の分断と先行ジョブの予定終了時刻の不均一によるノードの実行待ち(遊休時間発生)を回避し、クラスタシステムの使用率を向上させるものである。
【0020】
以下、本発明を実施するための好適な実施形態を、図面を参照しながら説明する。図4は、本実施形態におけるジョブ管理を行うクラスタシステム(ジョブ管理システム)1の概略構成を示す。
【0021】
ジョブ管理システム1は、多数のノードを共有するクラスタシステムにおける、バックフィルスケジューラを使用するものであり、図4に示すように、ジョブアサイン部10と情報管理部20とを含んで構成される。バックフィルスケジューラは、投入されたジョブ(以下、「アサイン対象ジョブ」と称する)が要求するリソースを満たす未使用空間をスケジューラマップ上から検索し、最も早く実行を開始できる空間を割り当てる機能を有する。この最も早く実行を開始できる時刻を、本実施形態では、予定実行開始時刻という。予定実行開始時刻からジョブを割り当てることができる未使用空間は、1通り以上のノードの組み合わせになる可能性があるため、候補の中から使用するノードを選択するために、後述するポリシーを適用する。なお、ジョブ管理システム1は、ハードウェアとして、例えば、CPU、CPUにバス結合されたROM、RAM、記憶部、入力部、表示部、および入出力インタフェースなど、通常のコンピュータ装置と同様のハードウェアを備えることができる。また、物理的には、専用化したシステム、あるいは汎用の情報処理装置のいずれであってもよい。
【0022】
ジョブアサイン部10は、投入されたジョブを現在から未来に渡るノード空間にアサインするものであり、空き情報検索手段11、予定実行開始時刻決定手段12、及び実行予定ノード選択部13を含み、実行予定ノード選択部13は、更に、ノード優先順位決定手段14及びノード選択手段15を含む。
【0023】
空き情報検索手段(検索手段)11は、アサイン対象ジョブが実行可能なリソースを備える未使用空間を検索する機能を有する。
【0024】
予定実行開始時刻決定手段(決定手段)12は、検索によって得られた未使用空間情報に基づいて、アサイン対象ジョブを最も早く実行開始できる時刻を決定する機能を有する。
【0025】
実行予定ノード選択部13は、上記実行開始できる時刻にジョブを割り当て可能な少なくとも1以上の候補ノードから、該各候補ノードの前方ジョブの空き時間長、前方ジョブの使用ノード数、及び前方ジョブの最大ノード間距離の情報を備えるノードリストを作成する作成手段として機能する。また、実行予定ノード選択部13は、ノード優先順位決定手段14によってノードに優先順位をつけ、ノード選択手段15によって優先順位に従い、使用するノードを決定する。
【0026】
ノード優先順位決定手段14は、1つ以上のポリシーを有しており、本実施形態の前方検査ポリシー16は、そのうちの一つである。なお、前方検査ポリシー16については、後述する。
【0027】
情報管理部20は、ジョブやクラスタシステムに関する情報を管理するものであり、情報更新手段21、ジョブ情報(データベース)22、及びノードの構成を保持するトポロジ情報(データベース)23を含む。
【0028】
情報更新手段21は、アサインが確定したジョブの情報をジョブ情報22に格納する。
【0029】
ジョブ情報22は、アサイン済みのジョブに関する情報を保持するものであり、トポロジ情報23は、ノードの構成を保持するものである。ここで、本実施形態では、前方ジョブの最大ノード間距離のコストを「ルータを経由する回数」と定義する。すなわち、トポロジ情報23は、コストを算出するため、ノードの構成が保持される。
【0030】
ここで、本実施形態の前方検査ポリシー16について説明する。前方検査ポリシー16は、まず、前方空き時間長が昇順になるようにソートする。次に、同じ前方空き時間長を持つノードごとに、アサイン対象ジョブの使用ノード数を基準に、「前方ジョブの使用ノード数とノード数が同一」、「前方ジョブの使用ノード数がアサイン対象ジョブの使用ノード数よりも多く、数が近い」、「前方ジョブの使用ノード数がアサイン対象ジョブの使用ノード数よりも少なく、数が近い」という順に未使用空間情報をソートする。最後に、前方ジョブの使用ノード数が同じノードごとに、最大ノード間距離を昇順に未使用空間情報をソートする。このリストの上位から、アサイン対象ジョブが使用するノード数分、ノードを選択する。この操作により、前方ジョブとの空き時間が少なく、使用ノード数がアサイン対象ジョブと同じか、より多いジョブに割り当てられていて、ノード間の距離も近いノードを選ぶことが可能になる。すなわち、前方ジョブとの空き時間が少ないということは、長い未使用空間を中央で分断していないということであり、また、使用ノード数が同じということは前方ジョブが早期終了したときに後続ジョブの予定実行開始時刻を繰り上げて実行ができるということである。ノード間距離が近いノードを優先して選択することで、通信による待ち時間を減らし、より早くジョブの実行を終えることができる。
【0031】
図2のスケジューラマップのジョブを、前方検査ポリシー16を使用してアサインした場合のスケジューラマップを図5に示す。ジョブCがジョブAのノードにアサインされ、ジョブGが未使用空間を分断しないなどの改善を得ることができる。その結果、図2に示す場合では(前方検査ポリシー不適用)、ジョブHはジョブFの後ろにアサインされていたが、図5に示す場合では(前方検査ポリシー適用)、ジョブHはジョブFの前にアサインすることが可能となる。
【0032】
ここで、ノード障害時の対応としては、アサインをキャンセルされたジョブ(以下、「被障害ジョブ」と称する)を元々の予定実行開始時刻近くの未使用空間に再割り当てする運用方法がある。しかし、本実施形態の前方検査ポリシーを使用すれば、スケジューラマップの前方が隙間無く埋められているために、被障害ジョブを再割当てすることが難しくなる。そのため、なるべく早い時刻に再割り当て可能なように、ノード障害時用の優先度を設定することもできる。具体的には、被障害ジョブであることがわかるように識別子を用意し、被障害ジョブの優先度を新たに投入されたジョブよりも高くすることで、被障害ジョブを、未割り当てのジョブの中で最も早く実行開始できるようにしてもよい。
【0033】
次に、図4,図6〜図8を参照して、本実施形態の動作処理について詳細に説明する。なお、以下では、図4に示すジョブアサイン部10と情報管理部20とがクラスタシステムに1つずつあり、該クラスタシステムのジョブ管理を行うものとする。
【0034】
まず、ジョブアサイン部10の動作処理を、図6に示すフローチャートを参照しながら説明する。
【0035】
空き情報検索手段11は、各ノードについて、ユーザが指定した予定実行時間以上の空きがあり、且つ、最も早く実行可能な未使用空間を検索する(ステップS101)。ユーザは、ジョブを投入する際に、使用するノード数やメモリ量、予定実行時間を指定する。
【0036】
未使用空間があるか否かを判定し(ステップS102)、未使用空間がないと判定した場合(ステップS102:No)、処理を終了する。投入されたジョブは次回の未使用空間検索が行われるまで待ち状態になる。
【0037】
一方、未使用空間があると判定した場合(ステップS102:Yes)、予定実行開始時刻決定手段12は、使用するノード数や予定実行時間などの条件を満たし、且つ、最も早くジョブを実行開始できる時刻を予定実行開始時刻として決定する(ステップS103)。
【0038】
実行予定ノード選択部13は、予定実行開始時刻にジョブを割り当てることができるノードについて、ジョブ情報22とトポロジ情報23を参照して、「前方空き時間長、前方ジョブのノード数、前方ジョブの最大ノード間距離」等の情報を備えたノードリストを作成する(ステップS104)。
【0039】
ノード優先順位決定手段14は、ユーザが指定した使用ノード数以上に、該当するノードがあった場合、実行予定ノードを選択するためのポリシー適用と判定し(ステップS105:Yes)、使用するノードを選択するために1つ以上のポリシーを適用する(ステップS106)。
【0040】
ノード選択手段15は、適用したポリシーによって優先度順にソートされたノードリストを元に、ユーザによって指定された使用ノード数分を選択し、ジョブをアサインする(ステップS107)。
【0041】
情報更新手段21は、アサインしたジョブについて、情報管理部20のジョブ情報22を更新する(ステップS108)。
【0042】
一方、ポリシー適用と判定しない場合(ステップS105:No)、ノード選択手段15は、検索した空き情報に基づいて実行予定のノードを選択し(ステップS109)、情報更新手段21は、実行予定時間と実行予定のノードを更新する(ステップS108)。
【0043】
以上により、ジョブアサイン部10の動作処理を終了する。
【0044】
次に、図7及び図8を参照して、本実施形態における、2ノードを使用するジョブXを割り当てるときの前方検査ポリシー16の動作説明をする。なお、以下では、3台ずつのノードを接続したクラスタをさらに上位で接続した計6台からなる構成を想定する場合を例にとって説明する。
【0045】
ここで、図8に示すネットワーク構成は、ノード間の接続関係を示し、現在時刻で処理しているジョブA,B,C,Dを示す。また、図8のスケジューラマップは、ジョブ管理システムのアサイン状況を示す。さらに、図8の表1〜表3は、ジョブアサイン部10が作成したノードリストに対して、前方検査ポリシー16を適用していく過程を示すものである。
【0046】
図7に示すように、まず、前方検査ポリシー16は、各ノードにおいて前方空き時間長の順序に従い、ノードリストをソートする(ステップS201)。図8に示す場合においては、ソートした結果、表1に示すノードリストから、表2に示すノードリストになる。
【0047】
次に、前方検査ポリシー16は、同じ前方空き時間長のノードごとに、前方のジョブが使用するノード数についてソートする(ステップS202)。具体的には、ソートの順番は、アサイン対象ジョブが使用するノード数を基準に、前方ジョブの使用ノード数が「ノード数が同一、より多いが数が近い、より少ないが数が近い」の順序である。図8に示す場合においては、前方空き時間長が「0」のノードを使用するジョブは全て2つのノードを使用するため、ソートした結果は変わらない。
【0048】
次いで、前方検査ポリシー16は、同じ前方空き時間長、使用ノード数を持つノードごとに、前方ジョブが使用するノード群の最大ノード間距離順になるようにソートする(ステップS203)。図8に示すように、想定するクラスタシステムにおいて、ジョブBが使用するノードは、同じクラスタに接続されているため、最大ノード間距離は0、ジョブAの最大ノード間距離は2となる。したがって、ソートした結果、表2に示すノードリストから、表3に示すノードリストになる。
【0049】
ジョブアサイン部10は、他に適用するポリシーが登録されていなければ、上記ソートした結果(図8に示す表3)に従い、ジョブXがNode3とNode4に割り当てられる。
【0050】
なお、アサイン後に使用予定のノードが障害のため停止した場合は、障害ノードにアサインされていたジョブをすべて解除し、再度ジョブアサインを行うことができる。また、解除時に、各ジョブ情報の被障害識別子に障害にあったことを記録することで、再アサイン時に障害発生後に投入されたジョブよりも優先的に未使用空間を割り当てることもできる。
【0051】
以上のような本実施形態のバックフィルスケジューラを使用するジョブ管理方法では、以下の効果を奏する。
【0052】
第1の効果は、クラスタシステムの使用率を向上させることである。その理由は、小さな未使用空間が減少し、マルチノードジョブを含む、より多くのジョブがアサインされやすくなるためであり、且つ、実行中ジョブが予定より早期に終了した場合に直後にアサインされているジョブが即時に実行され、システムのアイドリング時間を減少させることができるためである。
【0053】
第2の効果は、ジョブのターンアラウンドタイム(TAT)を短縮できることである。その理由は、大きい未使用空間にジョブがアサインされやすくなることでジョブが早期に実行されることや、ノード間距離が近いノードを使用することで通信時間を抑えることが、TATの短縮に繋がるためである。
【0054】
第3の効果は、ジョブの投入数が少ない場合にノードの省電力運転をしやすくなることである。その理由は、ノードの未使用時間を分断しないようにジョブをアサインするため、未使用時間が長時間になりやすく、その間、電源を切るなどの運用が可能になる。通常、起動・終了処理はその処理時間が長くかかるため、未使用時間が短く頻繁にジョブを実行するような場合には、電源を切ることは出来ないからである。
【0055】
<他の実施形態>
【0056】
以下、上述の本実施形態で示した前方検査ポリシー16の処理において、前方ジョブが使用するノード群の最大ノード間距離を、ノードの電力供給経路に置き換えた場合を例にとって説明する。この場合、優先する電力供給の経路を使用するノードを使うことになるため、アサインされているジョブが少ない場合は、同じ電力供給の経路(配電盤等)を使うノードをまとめて電源を切ることが可能になり、省電力を優先する運用に使用できる。
【0057】
図9は、ノード0〜2が繋がる経路(配電盤1)の優先度が高い場合のジョブ投入を示した図である。ノードリストを前方空き時間長、前方ジョブのノード数、電力供給経路の優先順でソートした結果、ジョブXはNode1,2にアサインされる。Node3〜5は未使用になった区間であるため、電源を切ることができる。
【0058】
<変形例>
以上のように本発明の好適な実施形態について説明したが、本発明は、以上の実施形態に限定されるべきものではなく、特許請求の範囲に表現された思想および範囲を逸脱することなく、種々の変形、追加、および省略が当業者によって可能である。
【0059】
例えば、上記各実施形態では、ジョブアサイン部10及び情報管理部20において、それぞれの処理機能を有する各手段等が備えられている構成を説明したが、本発明はこれに限られず、例えば、各手段が通信可能に接続されたネットワーク上に又は他の装置に備えて構成することもできる。
【0060】
さらに、上記各実施形態では、ジョブアサイン部10及び情報管理部20には、用途に応じた各手段がそれぞれ備えられているが、これら各手段は、そのいくつかを一纏めにして構成されていてもよいし、一つの部をさらに複数の部に分割して構成されていてもよい。
【0061】
上記の実施形態の一部または全部は、以下の付記のようにも記載されうるが、以下には限られない。
【0062】
(付記1)多数のノードを共有するクラスタシステムにおいて、バックフィルスケジューラを使用するジョブ管理方法であって、投入されたジョブを前記多数のノードから選択し、且つ、時間に応じて割り当てて管理するスケジューラマップから、アサイン対象ジョブが要求するリソースを満たす未使用空間を検索する段階と、前記検索した未使用空間に基づいて、ジョブを実行開始する時刻を決定する段階と、前記時刻にジョブを割り当て可能な少なくとも1以上の候補ノードから、該各候補ノードの前方ジョブの空き時間長、前方ジョブの使用ノード数、及び前方ジョブの最大ノード間距離の情報を備えるノードリストを作成する段階と、前記アサイン対象ジョブの実行予定ノードを選択するためのポリシーによって、前記ノードリストを前記アサイン対象ジョブの実行予定ノードを選択する優先度順にソートする段階と、を備えるジョブ管理方法。
【0063】
(付記2)前記ポリシーは、前記候補ノードを前記前方空き時間長の昇順に前記ノードリストをソートし、前記前方空き時間長の昇順にソート後、前記候補ノードを、前記アサイン対象ジョブが使用するノード数を基準にして、前記前方ジョブの使用ノード数とノード数が同一、前記前方ジョブの使用ノード数がアサイン対象ジョブの使用ノード数よりも多く数が近い、及び前記前方ジョブの使用ノード数がアサイン対象ジョブの使用ノード数よりも少なく数が近い、順序に前記ノードリストをソートし、前記候補ノードを前記前方ジョブの最大ノード間距離の昇順に前記ノードリストをソートする、付記1に記載のジョブ管理方法。
【0064】
(付記3)前記アサイン対象ジョブの実行予定ノードを選択する優先度順にソートされた前記ノードリストを元に、実行予定のノード数分を選択して前記アサイン対象ジョブをアサインする段階を更に備える、付記1又は付記2に記載のジョブ管理方法。
【0065】
(付記4)多数のノードを共有するクラスタシステムにおいて、バックフィルスケジューラを使用するジョブ管理システムであって、投入されたジョブを前記多数のノードから選択し、且つ、時間に応じて割り当てて管理するスケジューラマップから、アサイン対象ジョブが要求するリソースを満たす未使用空間を検索する検索手段と、前記検索した未使用空間に基づいて、ジョブを実行開始する時刻を決定する決定手段と、前記時刻にジョブを割り当て可能な少なくとも1以上の候補ノードから、該各候補ノードの前方ジョブの空き時間長、前方ジョブの使用ノード数、及び前方ジョブの最大ノード間距離の情報を備えるノードリストを作成する作成手段と、前記アサイン対象ジョブの実行予定ノードを選択するためのポリシーによって、前記ノードリストを前記アサイン対象ジョブの実行予定ノードを選択する優先度順にソートするノード優先順位決定手段と、を備えるジョブ管理システム。
【産業上の利用可能性】
【0066】
本発明は、多数のノードを共有し、バックフィルスケジューラによってジョブ管理を行うクラスタシステムにおいて、クラスタシステムの高使用率を実現するジョブのアサイン方法に適用できる。
【符号の説明】
【0067】
1…ジョブ管理システム、10…ジョブアサイン部、11…空き情報検索手段、12…予定実行開始時刻決定手段、13…実行予定ノード選択部、14…ノード優先順位決定手段、15…ノード選択手段、16…前方検査ポリシー。

【特許請求の範囲】
【請求項1】
多数のノードを共有するクラスタシステムにおいて、バックフィルスケジューラを使用するジョブ管理方法であって、
投入されたジョブを前記多数のノードから選択し且つ時間に応じて割り当てて管理するスケジューラマップから、アサイン対象ジョブが要求するリソースを満たす未使用空間を検索する段階と、
前記検索した未使用空間に基づいて、ジョブを実行開始する時刻を決定する段階と、
前記時刻にジョブを割り当て可能な少なくとも1以上の候補ノードから、該各候補ノードの前方ジョブの空き時間長、前方ジョブの使用ノード数、及び前方ジョブの最大ノード間距離の情報を備えるノードリストを作成する段階と、
前記アサイン対象ジョブの実行予定ノードを選択するためのポリシーによって、前記ノードリストを前記アサイン対象ジョブの実行予定ノードを選択する優先度順にソートする段階と、
を備えるジョブ管理方法。
【請求項2】
前記ポリシーは、
前記候補ノードを前記前方空き時間長の昇順に前記ノードリストをソートし、
前記前方空き時間長の昇順にソート後、前記候補ノードを、前記アサイン対象ジョブが使用するノード数を基準にして、前記前方ジョブの使用ノード数とノード数が同一、前記前方ジョブの使用ノード数がアサイン対象ジョブの使用ノード数よりも多く数が近い、及び前記前方ジョブの使用ノード数がアサイン対象ジョブの使用ノード数よりも少なく数が近い、順序に前記ノードリストをソートし、
前記候補ノードを前記前方ジョブの最大ノード間距離の昇順に前記ノードリストをソートする、請求項1に記載のジョブ管理方法。
【請求項3】
前記アサイン対象ジョブの実行予定ノードを選択する優先度順にソートされた前記ノードリストを元に、実行予定のノード数分を選択して前記アサイン対象ジョブをアサインする段階を更に備える、請求項1又は請求項2に記載のジョブ管理方法。
【請求項4】
多数のノードを共有するクラスタシステムにおいて、バックフィルスケジューラを使用するジョブ管理システムであって、
投入されたジョブを前記多数のノードから選択し且つ時間に応じて割り当てて管理するスケジューラマップから、アサイン対象ジョブが要求するリソースを満たす未使用空間を検索する検索手段と、
前記検索した未使用空間に基づいて、ジョブを実行開始する時刻を決定する決定手段と、
前記時刻にジョブを割り当て可能な少なくとも1以上の候補ノードから、該各候補ノードの前方ジョブの空き時間長、前方ジョブの使用ノード数、及び前方ジョブの最大ノード間距離の情報を備えるノードリストを作成する作成手段と、
前記アサイン対象ジョブの実行予定ノードを選択するためのポリシーによって、前記ノードリストを前記アサイン対象ジョブの実行予定ノードを選択する優先度順にソートするノード優先順位決定手段と、
を備えるジョブ管理システム。

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図1】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2012−215933(P2012−215933A)
【公開日】平成24年11月8日(2012.11.8)
【国際特許分類】
【出願番号】特願2011−78932(P2011−78932)
【出願日】平成23年3月31日(2011.3.31)
【出願人】(000004237)日本電気株式会社 (19,353)
【出願人】(390001395)NECシステムテクノロジー株式会社 (438)