JP2013210833A - ジョブ管理装置、ジョブ管理方法、及びプログラム - Google Patents

ジョブ管理装置、ジョブ管理方法、及びプログラム Download PDF

Info

Publication number
JP2013210833A
JP2013210833A JP2012080516A JP2012080516A JP2013210833A JP 2013210833 A JP2013210833 A JP 2013210833A JP 2012080516 A JP2012080516 A JP 2012080516A JP 2012080516 A JP2012080516 A JP 2012080516A JP 2013210833 A JP2013210833 A JP 2013210833A
Authority
JP
Japan
Prior art keywords
node
job
virtual
group
nodes
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2012080516A
Other languages
English (en)
Other versions
JP6010975B2 (ja
Inventor
Aoi Kawahara
葵 川原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2012080516A priority Critical patent/JP6010975B2/ja
Publication of JP2013210833A publication Critical patent/JP2013210833A/ja
Application granted granted Critical
Publication of JP6010975B2 publication Critical patent/JP6010975B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Hardware Redundancy (AREA)

Abstract

【課題】クラスタシステムにおける再スケジューリング時のノード構成の柔軟性とシステムの性能とを向上させ得る、ジョブ管理装置、ジョブ管理方法、及びプログラムを提供する。
【解決手段】ジョブ管理装置400は、クラスタシステムのキュー毎に、キューが提供できるリソースとリソースを満たす仮想ノードのグループとを特定する、キュー情報432に基づいて、キューに投入されたジョブに対応可能な仮想ノードのグループを特定し、特定した仮想ノードのグループの中から、ジョブに割り当てる仮想ノードを選択する仮想ノード選択部430と、仮想ノードのグループ毎に、当該グループに使用可能な物理ノードについてのノード間の構成要件を特定する、仮想ノードグループ情報に基づいて、ジョブが割り当てられた仮想ノードに割り当てる物理ノードを選択する物理ノード選択部440と、を備えている。
【選択図】図1

Description

本発明は、クラスタシステムで実行されるジョブにノードを割り当てるための、ジョブ管理装置、及びジョブ管理方法に関し、更には、これらを実現するためのプログラムに関する。
従来から、HPC(High Performance Computing)分野を中心に利用されるバッチ処理システムにおいては、多数のノードを接続して構成したクラスタシステムと、バックフィルスケジューリングを実行可能なジョブスケジューラ(以下「バックフィルスケジューラ」と表記)とが利用されている。
バックフィルスケジューラとは、クラスタシステムに接続されているノード等のリソースを現在から未来に渡って管理し、ジョブに対してリソースを占有して使用可能な時間枠を割り当てる、ことを特徴とした、ジョブ管理システムのジョブスケジューラである。
バックフィルスケジューラの特徴であるスケジューラマップについて、図13(a)及び(b)の例を用いて説明する。スケジューラマップとは、ジョブが使用するノードと実行する時刻についての情報を保持するマップである。図13(a)は、投入されたジョブに設定された優先度の一例を示す図であり、図13(b)は、ジョブのアサインの一例を示す図である。
図13(a)に示すように、投入されたジョブは、まずキューに繋がれ、各ジョブに優先度が設定される。図13(b)に示すように、バックフィルスケジューラは、キュー内のジョブを、優先順位の高い順にスケジューラマップ上の未使用空間に配置し(以降、ジョブを配置することを「アサイン」と表記)、時間経過とともに予定されたジョブを実行する。
例えば、図13(a)に示すように、キューに投入されたジョブは、ジョブA〜ジョブFの順に優先度が高いとする。そして、図13(b)に示すスケジューラマップでは、ジョブA〜Eがアサインされた状態にある。図13(b)において、Node0の部分(1)及び(3)と、Node1の部分(2)とは、この時の未使用空間を示している。この場合において、バックフィルスケジューラは、ユーザが指定したジョブFの使用ノード数及び予定実行時間等の情報に基づいて、ジョブFを未使用空間にアサインする。
バックフィルスケジューラによってジョブを管理しているシステムで、ノードに障害が発生すると、現在実行しているジョブと、それ以降の全ジョブとについて、障害ノードを除いたスケジューラマップ上で再スケジューリングする必要がある。図13(b)の例において、例えば、Node0に障害がおきると、ジョブC、D、E、Fの再スケジューリングが発生してしまう。再スケジューリングが発生した場合、システム全体でジョブの再開が遅れてしまいシステムの使用率が低下することになる。
例えば、特許文献1は障害ノードと正常ノードを入れ替え、障害ジョブを再実行するノード管理システムを開示している。このノード管理システムによれば、バックフィルスケジューラを利用することもでき、ジョブ再開の遅延の軽減も可能と考えられる。
特表2007−533032号公報
しかしながら、特許文献1に開示されたようなノード管理システムを、HPCシステムに適用した場合には、再構成可能なノード構成が柔軟性に欠けるという問題と、HPCシステムの性能向上を図れないという問題とが発生してしまう。以下、これらの問題について説明する。
従来のノード管理システムでは、図14に示すように、ジョブに割り当てるノード群(以下「プール」と表記する。)が予め静的に作成され、このジョブには、同じプールに所属するノードしか割り当てることができない仕組みとなっている。このため、交換可能なノードの状態(CPU、メモリ、ネットワークトポロジ等)がHPCジョブ実行に適していない可能性がある。また、他のプールからのノードの割り当てが不可能であるため、他のプールに所属するノード、又は他のクラスタシステムを利用した方が良い場合でも利用できない。図14は、プールを用いたノードの割り当ての仕組みを説明する図である。
具体例を、図15を用いて説明する。図15は、ネットワークトポロジを構成するクラスタシステムの一例を示す図である。図15に示すようなネットワークトポロジを構成するクラスタシステムは、従来のノード管理方式で管理されているとする。この場合、図15に示す例では、異なるスイッチに接続されたノードが交換ノードとしてジョブに割り当てられ、ノード間の通信速度が低下してしまう。
具体的には、マルチノード用プールにNode0、Node1、Node3、Node4を設定しておくと、Node0と通信していたNode1が障害で通信できなくなった場合、Node3及びNode4のいずれかがが交換ノードに選ばれる。その場合、スイッチ1を経由する通信が発生してしまい通信速度が低下する。また、異なるプール(シングルノード用プール)に所属するNode2は、交換ノードの候補にも入らない。
また、バックフィルスケジューリングとは別に、カレントスケジューリングも知られている。カレントスケジューリングでは、ジョブの実行時にプールの中から必要数の物理ノードが選択され、割り当てられるので、上述の問題は解消されるとも考えられる。
しかしながら、カレントスケジューリングでは、ジョブ実行時にならないと使用できる物理ノードが判らない仕組みとなっており、割り当ての仕組みの違いから、上述のバックフィルスケジューラにカレントスケジューリングを適用することは困難である。また、カレントスケジューリングは、一つのプールだけを管理対象とするため、複数のキュー(プール)を跨いだ仮想ノードの管理ができないという問題もある。
本発明の目的の一例は、上記問題を解消し、クラスタシステムにおける再スケジューリング時のノード構成の柔軟性とシステムの性能とを向上させ得る、ジョブ管理装置、ジョブ管理方法、及びプログラムを提供することにある。
上記目的を達成するため、本発明の一側面におけるジョブ管理装置は、クラスタシステムにおいて実行されるジョブを管理するための装置であって、
前記クラスタシステムのキュー毎に、キューが提供できるリソースと、前記リソースを満たす仮想ノードのグループとを特定するキュー情報に基づいて、前記ジョブに対応可能な仮想ノードのグループを特定し、特定した仮想ノードのグループの中から、前記ジョブに割り当てる前記仮想ノードを選択する、仮想ノード選択部と、
前記仮想ノードのグループ毎に、当該グループに使用可能な物理ノードについてのノード間の構成要件を特定する、仮想ノードグループ情報に基づいて、前記ジョブが割り当てられた前記仮想ノードに割り当てる前記物理ノードを選択する、物理ノード選択部と、
を備えていることを特徴とする。
また、上記目的を達成するため、本発明の一側面におけるジョブ管理方法は、クラスタシステムにおいて実行されるジョブを管理するための方法であって、
(a)前記クラスタシステムのキュー毎に、キューが提供できるリソースと、前記リソースを満たす仮想ノードのグループとを特定するキュー情報に基づいて、前記ジョブに対応可能な仮想ノードのグループを特定し、特定した仮想ノードのグループの中から、前記ジョブに割り当てる前記仮想ノードを選択する、ステップと、
(b)前記仮想ノードのグループ毎に、当該グループに使用可能な物理ノードについてのノード間の構成要件を特定する、仮想ノードグループ情報に基づいて、前記ジョブが割り当てられた前記仮想ノードに割り当てる前記物理ノードを選択する、ステップと、
を有することを特徴とする。
更に、上記目的を達成するため、本発明の一側面におけるプログラムは、コンピュータによって、クラスタシステムにおいて実行されるジョブを管理するためのプログラムであって、
前記コンピュータに、
(a)前記クラスタシステムのキュー毎に、キューが提供できるリソースと、前記リソースを満たす仮想ノードのグループとを特定するキュー情報に基づいて、前記ジョブに対応可能な仮想ノードのグループを特定し、特定した仮想ノードのグループの中から、前記ジョブに割り当てる前記仮想ノードを選択する、ステップと、
(b)前記仮想ノードのグループ毎に、当該グループに使用可能な物理ノードについてのノード間の構成要件を特定する、仮想ノードグループ情報に基づいて、前記ジョブが割り当てられた前記仮想ノードに割り当てる前記物理ノードを選択する、ステップと、
を実行させることを特徴とする。
以上のように、本発明によれば、クラスタシステムにおける再スケジューリング時のノード構成の柔軟性とシステムの性能とを向上させることができる。
図1は、本発明の実施の形態で行なわれるマッチングを説明するための図である。 図2は、本発明の実施の形態におけるジョブ管理装置の構成を示すブロック図である。 図3は、本実施の形態で用いられるキュー情報の一例を示す図である。 図4は、本実施の形態で用いられる仮想ノードグループ情報の一例を示す図である。 図5は、本実施の形態で用いられる実リソース情報の一例を示す図である。 図6は、本発明の実施の形態におけるジョブ管理装置のジョブアサイン時の動作を示すフロー図である。 図7は、本発明の実施の形態におけるジョブ管理装置の障害発生時の動作を示すフロー図である。 図8(a)は、障害発生時の物理ノードの状態の一例を示す図であり、図8(b)は、障害発生時の仮想ノードへの物理ノードの再割り当ての状態の一例を示す図である。 図9は、本発明の実施の形態で用いられる物理ノードの一例を示す図である。 図10は、本発明の実施の形態で用いられるスケジューラマップの一例を示す図である。 図11(a)は、従来方式によって実行順序が設定されたジョブを実行する場合を説明する図であり、図11(b)は、本実施の形態によって実行順序が設定されたジョブを実行する場合を説明する図である。 図12は、本発明の実施の形態におけるジョブ管理装置を実現するコンピュータの一例を示すブロック図である。 図13(a)は、投入されたジョブに設定された優先度の一例を示す図であり、図13(b)は、ジョブのアサインの一例を示す図である。 図14は、プールを用いたノードの割り当ての仕組みを説明する図である。 図15は、ネットワークトポロジを構成するクラスタシステムの一例を示す図である。
(実施の形態の概要)
本発明における実施の形態は、クラスタシステムと共に利用されるバックフィルスケジューラに関連し、ジョブに割り当てられる仮想ノードの選択及び管理に特徴がある。また、本実施の形態は、この特徴により、再スケジューリング時のノード構成の柔軟性とクラスタシステムの性能とを向上させる。
また、本実施の形態では、キューによって定義された資源(リソース)を備える仮想ノード群(以下「仮想ノードグループ」と表記する。)と、各キューとが、対応付けられており、ジョブに仮想ノードを割り当てる際のマッチング制御が階層的に表現されている。このため、最適なリソース探索と割り当て制御(グループ間の物理リソースの安全な交換)とが達成される。なお、キューは、管理者によって設定されており、ジョブを受付ける窓口である。
更に、このマッチング制御は、物理ノードの障害発生時に有用である。また、このマッチング制御は、複数のネットワークインタフェース、ネットワークトポロジといった、複数の構成要件を同時に考慮したマッチング(ジョブへの仮想ノードの割り当て)を可能とする。
上述の機構について、図1を用いて説明する。図1は、本発明の実施の形態で行なわれるマッチングを説明するための図である。図1に示すように、本実施の形態では、ジョブに物理ノードを割り当てる際、ジョブと仮想ノードとの間のマッチング、仮想ノードと物理ノードとの間のマッチング、の二つのマッチングが実行される。
また、ジョブが投入される各キューには、サービスが対応付けられている。サービスは、ユーザに見えるキューの特徴を表わしており、そのキューを利用することで使えるもの、保障される性能などが、サービスと称される。本実施の形態では、キューとサービスとは、1対1の関係にある。更に、各キューには、それぞれが提供できるリソースが定義されている。つまり、各キューには、キューに投入されたジョブが要求する基本的なリソース要件が設定されている。そして、各キューには、このリソース要件を満たす1又は2以上の仮想ノードグループが対応している。
また、各仮想ノードグループは、電源単位、CPU、アーキテクチャ、ネットワークトポロジ、分散ファイルシステムの接続環境などの条件に応じて動的に構成される。そして、ユーザが、希望のサービスに対応するキューにジョブを投入すると、ジョブに対して、動的に構成された仮想ノードグループの中から、ジョブ実行の要件を満たす仮想ノードが割り当てられる。
次に、ジョブに仮想ノードが割り当てられると、仮想ノードへの物理ノードの割り当てが行なわれる。物理ノードの割り当ては、仮想ノードが要求するリソースを有する物理ノードを選択することによって行われる。
このとき、従来においては、物理ノードが備える資源のみで、物理ノードの割り当てが行なわれている。しかし、本実施の形態では、個々の物理ノードの属性に加えて、物理ノードが接続されているネットワークトポロジの情報、及び物理ノードが利用可能なファイルシステムの情報、といったノード間資源の情報(ノード間の構成要件)も加えられ、これらの情報に基づいて、物理ノードが選択される。結果、物理ノードの選択の幅が拡大するため、再構成可能なノード構成の柔軟性の向上とクラスタシステムの性能向上とが図られる。
また、言い換えると、ノード管理の階層を「キュー/仮想ノードグループ/仮想ノード/物理ノード」として、キュー、仮想ノードグループ、及び仮想ノードの層と、物理ノードの層とで切り離すことができるので、スケジューリングの可用性を実現できる。また、仮想ノードと物理ノードとのマッチングによって、サービスの可用性も達成される。そして、キューの定義によって、マルチノード用キュー及びシングルノード用キュー等のサービスを同時に提供でき、且つ、サービスレベルを維持することも可能となる。
更に、本実施の形態では、スケジューラマップにアサインされたジョブには、仮想ノードの情報と、対応する物理ノードの情報とを付加することができる。この場合、物理ノードの障害発生時において、障害が起きた物理ノードと同等の交換ノード(物理ノード)を選択しなおし、それと置き換えることで、サービスレベルの低下、スケジューラマップの再スケジューリングを回避することができる。
また、ジョブは、現在から未来にわたって管理されているため、物理ノードの交換は、ジョブが実行されていない安全なタイミングで行うことが可能である。更に、障害ノードが増え、同じスイッチの配下にある物理ノード群では、交換可能な物理ノードが無くなった場合等、サービスレベルが維持できなくなった場合は、キューに対応付けられている仮想ノードは、仮想ノードグループごと交換される。この場合は、正常な物理ノードも含めて全物理ノードが交換されることになる。
(実施の形態)
以下、本発明の実施の形態における、ジョブ管理装置、ジョブ管理方法、及びプログラムについて、図2〜図11を参照しながら説明する。
[装置構成]
最初に、図2を用いて、本発明の実施の形態におけるジョブ管理装置の構成について説明する。図2は、本発明の実施の形態におけるジョブ管理装置の構成を示すブロック図である。
図2に示す本実施の形態におけるジョブ管理装置400は、多数のノードを共有するクラスタシステム(図2において図示せず)において、バックフィルスケジューラを使用して、当該システムで実行されるジョブを管理する装置である。図2に示すように、ジョブ管理装置400は、仮想ノード選択部430と、物理ノード選択部440とを備えている。
仮想ノード選択部430は、キュー情報432に基づいて、ジョブに対応可能な仮想ノードのグループ(以下「仮想ノードグループ」と表記する。)を特定し、そして、特定した仮想ノードグループの中から、ジョブに割り当てる仮想ノードを選択する。また、キュー情報432は、クラスタシステムのキュー毎に、キューが提供できるリソースと、このリソースを満たす仮想ノードグループとを特定する情報である(図3参照)。
また、物理ノード選択部440は、仮想ノードグループ情報441に基づいて、ジョブが割り当てられた仮想ノードに割り当てる物理ノードを選択する。また、仮想ノードグループ情報441は、仮想ノードグループ毎に、各仮想ノードグループに使用可能な物理ノードについてのノード間の構成要件を特定する情報である(図4参照)。ノード間の構成要件としては、物理ノードが所属しているネットワークトポロジについての要件、物理ノードが利用可能なファイルシステムについての要件等が挙げられる。
このように、ジョブ管理装置400では、仮想ノードに物理ノードを割り当てる際に、物理ノードが備える資源のみではなく、物理ノードのノード間の構成要件が考慮される。よって、選択可能な物理ノードの幅が拡大するため、再構成可能なノード構成の柔軟性が向上し、加えて、クラスタシステムの性能も向上する。
ここで、図2に加えて図3〜図5を用いて、本実施の形態におけるジョブ管理装置400の構成について更に具体的に説明する。図3は、本実施の形態で用いられるキュー情報の一例を示す図である。図4は、本実施の形態で用いられる仮想ノードグループ情報の一例を示す図である。図5は、本実施の形態で用いられる実リソース情報の一例を示す図である。
まず、図1に示すように、本実施の形態におけるジョブ管理装置400は、ジョブアサイン部401と、情報管理部402と、情報格納部403とを備えている。このうち、情報格納部403は、スケジューラマップ411と、ジョブ情報460と、キュー情報432と、ポリシー431と、仮想ノードグループ情報441と、実リソース情報473とを格納している。
スケジューラマップ411は、図13(b)に示したスケジューラマップと同様のものであり、ジョブのアサインの状況を示すマップである。ジョブ情報460は、アサインが予定されているジョブについての情報、及びアサインが確定したジョブについての情報を含む。なお、ポリシー431については後述する。
図3に示すように、キュー情報432は、キューに設定されたリソースのリストであり、キュー毎に、キューが提供するリソースと、このリソースを満たす仮想ノードグループとを特定する。例えば、キュー1は、リソースとして「マルチノード」及び「システムA」を提供でき、これらを満たす仮想ノードグループは、「グループ1」と「グループ2」とであることが示されている。
なお、キュー情報432おける各キューについての情報は、当該キューの作成時に登録される。また、ユーザは、使用するリソースを指定することができる。ユーザによって指定されたリソースは、ジョブ情報460に登録される。そして、ユーザによって指定されたリソースの内容は、仮想ノード選択部430によって、仮想ノードグループの選択時に、参照される。
また、キュー情報432においては、1つのキュー(サービス)に対して、1組のリソースが割り当てられているが、これに限定されず、1つのキューに対して、複数組のリソースが割り当てられていても良い。なお、1つのキューに対して、複数組のリソースが割り当てられる場合は、1組のリソース毎に、仮想ノードグループも設定される。また、ここでいう「1組のリソース」とは、図3中の行「リソースの内容」において一つの欄に記載されている単一又は2以上のリソースを意味する。
図4に示すように、仮想ノードグループ情報441は、仮想ノードグループ毎に、各仮想ノードグループに使用可能な物理ノードについてのノード間の構成要件を特定している。また、具体的には、図4の例では、ノード間の構成要件として、物理ノードが所属しているネットワークトポロジについての要件、物理ノードが利用可能なファイルシステムについての要件、各物理ノードのリソースの要件(CPU、メモリ等)が示されている。
更に、図4の例では、仮想ノードグループ情報441には、各仮想ノードグループに所属する仮想ノードの識別子、ノード数も登録されているが、これ以外の情報、例えば、未だ割り当てられていない仮想ノードの識別子及びその数が登録されていても良い。また、本実施の形態では、仮想ノードグループ情報は、キュー作成時に定義されるリソースの内容(CPU、メモリ、ネットワークトポロジ等)に基づいて、管理者によって作成される。なお、仮想ノードグループ情報は、ジョブ管理装置又は外部のコンピュータ等によって自動生成されていても良い。
また、図5に示すように、実リソース情報473には、物理ノード毎のリソース、例えば、CPUの個数、メモリ容量、ノード間接続の有無、所属しているネットワークトポロジの構成、等が登録されている。実リソース情報473は、後述するように物理ノードに障害が発生した場合、新たな物理ノードが追加された場合等に更新される。
また、図2に示すように、ジョブアサイン部401は、空き情報検索部410と、開始時刻決定部420と、仮想ノード選択部430と、物理ノード選択部440とを備えている。ジョブアサイン部401は、これらによって、キューに投入されたジョブを現在から未来に渡るノード空間にアサインする。
空き情報検索部410は、情報格納部403に格納されているスケジューラマップ411にアクセスし、スケジューラマップ411上の、アサイン対象となるジョブを実行可能な未使用空間(時間帯)を検索する。また、空き情報検索部410は、未使用空間を特定する情報(以下「空き情報」と表記する。)を、開始時刻決定部420に出力する。
開始時刻決定部420は、ジョブ情報460からアサイン対象となるジョブに関する情報を取得し、更に、検索によって得られた空き情報に基づいて、アサイン対象となるジョブを最も早く実行開始できる時刻を決定する。また、開始時刻決定部420は、開始時刻とアサイン対象となるジョブとを仮想ノード選択部430に通知する。
仮想ノード選択部430は、上述したようにキュー情報432に基づいて、ジョブに対応可能な仮想ノードグループを特定する。その後、本実施の形態では、仮想ノード選択部430は、情報格納部403に格納されているポリシー431に基づいて、特定された仮想ノードグループに属する仮想ノードに対して優先順位を付与し、優先順位に基づいて、使用する仮想ノードを決定する。
また、本実施の形態で用いられるポリシー431は、例えば、クラスタ内ポリシーと、クラスタ間ポリシーとを含む。このうち、クラスタ内ポリシーは、特定のクラスタ(システム)に所属する仮想ノードをジョブに割り当てる場合に使用する順位付けルールである。また、クラスタ間ポリシーは、複数のクラスタ(システム)間でジョブの割り当てを実行する場合に使用する順位付けルールである。
物理ノード選択部440は、上述したように、仮想ノードグループ情報441に基づいて、ジョブが割り当てられた仮想ノードに割り当てる物理ノードを選択する。また、物理ノード選択部440は、選択された物理ノードに障害が発生した場合は、仮想ノードグループ情報441に基づいて、障害が発生した物理ノードが割当てられていた仮想ノードに対して、新たに割り当てる新たな物理ノードを選択する。
更に、物理ノード選択部440は、仮想ノードグループ情報441に基づいて、障害が発生した物理ノードを割り当てることが可能な仮想ノードが存在しているかどうかを判定することもできる。そして、物理ノード選択部440は、存在している場合は、仮想ノードに割り当てる物理ノードとして、障害が発生した物理ノードを選択することができる。
また、図1に示すように、情報管理部402は、情報更新部450と、リソース情報管理部470とを備えている。情報管理部402は、これらによって、ジョブ及びクラスタシステムに関する情報を管理している。
このうち、情報更新部450は、ジョブについてアサインが確定すると、アサインが確定したジョブの情報を用いて、ジョブ情報460を更新する。また、リソース情報管理部470は、状態管理部471と、状態監視部472とを備え、これらによって実ノードの構成を保持している。
状態監視部472は、物理ノードのリソースを監視し、物理ノードに障害が発生すると、状態管理部471に対して、実リソース情報473の更新依頼を通知する。状態管理部471は、状態監視部472から更新依頼の通知を受け取ると、それに応じて実リソース情報473の更新及び管理を行い、物理ノードの再選択を物理ノード選択部440に依頼する。
[装置動作]
次に、本発明の実施の形態1におけるジョブ管理装置40の動作について図6〜図8を用いて説明する。また、以下の説明においては、適宜図2〜図5を参酌する。更に、本実施の形態では、ジョブ管理装置40を動作させることによって、ジョブ管理方法が実施される。よって、本実施の形態におけるジョブ管理方法の説明は、以下のジョブ管理装置40の動作説明に代える。
最初に、図6を用いて、クラスタシステムのキューにジョブを投入した際のジョブアサイン時の処理(仮想ノード及び物理ノードの割り当て処理)について説明する。図6は、本発明の実施の形態におけるジョブ管理装置のジョブアサイン時の動作を示すフロー図である。
まず、前提として、ユーザが、投入するジョブで使用するノード数、メモリ量、ネットワークトポロジ、予定実行時間などを指定して、クラスタシステムのキューにジョブを投入する。
図6に示すように、仮想ノード選択部430は、ユーザが指定したリソース要求を元に、キュー情報432から、投入されたジョブに対応可能な仮想ノードグループを1つ選択する(ステップS1)。
次に、仮想ノード選択部430は、選択した1つの仮想ノードグループだけで必要ノード数を満たすかどうかを判定する(ステップS2)。ステップS2の判定の結果、選択したグループ1つだけでは必要ノード数が不足する場合は、仮想ノード選択部430は、仮想ノードグループ情報441を参照して、一階層上のレベルを検索対象に設定し(ステップS3)、再度ステップS1を実行する。
例えば、仮想ノード選択部430は、図3に示すグループ2を選択したが、仮想ノード数が足りない場合は、グループ1を再度選択する。また、本実施の形態では、ステップS503は、上位の階層のグループが対応するリソースの内容と下位の階層のグループが対応するリソースの内容とが等しくなるように行なわれる(同じスイッチに接続している等)。
また、スイッチ接続単位で、仮想ノードグループが設定されているとする。例えば、図15に示した例における、物理ノード(Node 0〜5)を仮想ノード(L#0〜L#5)と読み替えるとする。この場合、スイッチ2のレベルで接続される仮想ノード群(マルチノードジョブに使用可能なL#0〜L#1)で1つの仮想ノードグループとなる。この場合において、必要ノード数に満たない場合は、仮想ノード群(L#0〜L#1)に加えて、一階層上のスイッチ1のレベルで接続される仮想ノード群(マルチノードジョブに使用可能なL#3〜L#4)も選ばれる。
一方、ステップS2の判定の結果、選択したグループ1つだけで必要ノード数が不足しない場合は、ステップS4が実行される。ステップS4では、空き情報検索部410が、投入されたジョブについて、ユーザが指定した予定実行時間以上の空きがあり、且つ、最も早く実行可能な、未使用空間を検索する。そして、開始時刻決定部420は、検索によって得られた空き情報に基づいて、ジョブを最も早く実行開始できる時刻を決定する。
なお、ステップS4において、空き情報検索部410が、条件に合う未使用空間を見つけることができない場合は、一旦処理を終了する。この場合、投入されたジョブは、次回の未使用空間検索が行われるまで待ち状態になる。
次に、仮想ノード選択部430は、情報格納部403に格納されているポリシー431に基づいて、ステップS1で選択されたグループに属する仮想ノードに優先順位を設定し、優先順位に従って、投入されたジョブに割り当てる仮想ノードを選択する(ステップS5)。
ここで、後述する図8(b)を用いてステップS5について説明する。まず、図8(b)において、ジョブFは配置されておらず、更に、仮想ノード#L2は、マルチノード用に使用可能であるとする。この場合において、例えば、2ノードを使用するジョブが投入され、実行開始時刻では、仮想ノードL#2、L#3、L#4が最も早い時刻にジョブを開始できる状態にあるとする。また、新しく配置するジョブは、ノード数が同一となるジョブの後ろに配置した方が、先行ジョブの終了後すぐに実行できる点で、好ましい。
従って、仮想ノードL#3と仮想ノードL#4とで実行されるジョブの後ろに、未使用空間が存在する場合は、仮想ノード選択部430は、新たに投入されたジョブに対して、仮想ノードL#3と仮想ノードL#4とを選択する。また、この結果、これらの仮想ノードの未使用空間に新たに投入されたジョブが配置される。
次に、物理ノード選択部440は、仮想ノードグループ情報441に基づいて、ジョブが割り当てられた仮想ノードに割り当てる物理ノードを選択する(ステップS6)。その後、情報更新部450はアサインしたジョブについて、情報格納部403に格納されているジョブ情報を更新する(ステップS7)。以上のステップS1〜S7の実行により、キューに投入されたジョブがアサインされ、更に、仮想ノード及び物理ノードの割り当てが完了する。
次に、図7及び図8を用いて、物理ノードに障害が発生した場合の処理について説明する。図7は、本発明の実施の形態におけるジョブ管理装置の障害発生時の動作を示すフロー図である。図8(a)は、障害発生時の物理ノードの状態の一例を示す図であり、図8(b)は、障害発生時の仮想ノードへの物理ノードの再割り当ての状態の一例を示す図である。
図7に示すように、状態監視部472は、各物理ノードの状態を監視し(ステップS11)、各物理ノードに障害が発生していないかどうかを判定する(ステップS12)。ステップS2の判定の結果、障害が発生していない場合は、状態監視部472は、監視を継続する。一方、ステップS2の判定の結果、障害が発生している場合は、状態監視部472は、障害が発生した物理ノードを使用しているジョブを異常終了させる(ステップS13)。
次に、状態監視部472は、状態管理部471に対して、実リソース情報473の更新を依頼すると共に、物理ノード選択部440に対して、障害が発生した物理ノード(以下「障害ノード」と表記する。)が割り当てられていたジョブの物理ノードの再アサインも依頼する(ステップS14)。
次に、ステップS14が実行されると、状態管理471部は、障害ノードの実リソース情報473を更新する(ステップS15)。
次に、物理ノード選択部440は、更新された実リソース情報473と仮想ノードグループ情報とに基づいて、障害ノードと同等の要件を満たす物理ノードを選択する(ステップS16)。更に、物理ノード選択部440は、アサイン済ジョブに対して、障害ノードに代えて、新しく選択した物理ノードを割り当てる(ステップS17)。
以上のステップS11〜S17の実行により、障害ノードの代わりに新しい物理ノードが選択されるので、ジョブは再度実行される。ここで、具体例を図8(a)及び(b)を用いて説明する。
図8(a)及び(b)に示すように、もともとマルチノードジョブ用として割り当てられていた物理ノードNode1が障害により通信できなくなってしまった場合、ジョブAは異常終了する。そして、状態管理471によって、物理ノードNode1の実リソース情報473が通信不可の状態に更新される。
次に、物理ノード選択部440は、状態監視部472から物理ノードの再アサインが依頼されると、更新された実リソース情報473に基づいて、物理ノードNode2(通信可能)を交換ノードに選択する。そして、物理ノード選択部440は、アサイン済みのジョブEの仮想ノードL#1に割り当てる物理ノードを、物理ノードNode1から物理ノードNode2に変更する。なお、障害前において、物理ノードNode1と物理ノードNode2との実リソースは等しいとする。
また、このとき、障害によって物理ノードNode1のノード間接続機能のみが故障したとすると、物理ノードNode1はシングルノードジョブの実行には問題がない。よって、物理ノード選択部440が、シングルノードジョブ用の仮想ノードL#2に対して、物理ノードNode1を割り当てることができる。この場合、障害ノードの有効利用が図られる。
[実施の形態の第1の効果]
本実施の形態における第1の効果は、障害発生後もサービスレベルを落とすことなく、HPC用クラスタシステムの運用を継続できることである。その理由は、ジョブに割り当てる仮想ノードへの物理ノードの割り当てに、HPC用ジョブの性能にかかわる物理ノード間の構成要件(ネットワークトポロジ、分散ファイルシステム等)を使用するためである。また、本実施の形態では、バックフィルスケジューラが用いられるため、ジョブが走行していない時に、障害ノードを正常ノードに交換(再割り当て)することができる。よって、交換処理の安全性を高めつつ、交換処理を容易なものとできる。
[実施の形態の第2の効果]
本実施の形態における第2の効果は、障害が起きた物理ノードを継続的に運用でき、クラスタシステムの使用率を向上させることである。その理由は、ある条件下では利用不可である障害ノードでも、別の条件下では利用可能である場合に、仮想ノードが要求する条件に合致する限り、仮想ノードに動的に割り当てることができるからである。このため、従来では遊休としていた物理ノードを減らす運用が可能となるので、上述したようにクラスタシステムの使用率が向上する。
[実施の形態の第3の効果]
本実施の形態における第3の効果を図8及び図9を用いて説明する。図9は、本発明の実施の形態で用いられる物理ノードの一例を示す図である。図10は、本発明の実施の形態で用いられるスケジューラマップの一例を示す図である。
本実施の形態によれば、クラスタシステムを使用状況によって使い分けることが可能となる。まず、図9に示すサービス1及びサービス2は、使用するノードの条件(「ノード条件」)をSYS1としているが、サービス1では、更に「代替システム」としてSYS2が指定されている。また、図10に示すように、ジョブAは、処理単位によってジョブA-1とA-2とに分割されており、処理順は、A-1→A-2に設定されているとする。
以上の状況下において、ユーザが、ジョブAにサービス1を選択し、ジョブBにサービス2を選択して、これらのジョブを投入するとする。この場合、スケジューラマップへの割り当ての際、ジョブBには、SYS1に所属するノードが割り当てられ、ジョブA-1には、SYS1が使用中のため、代替システムのSYS2に所属する物理ノードが割り当てられる。なお、この割り当てでは、仮想ノードの割り当ての際に、上述したクラスタ間ポリシーが用いられる。
また、ジョブBが終了するとSYS1の物理ノードは開放されるので、ジョブA-2が開始されるときには、ジョブA-1には、SYS1が割り当てられる。このとき使用されるクラスタシステムが変更になっているにもかかわらず、ジョブの再投入及びスケジューラマップの変更は発生しない。
そして、通常であれば実行待ちとなる時間においては、代替システムによって処理が実行され、更に実行性能の高いシステムが利用可能になった時間においては、システムの切り替えが行なわれる。このため、ジョブのターンアラウンドタイム(TAT)を短縮することが可能となる。
[実施の形態の第4の効果]
本実施の形態における第4の効果を以下に説明する。まず、従来のジョブ管理では、ジョブの実行順序が予め設定されている場合、先行ジョブの終了状態は、ワークフロー管理システム、又はユーザの作成するスクリプトによって監視され、終了後に後続ジョブが投入されるという手順がとられている。
但し、この従来の方法では、先行ジョブを監視するために、ワークフロー管理システム、又はユーザの作成するスクリプトが必要となり、後者の場合は、更に、システム専用のワークフロー記述言語も必要となる。また、この従来の方法では、前のジョブが終了してから後続ジョブが実行されるまでの待ち時間が必要になるという問題もある。
これに対して、本実施の形態においては、スケジューラマップ上で、連続して実行される複数のジョブが存在し、これらに同一の仮想ノードが割り当てられていても、各ジョブの実行時においては、選択したサービスの条件に合致する物理ノードが使用される。このため、本実施の形態では、先行ジョブのすぐ後ろに後続ジョブを配置することが可能となり、ジョブの実行待ち時間を縮減できる。
本実施の形態における第4の効果を、図11(a)及び(b)を用いて具体的に説明する。図11(a)は、従来方式によって実行順序が設定されたジョブを実行する場合を説明する図であり、図11(b)は、本実施の形態によって実行順序が設定されたジョブを実行する場合を説明する図である。
図11(a)及び(b)の例は、ジョブAには、物理ノードとしてスカラノードを使うサービスが選択され、ジョブBには、物理ノードとしてベクトルノードを使うサービスが選択される。図11(b)に示すように、本実施の形態によれば、ジョブAの直後にジョブBを配置することができるため、従来方式に比べて、処理の終了時刻を早くすることが可能となる。
[プログラム]
本実施の形態におけるプログラムは、コンピュータに、図6に示すステップS1〜S7、図7に示すステップS11〜S17を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態におけるジョブ管理装置400とジョブ管理方法とを実現することができる。この場合、コンピュータのCPU(Central Processing Unit)は、ジョブアサイン部401及び情報管理部402として機能し、処理を行なう。また、コンピュータに備えられたハードディスク等の記憶装置は、情報格納部403として機能する。
ここで、本実施の形態におけるプログラムを実行することによって、ジョブ管理装置400を実現するコンピュータについて図11を用いて説明する。図12は、本発明の実施の形態におけるジョブ管理装置を実現するコンピュータの一例を示すブロック図である。
図11に示すように、コンピュータ110は、CPU111と、メインメモリ112と、記憶装置113と、入力インターフェイス114と、表示コントローラ115と、データリーダ/ライタ116と、通信インターフェイス117とを備える。これらの各部は、バス121を介して、互いにデータ通信可能に接続される。
CPU111は、記憶装置113に格納された、本実施の形態におけるプログラム(コード)をメインメモリ112に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ112は、典型的には、DRAM(Dynamic Random Access Memory)等の揮発性の記憶装置である。また、本実施の形態におけるプログラムは、コンピュータ読み取り可能な記録媒体120に格納された状態で提供される。なお、本実施の形態におけるプログラムは、通信インターフェイス117を介して接続されたインターネット上で流通するものであっても良い。
また、記憶装置113の具体例としては、ハードディスクドライブの他、フラッシュメモリ等の半導体記憶装置が挙げられる。入力インターフェイス114は、CPU111と、キーボード及びマウスといった入力機器118との間のデータ伝送を仲介する。表示コントローラ115は、ディスプレイ装置119と接続され、ディスプレイ装置119での表示を制御する。
データリーダ/ライタ116は、CPU111と記録媒体120との間のデータ伝送を仲介し、記録媒体120からのプログラムの読み出し、及びコンピュータ110における処理結果の記録媒体120への書き込みを実行する。通信インターフェイス117は、CPU111と、他のコンピュータとの間のデータ伝送を仲介する。
また、記録媒体120の具体例としては、CF(Compact Flash(登録商標))及びSD(Secure Digital)等の汎用的な半導体記憶デバイス、フレキシブルディスク(Flexible Disk)等の磁気記憶媒体、又はCD−ROM(Compact Disk Read Only Memory)などの光学記憶媒体が挙げられる。
上述した実施の形態の一部又は全部は、以下に記載する(付記1)〜(付記15)によって表現することができるが、以下の記載に限定されるものではない。
(付記1)
クラスタシステムにおいて実行されるジョブを管理するための装置であって、
前記クラスタシステムのキュー毎に、キューが提供できるリソースと、前記リソースを満たす仮想ノードのグループとを特定するキュー情報に基づいて、前記ジョブに対応可能な仮想ノードのグループを特定し、特定した仮想ノードのグループの中から、前記ジョブに割り当てる前記仮想ノードを選択する、仮想ノード選択部と、
前記仮想ノードのグループ毎に、当該グループに使用可能な物理ノードについてのノード間の構成要件を特定する、仮想ノードグループ情報に基づいて、前記ジョブが割り当てられた前記仮想ノードに割り当てる前記物理ノードを選択する、物理ノード選択部と、
を備えていることを特徴とするジョブ管理装置。
(付記2)
前記物理ノード選択部が、選択された前記物理ノードに障害が発生した場合に、
前記仮想ノードグループ情報に基づいて、障害が発生した物理ノードが割当てられていた前記仮想ノードに対して、新たに割り当てる新たな物理ノードを選択する、付記1に記載のジョブ管理装置。
(付記3)
前記物理ノード選択部が、前記仮想ノードグループ情報に基づいて、前記障害が発生した物理ノードを割り当てることが可能な仮想ノードが存在しているかどうかを判定し、存在している場合に、当該仮想ノードに割り当てる物理ノードとして、前記障害が発生した物理ノードを選択する、
付記1または2に記載のジョブ管理装置。
(付記4)
前記仮想ノードグループ情報が、前記仮想ノードのグループ毎に、当該グループに使用可能な物理ノードについてのノード間の構成要件として、少なくとも、前記物理ノードが所属しているネットワークトポロジについての要件と、前記物理ノードが利用可能なファイルシステムについての要件とを特定している、
付記1〜3のいずれかに記載のジョブ管理装置。
(付記5)
前記キューに投入された前記ジョブを実行可能な時間帯を検索する、空き情報検索部と、
検索された時間帯の中から、前記キューに投入された前記ジョブの実行を開始する時刻を決定する、開始時刻決定部と、を備えている、付記1〜4のいずれかに記載のジョブ管理装置。
(付記6)
クラスタシステムにおいて実行されるジョブを管理するための方法であって、
(a)前記クラスタシステムのキュー毎に、キューが提供できるリソースと、前記リソースを満たす仮想ノードのグループとを特定するキュー情報に基づいて、前記ジョブに対応可能な仮想ノードのグループを特定し、特定した仮想ノードのグループの中から、前記ジョブに割り当てる前記仮想ノードを選択する、ステップと、
(b)前記仮想ノードのグループ毎に、当該グループに使用可能な物理ノードについてのノード間の構成要件を特定する、仮想ノードグループ情報に基づいて、前記ジョブが割り当てられた前記仮想ノードに割り当てる前記物理ノードを選択する、ステップと、
を有することを特徴とするジョブ管理方法。
(付記7)
(c)選択された前記物理ノードに障害が発生した場合に、前記仮想ノードグループ情報に基づいて、障害が発生した物理ノードが割当てられていた前記仮想ノードに対して、新たに割り当てる新たな物理ノードを選択する、ステップを更に有する、付記6に記載のジョブ管理方法。
(付記8)
(d)前記仮想ノードグループ情報に基づいて、前記障害が発生した物理ノードを割り当てることが可能な仮想ノードが存在しているかどうかを判定し、存在している場合に、当該仮想ノードに割り当てる物理ノードとして、前記障害が発生した物理ノードを選択する、ステップを更に有する、付記6または7に記載のジョブ管理方法。
(付記9)
前記仮想ノードグループ情報が、前記仮想ノードのグループ毎に、当該グループに使用可能な物理ノードについてのノード間の構成要件として、前記物理ノードが所属しているネットワークトポロジについての要件と、前記物理ノードが利用可能なファイルシステムについての要件とを特定している、
付記6〜8のいずれかに記載のジョブ管理方法。
(付記10)
(e)前記キューに投入された前記ジョブを実行可能な時間帯を検索する、ステップと、
(f)検索された時間帯の中から、前記キューに投入された前記ジョブの実行を開始する時刻を決定する、ステップと、
を更に有する、付記6〜9のいずれかに記載のジョブ管理方法。
(付記11)
コンピュータによって、クラスタシステムにおいて実行されるジョブを管理するためのプログラムであって、
前記コンピュータに、
(a)前記クラスタシステムのキュー毎に、キューが提供できるリソースと、前記リソースを満たす仮想ノードのグループとを特定するキュー情報に基づいて、前記ジョブに対応可能な仮想ノードのグループを特定し、特定した仮想ノードのグループの中から、前記ジョブに割り当てる前記仮想ノードを選択する、ステップと、
(b)前記仮想ノードのグループ毎に、当該グループに使用可能な物理ノードについてのノード間の構成要件を特定する、仮想ノードグループ情報に基づいて、前記ジョブが割り当てられた前記仮想ノードに割り当てる前記物理ノードを選択する、ステップと、
を実行させるプログラム。
(付記12)
(c)選択された前記物理ノードに障害が発生した場合に、前記仮想ノードグループ情報に基づいて、障害が発生した物理ノードが割当てられていた前記仮想ノードに対して、新たに割り当てる新たな物理ノードを選択する、ステップを更に前記コンピュータに実行させる、付記11に記載のプログラム。
(付記13)
(d)前記仮想ノードグループ情報に基づいて、前記障害が発生した物理ノードを割り当てることが可能な仮想ノードが存在しているかどうかを判定し、存在している場合に、当該仮想ノードに割り当てる物理ノードとして、前記障害が発生した物理ノードを選択する、ステップを更に前記コンピュータに実行させる、付記11または12に記載のプログラム。
(付記14)
前記仮想ノードグループ情報が、前記仮想ノードのグループ毎に、当該グループに使用可能な物理ノードについてのノード間の構成要件として、前記物理ノードが所属しているネットワークトポロジについての要件と、前記物理ノードが利用可能なファイルシステムについての要件とを特定している、
付記11〜13のいずれかに記載のプログラム。
(付記15)
(e)前記キューに投入された前記ジョブを実行可能な時間帯を検索する、ステップと、
(f)検索された時間帯の中から、前記キューに投入された前記ジョブの実行を開始する時刻を決定する、ステップと、
を更に前記コンピュータに実行させる、付記11〜14のいずれかに記載のプログラム。
以上のように、本発明によれば、クラスタシステムにおける再スケジューリング時のノード構成の柔軟性とシステムの性能とを向上させることができる。本発明は、バックフィル型ジョブスケジューラが管理するパーティション(クラスタ)において、クラスタシステムの高使用率を実現するジョブアサイン方法に有用である。
110 コンピュータ
111 CPU
112 メインメモリ
113 記憶装置
114 入力インターフェイス
115 表示コントローラ
116 データリーダ/ライタ
117 通信インターフェイス
118 入力機器
119 ディスプレイ装置
120 記録媒体
121 バス
400 ジョブ管理装置
401 アサイン部
402 情報管理部
403 情報格納部
410 空き情報検索部
411 スケジューラマップ
420 開始時刻決定部
430 仮想ノード選択部
431 ポリシー
432 キュー情報
440 物理ノード選択部
441 仮想ノードグループ情報
450 情報更新部
460 ジョブ情報
470 リソース情報管理部
471 状態管理部
472 状態監視部

Claims (7)

  1. クラスタシステムにおいて実行されるジョブを管理するための装置であって、
    前記クラスタシステムのキュー毎に、キューが提供できるリソースと、前記リソースを満たす仮想ノードのグループとを特定するキュー情報に基づいて、前記キューに投入されたジョブに対応可能な仮想ノードのグループを特定し、特定した仮想ノードのグループの中から、前記ジョブに割り当てる前記仮想ノードを選択する、仮想ノード選択部と、
    前記仮想ノードのグループ毎に、当該グループに使用可能な物理ノードについてのノード間の構成要件を特定する、仮想ノードグループ情報に基づいて、前記ジョブが割り当てられた前記仮想ノードに割り当てる前記物理ノードを選択する、物理ノード選択部と、
    を備えていることを特徴とするジョブ管理装置。
  2. 前記物理ノード選択部が、選択された前記物理ノードに障害が発生した場合に、
    前記仮想ノードグループ情報に基づいて、障害が発生した物理ノードが割当てられていた前記仮想ノードに対して、新たに割り当てる新たな物理ノードを選択する、請求項1に記載のジョブ管理装置。
  3. 前記物理ノード選択部が、前記仮想ノードグループ情報に基づいて、前記障害が発生した物理ノードを割り当てることが可能な仮想ノードが存在しているかどうかを判定し、存在している場合に、当該仮想ノードに割り当てる物理ノードとして、前記障害が発生した物理ノードを選択する、
    請求項1または2に記載のジョブ管理装置。
  4. 前記仮想ノードグループ情報が、前記仮想ノードのグループ毎に、当該グループに使用可能な物理ノードについてのノード間の構成要件として、少なくとも、前記物理ノードが所属しているネットワークトポロジについての要件と、前記物理ノードが利用可能なファイルシステムについての要件とを特定している、
    請求項1〜3のいずれかに記載のジョブ管理装置。
  5. 前記キューに投入された前記ジョブを実行可能な時間帯を検索する、空き情報検索部と、
    検索された時間帯の中から、前記キューに投入された前記ジョブの実行を開始する時刻を決定する、開始時刻決定部と、を備えている、請求項1〜4のいずれかに記載のジョブ管理装置。
  6. クラスタシステムにおいて実行されるジョブを管理するための方法であって、
    (a)前記クラスタシステムのキュー毎に、キューが提供できるリソースと、前記リソースを満たす仮想ノードのグループとを特定するキュー情報に基づいて、前記ジョブに対応可能な仮想ノードのグループを特定し、特定した仮想ノードのグループの中から、前記ジョブに割り当てる前記仮想ノードを選択する、ステップと、
    (b)前記仮想ノードのグループ毎に、当該グループに使用可能な物理ノードについてのノード間の構成要件を特定する、仮想ノードグループ情報に基づいて、前記ジョブが割り当てられた前記仮想ノードに割り当てる前記物理ノードを選択する、ステップと、
    を有することを特徴とするジョブ管理方法。
  7. コンピュータによって、クラスタシステムにおいて実行されるジョブを管理するためのプログラムであって、
    前記コンピュータに、
    (a)前記クラスタシステムのキュー毎に、キューが提供できるリソースと、前記リソースを満たす仮想ノードのグループとを特定するキュー情報に基づいて、前記ジョブに対応可能な仮想ノードのグループを特定し、特定した仮想ノードのグループの中から、前記ジョブに割り当てる前記仮想ノードを選択する、ステップと、
    (b)前記仮想ノードのグループ毎に、当該グループに使用可能な物理ノードについてのノード間の構成要件を特定する、仮想ノードグループ情報に基づいて、前記ジョブが割り当てられた前記仮想ノードに割り当てる前記物理ノードを選択する、ステップと、
    を実行させるプログラム。
JP2012080516A 2012-03-30 2012-03-30 ジョブ管理装置、ジョブ管理方法、及びプログラム Active JP6010975B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012080516A JP6010975B2 (ja) 2012-03-30 2012-03-30 ジョブ管理装置、ジョブ管理方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012080516A JP6010975B2 (ja) 2012-03-30 2012-03-30 ジョブ管理装置、ジョブ管理方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2013210833A true JP2013210833A (ja) 2013-10-10
JP6010975B2 JP6010975B2 (ja) 2016-10-19

Family

ID=49528608

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012080516A Active JP6010975B2 (ja) 2012-03-30 2012-03-30 ジョブ管理装置、ジョブ管理方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP6010975B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015194923A (ja) * 2014-03-31 2015-11-05 富士通株式会社 並列計算機システム,ジョブ管理装置の制御プログラム,及び並列計算機システムの制御方法
JP2016167121A (ja) * 2015-03-09 2016-09-15 富士通株式会社 並列演算装置、並列演算システム、およびジョブ制御プログラム
JP2017111662A (ja) * 2015-12-17 2017-06-22 日立オートモティブシステムズ株式会社 電子制御装置
KR20220017811A (ko) * 2020-08-05 2022-02-14 쿠팡 주식회사 네트워크 혼잡을 완화시키기 위해 다수 사용자 요청을 풀링하기 위한 시스템 및 방법
WO2022137651A1 (ja) * 2020-12-21 2022-06-30 日立Astemo株式会社 車両制御装置
JP7421165B2 (ja) 2020-03-25 2024-01-24 京セラドキュメントソリューションズ株式会社 データ連携システムおよびapiプラットフォーム

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002229943A (ja) * 2001-02-05 2002-08-16 Hitachi Ltd サービスレベル制御機構を有するトランザクション処理システム及びそのためのプログラム
JP2003084956A (ja) * 2001-09-11 2003-03-20 Ricoh Co Ltd 画像形成装置およびソフトウェア再構築方法
JP2003330740A (ja) * 2002-05-15 2003-11-21 Hitachi Ltd 多重化計算機システム、論理計算機の割当方法および論理計算機の割当プログラム
US20050044301A1 (en) * 2003-08-20 2005-02-24 Vasilevsky Alexander David Method and apparatus for providing virtual computing services
JP2007533031A (ja) * 2004-04-15 2007-11-15 レイセオン カンパニー Hpcノード障害の検出及び管理を行うシステム及び方法
JP2008517382A (ja) * 2004-10-15 2008-05-22 イーエムシー コーポレイション 仮想マシンを含む資源グループの構成、監視、および/または管理
JP2009205696A (ja) * 2009-06-15 2009-09-10 Hitachi Ltd マルチコアプロセッサ計算機の制御方法
JP2010097402A (ja) * 2008-10-16 2010-04-30 Hitachi Ltd 計算機システム及びその構成管理方法
JP2010267025A (ja) * 2009-05-13 2010-11-25 Fujitsu Ltd ジョブスケジューリングプログラム、ジョブスケジューリング装置及びジョブスケジューリング方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002229943A (ja) * 2001-02-05 2002-08-16 Hitachi Ltd サービスレベル制御機構を有するトランザクション処理システム及びそのためのプログラム
JP2003084956A (ja) * 2001-09-11 2003-03-20 Ricoh Co Ltd 画像形成装置およびソフトウェア再構築方法
JP2003330740A (ja) * 2002-05-15 2003-11-21 Hitachi Ltd 多重化計算機システム、論理計算機の割当方法および論理計算機の割当プログラム
US20050044301A1 (en) * 2003-08-20 2005-02-24 Vasilevsky Alexander David Method and apparatus for providing virtual computing services
JP2007533031A (ja) * 2004-04-15 2007-11-15 レイセオン カンパニー Hpcノード障害の検出及び管理を行うシステム及び方法
JP2008517382A (ja) * 2004-10-15 2008-05-22 イーエムシー コーポレイション 仮想マシンを含む資源グループの構成、監視、および/または管理
JP2010097402A (ja) * 2008-10-16 2010-04-30 Hitachi Ltd 計算機システム及びその構成管理方法
JP2010267025A (ja) * 2009-05-13 2010-11-25 Fujitsu Ltd ジョブスケジューリングプログラム、ジョブスケジューリング装置及びジョブスケジューリング方法
JP2009205696A (ja) * 2009-06-15 2009-09-10 Hitachi Ltd マルチコアプロセッサ計算機の制御方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015194923A (ja) * 2014-03-31 2015-11-05 富士通株式会社 並列計算機システム,ジョブ管理装置の制御プログラム,及び並列計算機システムの制御方法
JP2016167121A (ja) * 2015-03-09 2016-09-15 富士通株式会社 並列演算装置、並列演算システム、およびジョブ制御プログラム
JP2017111662A (ja) * 2015-12-17 2017-06-22 日立オートモティブシステムズ株式会社 電子制御装置
JP7421165B2 (ja) 2020-03-25 2024-01-24 京セラドキュメントソリューションズ株式会社 データ連携システムおよびapiプラットフォーム
KR20220017811A (ko) * 2020-08-05 2022-02-14 쿠팡 주식회사 네트워크 혼잡을 완화시키기 위해 다수 사용자 요청을 풀링하기 위한 시스템 및 방법
KR102410342B1 (ko) * 2020-08-05 2022-06-22 쿠팡 주식회사 네트워크 혼잡을 완화시키기 위해 다수 사용자 요청을 풀링하기 위한 시스템 및 방법
US11818047B2 (en) 2020-08-05 2023-11-14 Coupang Corp. Systems and methods for pooling multiple user requests to mitigate network congestion
WO2022137651A1 (ja) * 2020-12-21 2022-06-30 日立Astemo株式会社 車両制御装置

Also Published As

Publication number Publication date
JP6010975B2 (ja) 2016-10-19

Similar Documents

Publication Publication Date Title
JP5577412B2 (ja) 計算機システム、マイグレーション方法及び管理サーバ
US10733026B2 (en) Automated workflow selection
US11128555B2 (en) Methods and apparatus for SDI support for automatic and transparent migration
US20190324819A1 (en) Distributed-system task assignment method and apparatus
US8291430B2 (en) Optimizing system performance using spare cores in a virtualized environment
JP4519098B2 (ja) 計算機の管理方法、計算機システム、及び管理プログラム
US8645745B2 (en) Distributed job scheduling in a multi-nodal environment
JP6010975B2 (ja) ジョブ管理装置、ジョブ管理方法、及びプログラム
JP5684629B2 (ja) ジョブ管理システム及びジョブ管理方法
WO2020113310A1 (en) System and method for resource partitioning in distributed computing
US11755369B2 (en) Techniques for container scheduling in a virtual environment
US9329937B1 (en) High availability architecture
JP2012094030A (ja) 計算機システム及び処理制御方法
KR101474872B1 (ko) 클라우드 상에 가상 클러스터들의 효율적 구축을 위한 탄력적 가상 클러스터 관리 방법, 이를 이용한 가상 클러스터 관리 장치 및 클라우드 시스템
US20130167152A1 (en) Multi-core-based computing apparatus having hierarchical scheduler and hierarchical scheduling method
JP2014532946A (ja) クラスタに依頼されたタスクを実行するために前記クラスタのコンピュータ資源を割り当てるための方法、コンピュータプログラム、およびデバイス
CN110221920B (zh) 部署方法、装置、存储介质及***
WO2019056771A1 (zh) 分布式存储***升级管理的方法、装置及分布式存储***
KR20130019698A (ko) 사용자 스케줄러와 마이그레이션(Migration)을 통한 자원 최적화 방법 및 시스템
JP2016115065A (ja) 情報処理装置、情報処理システム、タスク処理方法、及び、プログラム
US20170024245A1 (en) Workload-aware shared processing of map-reduce jobs
US9467336B2 (en) Information processing system and management method thereof
CN116157778A (zh) 共享物理主机上混合集中分布式调度的***和方法
WO2019159875A1 (ja) 配置構成装置、および、配置構成方法
WO2020022018A1 (ja) リソース割当装置、リソース管理システム、および、リソース割当プログラム

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20150123

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150209

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151224

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160126

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160328

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160823

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160905

R150 Certificate of patent or registration of utility model

Ref document number: 6010975

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150