JP6988556B2 - 情報処理装置、ジョブ状態表示方法およびジョブ状態表示プログラム - Google Patents

情報処理装置、ジョブ状態表示方法およびジョブ状態表示プログラム Download PDF

Info

Publication number
JP6988556B2
JP6988556B2 JP2018029165A JP2018029165A JP6988556B2 JP 6988556 B2 JP6988556 B2 JP 6988556B2 JP 2018029165 A JP2018029165 A JP 2018029165A JP 2018029165 A JP2018029165 A JP 2018029165A JP 6988556 B2 JP6988556 B2 JP 6988556B2
Authority
JP
Japan
Prior art keywords
job
display request
job status
user terminal
information
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.)
Active
Application number
JP2018029165A
Other languages
English (en)
Other versions
JP2019144902A (ja
Inventor
章孝 岩田
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2018029165A priority Critical patent/JP6988556B2/ja
Publication of JP2019144902A publication Critical patent/JP2019144902A/ja
Application granted granted Critical
Publication of JP6988556B2 publication Critical patent/JP6988556B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

本発明は、情報処理装置、ジョブ状態表示方法およびジョブ状態表示プログラムに関する。
並列計算機システムにおいて、複数の計算ノードが並列して計算を行なう。複数の計算ノードはジョブ管理ノードに接続され、ジョブ管理ノードは、複数のユーザ端末に接続される。ジョブ管理ノードは、ジョブを管理するジョブスケジューラを有し、該ジョブスケジューラは、ユーザ端末からジョブが投入されると、計算ノードにジョブを送信する制御を行う。
並列計算機システムでは、多数のジョブが投入されることがあり、新たなジョブがジョブ管理ノードに投入された際に、新たなジョブを実行する計算ノードの数が不足することがある。この場合、ジョブスケジューラは、投入されたジョブを実行待ちジョブとして、ジョブ管理ノード内で管理する。
関連する技術として、端末利用者からの表示要求に対してシステム全体のジョブ実行情報から利用者に関連する情報のみを抽出収集し、且つその情報を端末に表示可能な形式に編集し、端末に常時表示する技術が提案されている(例えば、特許文献1を参照)。
また、複数の計算機をネットワーク接続した負荷分散バッチシステムにおいて、計算機間の通信回数を減らし、ジョブ実行の進行状況を把握する技術が提案されている(例えば、特許文献2を参照)。
特開昭63−268045号公報 特開平10−49504号公報
ユーザ端末を操作するユーザは、ユーザ端末から投入されたジョブの状態を確認するための操作をユーザ端末に対して行うことがある。ユーザ端末は、該操作を受け付けると、ジョブの状態を取得するためのリクエストを、ジョブ管理ノードに送信する。
ジョブ管理ノードは、上記リクエストを受信すると、ジョブの状態に関する情報を収集する。この際、ジョブの数や、ジョブが計算ノードで実行中であるか否か等によって、ジョブの状態に関する情報を収集する時間(以下、収集時間)が長くなる場合があり、収集時間が短い場合もある。
ジョブ管理ノードが、複数のユーザ端末から上記リクエストを受信した順番で、ジョブの状態に関する情報を収集する処理を行なうと、収集時間が長いリクエストが先に処理されることにより、収集時間が短いリクエストが待たされることがある。この場合、短時間で、ユーザ端末にジョブの状態に関する情報を表示できる場合であっても、待ち時間が生じることにより、ジョブの状態の関する情報を表示するまでの時間が長くなる。
1つの側面として、本発明は、ジョブの状態に関する情報が表示されるまでの時間が長くなることを抑制することを目的とする。
1つの態様では、複数のノードに接続された情報処理装置は、ユーザ端末から、ジョブの状態を示すジョブ状態情報の表示要求を受信した場合、前記ユーザ端末から投入されたジョブの数、または投入ジョブのうち、実行中のジョブが使用しているノードのジョブ使用ノード数に基づいて、前記表示要求に応答する予測時間を示す予測値を算出する算出部と、前記予測値に応じて、前記表示要求を複数のグループの何れかに分類する分類部と、前記グループごとに、前記表示要求に応じたジョブ状態情報を収集し、前記ユーザ端末に出力する出力部と、を含む。
1つの側面によれば、ジョブの状態に関する情報が表示されるまでの時間が長くなることを抑制することができる。
並列計算機システムの一例を示す図である。 ジョブスケジューラの一例を示す図である。 予測制御情報の一例を示す図である。 ジョブ関連情報の一例を示す図である。 ジョブ状態一覧情報の一例を示す図である。 表示情報の一例を示す図である。 応答負荷予測部の処理の流れの一例を示すフローチャートである。 リクエストキュー部の処理の流れの一例を示すフローチャートである。 スレッド管理部の処理の流れの一例を示すフローチャートである。 スレッドの処理の流れの一例を示すフローチャート(その1)である。 スレッドの処理の流れの一例を示すフローチャート(その2)である。 ジョブ管理ノードのハードウェア構成の一例を示す図である。
<並列計算機システムの一例>
以下、図面を参照して、実施形態について説明する。図1は、並列計算機システム1の一例を示す図である。並列計算機システム1において、ジョブ管理ノード2に、複数のユーザ端末3(3A、3B、・・・3E)および複数の計算ノード4(4−1、4−2、・・・、4−N)が接続されている。
ジョブ管理ノード2は、各ユーザ端末3から受信したジョブを管理するノードである。以下、ジョブ管理ノード2が受信したジョブを、投入されたジョブまたは投入ジョブと称することがある。ジョブ管理ノード2は、情報処理装置の一例である。
ユーザ端末3は、所定の端末であり、ユーザにより操作される端末である。実施形態では、ユーザ端末3は、ジョブを投入するためのコマンド(ジョブ投入コマンド)およびジョブの状態の表示を要求するためのコマンド(ジョブ状態表示要求コマンド)を、ジョブ管理ノード2に送信する。ユーザ端末3の台数は、任意の台数であってよい。
各計算ノード4は、ジョブに応じた処理を行なう。各計算ノード4は、ジョブの状態を管理する機能を有している。図1の例では、N(Nは2以上の整数)台の計算ノード4が、ジョブ管理ノード2に接続される。Nは、任意の数であってよい。各計算ノード4は、並列して計算を行なう。計算ノード4の台数が多くなるに応じて、並列計算機システムの並列度が高くなる。
ジョブ管理ノード2は、ジョブスケジューラ11と記憶部12と通信部13とを含む。ジョブスケジューラ11は、ユーザ端末3から投入されたジョブを管理する。
ジョブスケジューラ11は、ユーザ端末3からジョブ管理ノード2にジョブが投入されると、各計算ノード4のうち、ジョブの実行が可能な計算ノード4を検索する。該計算ノード4は、空き計算ノードとも称される。
多数のジョブがジョブ管理ノード2に投入されると、各計算ノード4の多くが使用される。また、1つのジョブが、多くの計算ノード4を使用する場合もある。従って、多くの計算ノード4が使用されている際に、新たなジョブが投入されると、該新たなジョブを実行する計算ノード4の数が不足することがある。
上記の場合、ジョブスケジューラ11は、記憶部12に新たなジョブを記憶し、該新たなジョブを待機ジョブとして管理する。記憶部12は、各種の情報を記憶する。例えば、記憶部12は、待機ジョブを記憶する。
通信部13は、各ユーザ端末3および各計算ノード4と通信を行う。実施形態では、ジョブ管理ノード2と各ユーザ端末3とを接続するネットワークと、ジョブ管理ノード2と各計算ノード4とを接続するネットワークとは、異なるネットワークであるものとして説明する。
<ジョブスケジューラの一例>
図2を参照して、ジョブスケジューラ11の一例について説明する。ジョブスケジューラ11は、応答負荷予測部21とリクエストキュー部22と出力部23とを含む。上述したように、ジョブ管理ノード2は、ジョブ状態表示要求コマンドを受信する。該ジョブ状態表示要求コマンドは、ジョブの状態の表示を要求するリクエスト(以下、ジョブ状態表示リクエストと称する)でもある。ジョブ状態表示リクエストは、表示要求の一例である。
応答負荷予測部21は、算出部21Aと分類部21Bとを含む。算出部21Aは、記憶部12に記憶された予測制御情報を参照して、ジョブ状態表示リクエストに応答する予測時間を示す予測値を算出する。
上記予測時間は、ユーザ端末3が、ジョブ状態表示リクエスト(またはジョブ状態表示要求コマンド)をジョブ管理ノード2に送信してから、該ユーザ端末3が投入したジョブの状態を示す情報を表示するまでの予測時間を示す。
算出部21Aは、ジョブ状態表示リクエストに対応するユーザ端末3が投入したジョブ数と、投入されたジョブの実行に使用されるノード数とのうち何れか一方または両方に基づいて、予測値を算出する。
算出部21Aは、以下の式(1)により、予測値を算出する。
「予測値=投入ジョブ数×第1の係数+実行中ノード数×第2の係数」(式1)
投入ジョブ数は、上記ユーザ端末3がジョブ管理ノード2に投入したジョブの数であり、実行中ノード数は、投入ジョブのうち、実行中のジョブが使用しているノードの数である。実行中ノード数は、ジョブ使用ノード数の一例である。
図3(A)を参照して、第1の係数および第2の係数について説明する。第1の係数は、1つのジョブについてのジョブ状態情報を生成する場合に与えられる重みである。第2の係数は、ジョブ管理ノード2が、1台の計算ノード4からジョブ状態情報を受信する場合に与えられる重みである。
図3(A)の例に示されるように、第1の計数の値は「1」であり、第2の係数の値は「5」である。従って、算出部21Aは、投入ジョブ数よりも実行中ノード数に高い重み付けをして、予測値を算出する。
ジョブ管理ノード2が、計算ノード4からジョブ状態情報を受信する場合、ジョブ管理ノード2が、計算ノード4に、ネットワークを介して、ジョブ状態情報の参照依頼を送信する。
計算ノード4は、参照依頼を受信すると、該計算ノード4が処理を行なっているジョブの状態を示すジョブ状態情報を、ネットワークを介して、ジョブ管理ノード2に送信する。従って、ジョブ管理ノード2が、計算ノード4から実行中ノード数を取得するために、通信時間が発生する。
投入ジョブ数は、記憶部12の投入ジョブ情報24に記録されており、応答負荷予測部21が、投入ジョブ数を得るために、通信は発生しない。従って、投入ジョブ数を得るための時間より、実行中ノード数を得るための時間の方が長くなる。
そこで、第2の係数の値は、第1の係数の値よりも高く設定される。第1の係数の値および第2の係数の値は、任意の値であってもよい。例えば、第1の係数の値を基準として、ジョブ管理ノード2と計算ノード4との間のネットワークの状況に応じて、第2の係数の値が設定されてもよい。
上述した(式1)において、第1の係数はゼロであってもよい。この場合、予測値は、以下の(式2)により算出される。
「予測値=実行中ノード数×第2の係数」(式2)
例えば、投入ジョブ数が少なく、且つ1つのジョブが多くの計算ノード4を使用する場合、投入ジョブ数に比して、実行中ノード数が多くなる。この場合、投入ジョブ数よりも、実行中ノード数の方が、予測値に支配的な影響を与えるため、投入ジョブ数は、予測値の算出から除外されてもよい。
一方、投入ジョブ数が多い場合、投入ジョブ数が予測値に与える影響が大きくなる。従って、算出部21Aが、上述した(式1)のように、投入ジョブ数と実行中ノード数との両者に基づいて、予測値を算出することで、予測値の算出精度が向上する。なお、実行中ノード数がゼロまたはゼロに近い場合、予測値は、投入ジョブ数に基づいて、算出されてもよい。
分類部21Bは、算出部21Aが算出した予測値に応じて、ジョブ状態表示リクエストを、レベルごとのグループに分類する。図2の例では、分類部21Bは、ジョブ状態表示リクエストを、3つのグループに分類する。
図3(B)の例の場合、分類部21Bは、算出部21Aが算出した予測値が「999以下」である場合、ジョブ状態表示リクエストを、レベル1のグループに分類する。算出部21Aが算出した予測値が「1000以上、且つ9999未満」である場合、分類部21Bは、ジョブ状態表示リクエストを、レベル2のグループに分類する。
算出部21Aが算出した予測値が「10000以上」である場合、分類部21Bは、ジョブ状態表示リクエストを、レベル3のグループに分類する。グループの数は任意の数であってよく、予測値範囲は任意の範囲に設定されてよい。
上述したように、ジョブ状態表示リクエストは、ユーザ端末3から送信されたリクエストである。従って、1つのジョブ状態表示リクエストは、ユーザ端末3と対応付けられている。
算出部21Aが算出した予測値が小さいほど、ユーザ端末3にジョブ状態が表示されるまでの時間が短くなると予測される。一方、算出部21Aが算出した予測値が大きいほど、ユーザ端末3にジョブ状態が表示されるまでの時間が長くなると予測される。
実施形態のジョブスケジューラ11の出力部23において、算出部21Aが算出した予測値に応じて、複数のグループが、それぞれ並列に、ジョブ状態表示リクエストについての処理を行なう。これにより、予測値が小さいジョブ状態表示リクエストと予測値が大きいジョブ状態表示リクエストとが並列に処理される。
予測値が小さいジョブ状態表示リクエストは、ユーザ端末3に、投入ジョブの状態を表示させる時間が短いリクエストである。予測値が小さいジョブ状態表示リクエストと予測値が大きいジョブ状態表示リクエストとが並列に処理されることで、予測値が小さいジョブ状態表示リクエストが待たされることがなくなる。これにより、ジョブの状態に関する情報が表示されるまでの時間が長くなることを抑制することができる。
図2を参照して、リクエストキュー部22について説明する。リクエストキュー部22は、複数のキューを含み、各キューは、上記のグループに対応する。図2の例では、リクエストキュー部22は、レベル1のキューとレベル2のキューとレベル3のキューとを含む。分類部21Bは、分類したジョブ状態表示リクエストを、対応するレベルのキューに登録する。以下、上記のキューをレベルキューと称することがある。
出力部23は、レベルごとにスレッドを含む。また、出力部23は、スレッド管理部23Aを含む。スレッドは、ジョブ状態表示リクエストに関する処理を行なう。出力部23の各レベルには、複数のスレッドが含まれていてもよい。
1つのレベルに複数のスレッドが含まれる場合、複数のスレッドにより、ジョブ状態表示リクエストに関する処理を並列に行うことができる。例えば、出力部23は、レベルごとに、レベルプールを有し、各レベルプールに1または複数のスレッドが含まれる。
リクエストキュー部22は、各レベルの何れかのキューに、ジョブ状態表示リクエストが登録されると、何れのレベルのキューにジョブ状態表示リクエストが登録されているかを示す情報を、出力部23のスレッド管理部23Aに通知する。
スレッド管理部23Aは、リクエストキュー部22からの通知に基づいて、対応するレベルのスレッドに、キューにジョブ状態表示リクエストが登録されたことを通知する。該通知に基づいて、スレッドは、ジョブ状態表示リクエストに関する処理を行なう。
<各種情報の一例>
図4は、ジョブ関連情報の一例を示す。ジョブ関連情報は、記憶部12に記憶される。図4(A)は、投入ジョブ情報の一例を示す。投入ジョブ情報は、ユーザと投入ジョブ数と実行中ジョブ数と実行中ジョブID(Identification)との項目を含む。
ユーザは、ジョブを投入したユーザ端末3を識別する情報である。実施形態では、ジョブ状態表示リクエストに、ユーザ端末3を識別する情報が含まれているものとする。該情報に基づいて、ユーザ端末3を識別する情報が特定される。
投入ジョブ数は、ユーザ端末3ごとの、投入ジョブの数を示す。実行中ジョブ数は、投入ジョブのうち、計算ノード4が実行中のジョブの数を示す。実行中ジョブIDは、計算ノード4が実行中のジョブのIDを示す。
図4(B)は、実行中計算ノード情報の一例を示す。実行中計算ノード情報は、記憶部12に記憶される。実行中計算ノード情報は、実行中ジョブIDと実行中計算ノード数との項目を含む。
実行中ジョブIDは、投入ジョブ情報の実行中ジョブIDに対応する。実行中計算ノード数は、実行中ジョブIDで特定されるジョブが使用している計算ノード4の数を示す。
図4(C)は、応答予測レベル情報の一例を示す。応答予測レベルは、上述した予測値に基づいて分類されたレベルである。応答予測レベル情報は、ユーザと予測値と応答予測レベルとの項目を含む。
ユーザは、投入ジョブ情報のユーザに対応する。予測値は、ユーザ端末3に対応して、算出部21Aが算出した予測値を示す。レベルは、ユーザ端末3に対応して、分類部21Bが分類したレベルを示す。
例えば、図2において、ジョブスケジューラ11に、ジョブ状態表示リクエストが入力されたとする。該ジョブ状態表示リクエストに対応するユーザ端末3は、ユーザ端末3Aであり、該ユーザ端末3Aに対応するユーザは、ユーザAであるとする。
算出部21Aは、投入ジョブ情報および実行中計算ノード数情報を参照し、上述した(式1)を用いて、予測値を算出する。図4に示されるように、ユーザAの投入ジョブ数は「10」であり、実行中ジョブIDは、「1」、「7」および「8」である。
実行中ジョブID「1」に対応する実行中計算ノード数は「200」であり、実行中ジョブID「7」に対応する実行中計算ノード数は「1100」であり、実行中ジョブID「8」に対応する実行中計算ノード数は「500」である。従って、ユーザの実行中ノード数は「1800=200+1100+500」である。
第1の係数は「1」であり、第2の係数は「5」であることから、ユーザAについての予測値は、(式1)から、「9010=10×1+1800×5」として、算出部21Aにより算出される。分類部12Bは、記憶部12に記憶されたレベル情報を参照して、上記予測値がレベル2に該当することを認識する。
従って、分類部21Bは、上記のユーザ端末3Aのジョブ状態表示リクエストを、リクエストキュー部22のレベル2のキューに登録する。
また、ジョブスケジューラ11に、ユーザ端末3D(対応するユーザはユーザD)のジョブ状態表示リクエストが入力されたとする。ユーザDの投入ジョブ数は「5」であり、実行ジョブID「5」に対応する実行中計算ノード数は「100」である。よって、算出部21Aは、ユーザDについての予測値を「505=5×1+100×5」として算出する。
分類部12Bは、記憶部12に記憶されたレベル情報を参照して、上記予測値がレベル1に該当することを認識する。従って、分類部21Bは、上記のユーザ端末3Dのジョブ状態表示リクエストを、リクエストキュー部22のレベル1のキューに登録する。
各スレッドは、ユーザ端末3からのジョブ状態表示リクエストに基づいて、該ユーザ端末3により投入されたジョブ状態情報を収集する。収集されたジョブ状態情報は、表示情報として、ユーザ端末3に送信される。
レベル2のスレッドは、ユーザ端末3Aのジョブ状態表示リクエストに基づいて、各計算ノード4に、ジョブ状態情報の参照依頼を送信する制御を行う。該制御により、通信部13は、各計算ノード4に参照依頼を送信する。各計算ノード4は、参照依頼に応じて、ジョブ状態情報を、ジョブ管理ノード2に送信する。これにより、レベル2のスレッドは、ユーザ端末3Aのジョブ状態情報を、各計算ノード4から取得する。
図4(A)に示されるように、ユーザAに対応する投入ジョブ数は「10」であり、実行中ジョブ数は「3」である。よって、7つのジョブが記憶部12で待機中である。レベル2のスレッドは、記憶部12に記憶されているジョブから、ジョブ状態情報を取得する。
以上により、レベル2のスレッドは、ユーザ端末3Aのジョブ状態情報を収集する。レベル2のスレッドは、各計算ノード4から受信したジョブ状態情報と記憶部12から取得したジョブ状態情報とを含む情報を生成する。該情報が、上述した表示情報である。
レベル2のスレッドは、ジョブ状態表示リクエストを送信したユーザ端末3Aに、上記の表示情報を出力する。ユーザ端末3Aは、ディスプレイ等の表示装置に、表示情報を表示する。
レベル1のスレッドは、ユーザ端末3Dのジョブ状態表示リクエストに基づいて、各計算ノード4から、ユーザ端末3Dのジョブ状態情報を取得する。
ユーザDに対応する投入ジョブ数は「5」であり、実行中ジョブ数は「1」である。よって、4つのジョブが記憶部12で待機中である。レベル1のスレッドは、記憶部12に記憶されているジョブから、ジョブ状態情報を取得する。
以上により、レベル1のスレッドは、ユーザ端末3Dのジョブ状態情報を収集する。レベル1のスレッドは、上述した表示情報を生成し、ジョブ状態表示リクエストを送信したユーザ端末3Dに、上記の表示情報を出力する。ユーザ端末3Dは、ディスプレイ等の表示装置に、表示情報を表示する。
レベル2のスレッドは、レベル1のスレッドよりも、予測値が高いジョブ状態情報の処理を行なうため、レベル2のスレッドの処理は、レベル1のスレッドの処理よりも時間が長くなる。
しかし、レベル1のスレッドとレベル2のスレッドとは並列に動作するため、レベル1のスレッドの処理は、レベル2のスレッドの処理とは独立して実行される。従って、ユーザ端末3Dによるジョブ状態表示リクエストに基づく表示処理は、ユーザ端末3Aによるジョブ状態表示リクエストに基づく表示処理を待たなくてもよい。
よって、ユーザ端末3Dのディスプレイに、ジョブ状態情報を含む表示情報が表示されるまでの時間が長くなることが抑制される。
図5は、ジョブ管理ノード2に投入された各ジョブについてのジョブ状態一覧情報の一例を示す。ジョブ状態一覧情報は、「JOB_ID」、「STATUS」、「USER」、「NODE」、「START_TIME」、「CPU_TIME」、「MEM_SIZE」および「I/O_SIZE」の項目を含む。ジョブ状態一覧情報は、記憶部12に記憶される。
「JOB_ID」は、上述したIDを示す。「STATUS」は、ジョブが計算ノード4で実行中であれば「RUN」を示し、待機中であれば「QUE」を示す。「USER」は、上述したユーザ名を示す。
「NODE」は、上述した実行中計算ノード数を示す。「START_TIME」は、計算ノード4でジョブが実行された時刻を示す。該「START_TIME」は、さらに日付の情報を含んでもよい。「CPU_TIME」は、ジョブを実行している計算ノード4のCPU(Central Processing Unit)の使用時間を示す。
「MEM_SIZE」は、ジョブを実行している計算ノード4のメモリの使用量を示す。「I/O_SIZE」は、ジョブを実行している計算ノード4のInput/Output(I/O)のサイズを示す。ジョブ状態一覧情報のうち「JOB_ID」以外の各項目は、「JOB_ID」ごとの情報である。
図5の例に示されるように、「STATUS」が「QUE」であるジョブについては、「NODE」、「START_TIME」、「CPU_TIME」、「MEM_SIZE」および「I/O_SIZE」の項目に情報が記録されていない。
「STATUS」が「QUE」であるジョブは、待機中のジョブであり、該ジョブについてのジョブ状態情報は、計算ノード4から取得されていない。このため、「STATUS」が「QUE」であるジョブに対応する上記の各項目には、情報が記録されていない。
図6は、ユーザ端末3Aのディスプレイに表示される表示情報の一例を示す。レベル2のスレッドは、図5のジョブ状態一覧情報のうち、「USER」が「A」である情報を、表示情報として、ユーザ端末3Aに送信する制御を行う。該制御により、通信部13は、表示情報をユーザ端末3Aに送信する。ユーザ端末3Aのディスプレイは、受信した表示情報を表示する。
表示情報は、「STATUS」、「USER」、「NODE」、「START_TIME」、「CPU_TIME」、「MEM_SIZE」および「I/O_SIZE」以外の情報を含んでいてもよいし、各情報のうち何れかの情報を含まなくてもよい。また、表示情報は、上記の各項目以外の情報であってもよい。
<実施形態の処理の流れの一例>
以下、応答負荷予測部21の処理とリクエストキュー部22の処理と出力部23の処理とについて説明する。応答負荷予測部21とリクエストキュー部22と出力部23とは、独立して動作する。従って、応答負荷予測部21の処理とリクエストキュー部22の処理と出力部23の処理とは、並列に行なわれる。
図7は、応答負荷予測部21の処理の一例を示すフローチャートである。応答負荷予測部21は、ジョブ状態表示リクエストが入力されたかを判定する(ステップS1)。ステップS1でNOの場合、処理は、次のステップに進まない。
ステップS1でYESの場合、応答負荷予測部21は、入力されたジョブ状態表示リクエストが示すユーザ端末3を特定する(ステップS2)。応答負荷予測部21は、記憶部12に記憶されている投入ジョブ情報および実行中計算ノード情報から、特定されたユーザ端末3(ユーザ)に対応するジョブ数、実行中ジョブIDおよび各ジョブの状態を取得する(ステップS3)。
算出部21Aは、実行中ジョブIDに対応する実行中計算ノード数に基づいて、ユーザ端末3に対応する実行中計算ノード数を算出する(ステップS4)。そして、算出部21Aは、上述した(式1)を用いて、特定されたユーザ端末3に対応する予測値を算出する(ステップS5)。
分類部21Bは、記憶部12に記憶されているレベル情報を参照して、ステップS4で算出された予測値に対応するレベルに、入力されたジョブ状態表示リクエストを分類する(ステップS6)。
応答負荷予測部21は、分類されたジョブ状態表示リクエストを、リクエストキュー部22のうち、分類されたレベルに対応するキューに、ジョブ状態表示リクエストを登録する(ステップS7)。ステップS7の後、処理は、ステップS1に移行する。
上述したように、複数のユーザ端末3が、ジョブ管理ノード2に、ジョブ状態表示リクエストを送信する。例えば、ジョブ管理ノード2が、ユーザ端末3A、ユーザ端末3B、ユーザ端末3C、ユーザ端末3D、ユーザ端末3Eの順番に、ジョブ状態表示リクエストを受信したとする。
上述したステップS1〜S7の処理が行われることにより、図4に示されるように、ユーザ端末3Aのジョブ状態表示リクエストは、予測値に応じて、レベル2に分類される。ユーザ端末3Bのジョブ状態表示リクエストは、予測値に応じて、レベル2に分類される。
ユーザ端末3Cのジョブ状態表示リクエストは、予測値に応じて、レベル3に分類される。ユーザ端末3Dのジョブ状態表示リクエストは、予測値に応じて、レベル1に分類される。ユーザ端末3Eのジョブ状態表示リクエストは、予測値に応じて、レベル3に分類される。
応答負荷予測部21は、分類部21Bがジョブ状態表示リクエストを分類すると、分類されたジョブ状態表示リクエストを、リクエストキュー部22のうち、対応するレベルキューに、順次、登録する。
上述の場合、レベル1のレベルキューには、ユーザ端末3Dのジョブ状態表示リクエストが登録される。レベル2のレベルキューには、先頭に、ユーザ端末3Aのジョブ状態表示リクエストが登録され、次に、ユーザ端末3Bのジョブ状態表示リクエストが登録される。レベル3のレベルキューには、先頭に、ユーザ端末3Cのジョブ状態表示リクエストが登録され、次に、ユーザ端末3Eのジョブ状態表示リクエストが登録される。
レベル2のスレッドが、ユーザ端末3Aのジョブ状態表示リクエストの処理を行っている間、ユーザ端末3Bのジョブ状態表示リクエストの処理は待たされる。また、レベル3のスレッドが、ユーザ端末3Cのジョブ状態表示リクエストの処理を行っている間、ユーザ端末3Eのジョブ状態表示リクエストの処理は待たされる。
この点、ジョブ状態表示リクエストのレベルに対応するスレッドが実行中であったとしても、応答負荷予測部21は、ジョブ状態表示リクエストを入力した順に、リクエストキュー部22のレベルキューに登録すればよい。このため、応答負荷予測部21の処理が待たされることなく、入力順にジョブ状態表示リクエストを処理することが可能になる。
図8は、リクエストキュー部22の処理の流れの一例を示すフローチャートである。リクエストキュー部22は、何れかのリクエストキューにジョブ状態表示リクエストが登録されたかを判定する(ステップS11)。
ステップS11でNOの場合、処理は、次のステップに進まない。ステップS11でYESの場合、リクエストキュー部22は、ジョブ状態表示リクエストが登録されたリクエストキューのレベルを示す情報を出力部23に通知する(ステップS12)。
図9は、出力部23のスレッド管理部23Aの処理の流れの一例を示すフローチャートである。スレッド管理部23Aは、リクエストキュー部22から、ジョブ状態表示リクエストが登録されたリクエストキューのレベルを示す情報が通知されたかを判定する(ステップS21)。
ステップS21でNOの場合、処理は、次のステップに進まない。ステップS21でYESの場合、スレッド管理部23Aは、通知されたリクエストキューのレベルに応じたスレッドに、ジョブ状態表示リクエストをリクエストキューから取り出しする通知を行う(ステップS22)。
図10および図11は、出力部23の各スレッドの処理の流れの一例を示すフローチャートである。各スレッドは、スレッド管理部23Aから、通知を受けたかを判定する(ステップS31)。
ステップS31でNOの場合、処理は、次のステップに進まない。ステップS31でYESの場合、スレッドは、リクエストキュー部22のうち、該スレッドに対応するレベルキューにジョブ状態表示リクエストがあるかを判定する(ステップS32)。
例えば、1つのレベルプールに複数のスレッドが含まれる場合、あるスレッドが、レベルキューからジョブ状態表示リクエストを取り出すと、他のスレッドが、レベルキューから取り出すジョブ状態表示リクエストがないことがある。この場合、ステップS32の判定はNOとなる。
ステップS32でNOの場合、処理は、ステップS31に移行する。ステップS32でYESの場合、スレッドは、該スレッドに対応するレベルキューから、ジョブ状態表示リクエストを取り出す(ステップS33)。
スレッドは、記憶部12に記憶された投入ジョブ情報を参照して、ジョブ状態表示リクエストに対応するユーザの実行中ジョブ数がゼロであるかに基づいて、実行中ジョブの表示が必要かを判定する(ステップS34)。
ステップS34でNOの場合、ジョブ状態表示リクエストに対応する全てのジョブは、計算ノード4で実行されていない。この場合、ジョブ状態表示リクエストに対応する全てのジョブは、記憶部12に記憶されているため、スレッドは、記憶部12に記憶されているジョブに基づいて、ジョブ状態情報を生成する(ステップS35)。
スレッドが、生成したジョブ状態情報を含む表示情報を、ユーザ端末3に送信する制御を行うことで、通信部13は、表示情報を、ジョブ状態表示リクエストを送信したユーザ端末3に送信する(ステップS36)。
ステップS34でYESの場合、処理は、「A」に移行する。「A」以降の処理について、図11を参照して説明する。スレッドは、ジョブ実行中の各計算ノード4にジョブ状態の参照依頼を送信する制御を行う。該制御により、各計算ノード4にジョブ状態の参照依頼が送信される(ステップS37)。
各計算ノードは、参照依頼に応じて、実行中のジョブのジョブ状態情報を、ジョブ管理ノード2に送信する。スレッドは、受信したジョブ状態情報を記憶部12に記憶する(ステップS38)。
スレッドは、参照依頼を送信した全ての計算ノード4からジョブ状態情報を受信したかを判定する(ステップS39)。ステップS39でNOの場合、処理は、ステップS38に移行する。
ステップS39でYESの場合、スレッドは、受信したジョブ状態情報および記憶部12に記憶されているジョブに基づいて、表示情報を生成する(ステップS40)。そして、処理は、「B」から、図10のステップS36に移行する。
ステップS36の後、処理は、ステップS32に移行する。例えば、レベル2のスレッドが、ユーザ端末3Aに対応するジョブ状態表示リクエストを処理している間に、レベル2のレベルキューに、ユーザ端末3Bに対応するジョブ状態表示リクエストが登録されたとする。
上記の場合、スレッド管理部23Aが、レベル2のスレッドに通知を行なう。この際、該レベル2のスレッドは、ユーザ端末3Aに対応するジョブ状態表示リクエストを処理しているため、上記通知は無視される。
ステップS36の処理が終了後に、ステップS31に戻ると、上記通知が無視されたことにより、レベル2のスレッドは、ユーザ端末3Bに対応するジョブ状態表示リクエストを処理することができなくなる。
このため、ステップS36の処理が終了した後、処理は、ステップS31ではなく、ステップS32に移行する。これにより、レベル2のスレッドは、ユーザ端末3Aに対応するジョブ状態表示リクエストを処理した後に、ユーザ端末3Bに対応するジョブ状態表示リクエストを処理することができる。
<ジョブ管理ノードのハードウェア構成の一例>
次に、図12の例を参照して、ジョブ管理ノード2のハードウェア構成の一例を説明する。図12の例に示すように、バス100に対して、プロセッサ111とRandom Access Memory(RAM)112とRead Only Memory(ROM)113とが接続される。また、該バス100に対して、補助記憶装置114と媒体接続部115と通信インタフェース116とが接続される。
プロセッサ111はRAM112に展開されたプログラムを実行する。実行されるプログラムとしては、実施形態における処理を行うジョブ状態表示プログラムが適用されてもよい。
ROM113はRAM112に展開されるジョブ状態表示プログラムを記憶する不揮発性の記憶装置である。補助記憶装置114は、種々の情報を記憶する記憶装置であり、例えばハードディスクドライブや半導体メモリ等が適用されてもよい。媒体接続部115は、可搬型記録媒体115Mと接続可能に設けられている。
可搬型記録媒体115Mとしては、可搬型のメモリ(例えば、光学ディスクや半導体メモリ等)が適用されてもよい。この可搬型記録媒体115Mに実施形態の処理を行うジョブ状態表示プログラムが記録されていてもよい。
上述したジョブスケジューラ11は、与えられたジョブ状態表示プログラムをプロセッサ111が実行することにより実現されてもよい。記憶部12は、RAM112や補助記憶装置114等により実現されてもよい。通信部13は、通信インタフェース116により実現されてもよい。
RAM112、ROM113、補助記憶装置114および可搬型記録媒体115Mは、何れもコンピュータ読み取り可能な有形の記憶媒体の一例である。これらの有形な記憶媒体は、信号搬送波のような一時的な媒体ではない。
<その他>
本実施形態は、以上に述べた実施の形態に限定されるものではなく、本実施形態の要旨を逸脱しない範囲内で種々の構成または実施形態を取ることができる。以上の実施形態に関し、以下の付記を開示する。
1 並列計算機システム
2 ジョブ管理ノード
3 ユーザ端末
4 計算ノード
11 ジョブスケジューラ
12 記憶部
13 通信部
21 応答負荷予測部
21A 算出部
21B 分類部
22 リクエストキュー部
23 出力部
23A スレッド管理部
111 プロセッサ
112 RAM
113 ROM

Claims (6)

  1. 複数のノードに接続された情報処理装置であって、
    ユーザ端末から、ジョブの状態を示すジョブ状態情報の表示要求を受信した場合、前記ユーザ端末から投入されたジョブの投入ジョブ数、または投入ジョブのうち、実行中のジョブが使用しているノードのジョブ使用ノード数に基づいて、前記表示要求に応答する予測時間を示す予測値を算出する算出部と、
    前記予測値に応じて、前記表示要求を複数のグループの何れかに分類する分類部と、
    前記グループごとに、前記表示要求に応じたジョブ状態情報を収集し、前記ユーザ端末に出力する出力部と、
    を備えることを特徴とする情報処理装置。
  2. 前記算出部は、前記投入ジョブ数と、前記ジョブ使用ノード数との両方に基づいて、前記予測値を算出する、
    ことを特徴とする請求項1記載の情報処理装置。
  3. 前記算出部は、前記投入ジョブ数よりも、前記ジョブ使用ノード数に高い重み付けをして、前記予測値を算出する、
    ことを特徴とする請求項2記載の情報処理装置。
  4. 前記複数のグループのそれぞれに対応するキューをさらに備え、
    前記分類部は、前記キューのうち、分類した前記表示要求に対応するグループのキューに、前記表示要求を登録し、
    前記出力部は、前記グループごとに、対応するキューから前記表示要求を取得する、
    ことを特徴とする請求項1乃至3のうち何れか1項に記載の情報処理装置。
  5. 複数のノードに接続された情報処理装置により実行されるジョブ状態表示方法であって、
    ユーザ端末から、ジョブの状態を示すジョブ状態情報の表示要求を受信した場合、前記ユーザ端末から投入されたジョブの投入ジョブ数、または投入ジョブのうち、実行中のジョブが使用しているノードのジョブ使用ノード数に基づいて、前記表示要求に応答する予測時間を示す予測値を算出し、
    前記予測値に応じて、前記表示要求を複数のグループの何れかに分類し、
    前記グループごとに、前記表示要求に応じたジョブ状態情報を収集し、前記ユーザ端末に出力する、
    ことを特徴とするジョブ状態表示方法。
  6. 複数のノードに接続された情報処理装置に、
    ユーザ端末から、ジョブの状態を示すジョブ状態情報の表示要求を受信した場合、前記ユーザ端末から投入されたジョブの投入ジョブ数、または投入ジョブのうち、実行中のジョブが使用しているノードのジョブ使用ノード数に基づいて、前記表示要求に応答する予測時間を示す予測値を算出し、
    前記予測値に応じて、前記表示要求を複数のグループの何れかに分類し、
    前記グループごとに、前記表示要求に応じたジョブ状態情報を収集し、前記ユーザ端末に出力する、
    処理を実行させるためのジョブ状態表示プログラム。
JP2018029165A 2018-02-21 2018-02-21 情報処理装置、ジョブ状態表示方法およびジョブ状態表示プログラム Active JP6988556B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018029165A JP6988556B2 (ja) 2018-02-21 2018-02-21 情報処理装置、ジョブ状態表示方法およびジョブ状態表示プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018029165A JP6988556B2 (ja) 2018-02-21 2018-02-21 情報処理装置、ジョブ状態表示方法およびジョブ状態表示プログラム

Publications (2)

Publication Number Publication Date
JP2019144902A JP2019144902A (ja) 2019-08-29
JP6988556B2 true JP6988556B2 (ja) 2022-01-05

Family

ID=67772391

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018029165A Active JP6988556B2 (ja) 2018-02-21 2018-02-21 情報処理装置、ジョブ状態表示方法およびジョブ状態表示プログラム

Country Status (1)

Country Link
JP (1) JP6988556B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117251663B (zh) * 2023-09-20 2024-02-13 青岛哈尔滨工程大学创新发展中心 一种直升机着舰安稳期状态判别方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05113963A (ja) * 1991-10-23 1993-05-07 Nec Corp ジヨブ状態表示方式
JP2000081986A (ja) * 1998-09-07 2000-03-21 Hitachi Information Systems Ltd クライアント・サーバ型業務処理システムのジョブ管理方法およびそのプログラムを格納した記録媒体

Also Published As

Publication number Publication date
JP2019144902A (ja) 2019-08-29

Similar Documents

Publication Publication Date Title
US7979864B2 (en) Apparatus for setting used license of executing job into unused license state and allocating the set unused license to a to be executed job based on priority
JP5679256B2 (ja) 分散タスクシステムおよび分散タスク管理方法
JP5946068B2 (ja) 演算コア上で複数の演算処理単位が稼働可能なコンピュータ・システムにおける応答性能を評価する計算方法、計算装置、コンピュータ・システムおよびプログラム
JPWO2006100752A1 (ja) 分散処理管理装置、分散処理管理方法、分散処理管理プログラム
CN1737765A (zh) 在多处理器系统中调度中断的方法及设备
JP6972796B2 (ja) ソフトウェアサービス実行装置、システム、及び方法
JP2005056391A (ja) コンピューティング環境の作業負荷を均衡させる方法およびシステム
WO2015121925A1 (ja) システム管理方法
JP7006607B2 (ja) 分散処理システム、分散処理方法、及び記録媒体
JP6666555B2 (ja) 情報処理装置、ジョブ投入方法、およびジョブ投入プログラム
JP2016081430A (ja) 情報処理システム、制御装置および情報処理システムの制御方法
JP2013196389A (ja) 情報処理装置、情報処理プログラム及び情報処理方法
JP6981427B2 (ja) 解析ノード、リソース管理方法およびリソース管理プログラム
KR101212496B1 (ko) 모니터링 자원의 사용량 표현 방법, 컴퓨팅 장치 및 그 방법을 실행시키기 위한 프로그램을 기록한 기록 매체
JP6988556B2 (ja) 情報処理装置、ジョブ状態表示方法およびジョブ状態表示プログラム
US9983911B2 (en) Analysis controller, analysis control method and computer-readable medium
CN111597032B (zh) 任务调度管理方法、装置及电子设备
US9501321B1 (en) Weighted service requests throttling
US10817401B1 (en) System and method for job-to-queue performance ranking and resource matching
JP5045576B2 (ja) マルチプロセッサシステム及びプログラム実行方法
CN113568728A (zh) 一种作业调度方法、装置、设备及介质
JP5056346B2 (ja) 情報処理装置、情報処理システム、仮想サーバの移動処理の制御方法、及び、プログラム
CN115061794A (zh) 调度任务及训练神经网络模型的方法、装置、终端和介质
JP2016099972A (ja) プロセスマイグレーション方法及びクラスタシステム
US11200088B2 (en) Information processing system, information processing method, and information processing apparatus

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201110

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211028

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: 20211102

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211115

R150 Certificate of patent or registration of utility model

Ref document number: 6988556

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150