(57)【要約】【課題】ジョブの実行依頼が行えなくなることを抑制すること。【解決手段】スケジューラサーバｓｓは、図１の（１）で示すように、単位時間における自身の資源を用いて、その単位時間に計算資源割り当て処理が可能なジョブの数に応じた数分のチケットｔｉｘを、スケジューラクライアントｓｃ＃１、＃２に配分する。スケジューラクライアントｓｃ＃１は、図１の（２）で示すように、ジョブ投入を受け付けた場合、チケットｔｉｘを消費して、受け付けたジョブを対象とする計算資源割り当て処理を実行する依頼を、スケジューラサーバｓｓに送信する。【選択図】図１
2018018171.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサとメモリとを有する３以上のノードを有する並列処理装置であって、
前記３以上のノードのうちのジョブを対象とする計算資源の割り当て処理を行う特定のノードは、
単位時間の前記特定のノードの資源を用いて前記単位時間に前記割り当て処理が可能なジョブの数に応じた数分の前記割り当て処理を依頼可能な権限を示す権限情報を、前記３以上のノードのうちのジョブの実行要求を受け付ける複数のノードの各ノードに割り当てて、割り当てた前記権限情報を前記各ノードに送信し、
前記各ノードは、
ジョブの実行要求を受け付けた場合、前記特定のノードから受け付けた前記権限情報が示す権限を消費して、当該ジョブを対象とする前記割り当て処理を実行する依頼を、前記特定のノードに送信する、
ことを特徴とする並列処理装置。
【請求項２】
前記特定のノードは、
前記割り当て処理の対象のジョブに付与される前記対象のジョブを識別する識別情報を、前記各ノードに送信し、
前記各ノードは、
ジョブの実行要求を受け付けた場合、前記特定のノードから受け付けた前記識別情報を当該ジョブに割り当てて前記識別情報を当該ジョブの実行要求の要求元に送信し、前記権限情報が示す権限を消費して、前記識別情報で識別する当該ジョブを対象とする前記割り当て処理を実行する依頼を、前記特定のノードに送信する、
ことを特徴とする請求項１に記載の並列処理装置。
【請求項３】
前記各ノードは、
ジョブに割り当てた識別情報を含む当該ジョブの取消要求を受け付けた場合、当該ジョブを対象とする前記割り当て処理を実行する依頼を前記特定のノードに送信したか否かを判断し、
当該ジョブを対象とする前記割り当て処理を実行する依頼を前記特定のノードに送信していないと判断した場合、当該ジョブを対象とする前記割り当て処理を実行する依頼を破棄する、
ことを特徴とする請求項２に記載の並列処理装置。
【請求項４】
前記各ノードは、
ジョブに割り当てた識別情報を含む当該ジョブの状態表示要求を受け付けた場合、当該ジョブを対象とする前記割り当て処理を実行する依頼を前記特定のノードに送信したか否かを判断し、
当該ジョブを対象とする前記割り当て処理を実行する依頼を前記特定のノードに送信していないと判断した場合、当該ジョブに計算資源の割り当てが行われていないことを示す情報を、前記状態表示要求の要求元に送信する、
ことを特徴とする請求項２または３に記載の並列処理装置。
【請求項５】
ジョブの実行要求および当該ジョブを対象とする前記割り当て処理を実行する依頼には、前記３以上のノードのうちの当該ジョブを実行するノードの数と、当該ジョブを実行させる時間間隔とを含み、
前記特定のノードは、
前記単位時間内の前記割り当て処理を実行したことに応じて、前記単位時間内の前記割り当て処理の対象となった各ジョブを実行するノードの数と、当該各ジョブを実行させる時間帯と、当該各ジョブを対象とする前記割り当て処理にかかった時間とを記憶し、
記憶した前記割り当て処理の対象となったジョブを実行するノードの数と、当該ジョブを実行させる時間帯と、前記割り当て処理にかかった時間とを参照して、前記各ノードから受け付けた前記割り当て処理を実行する依頼から特定される前記単位時間の後に実行する前記割り当て処理の対象となる各ジョブを実行するノードの数と、当該各ジョブを実行させる時間帯とに基づいて、当該各ジョブを対象とする前記割り当て処理にかかる時間を特定し、
特定した当該各ジョブを対象とする前記割り当て処理にかかる時間に基づいて、前記単位時間の後の単位時間に前記割り当て処理が可能なジョブの数を決定する、
ことを特徴とする請求項２〜４のいずれか一つに記載の並列処理装置。
【請求項６】
プロセッサとメモリとを有する３以上のノードを有する並列処理装置のジョブスケジューリング方法であって、
前記３以上のノードのうちのジョブを対象とする計算資源の割り当て処理を行う特定のノードが、
単位時間の前記特定のノードの資源を用いて前記単位時間に前記割り当て処理が可能なジョブの数に応じた数分の前記割り当て処理を依頼可能な権限を示す権限情報を、前記３以上のノードのうちのジョブの実行要求を受け付ける複数のノードの各ノードに割り当てて、割り当てた前記権限情報を前記各ノードに送信し、
前記各ノードが、
ジョブの実行要求を受け付けた場合、前記特定のノードから受け付けた前記権限情報が示す権限を消費して、当該ジョブを対象とする前記割り当て処理を実行する依頼を、前記特定のノードに送信する、
処理を実行することを特徴とするジョブスケジューリング方法。
【請求項７】
プロセッサとメモリとを有する３以上のノードを有する並列処理装置のジョブスケジューリングプログラムであって、
前記３以上のノードのうちのノードに、
前記ノードが前記３以上のノードのうちのジョブを対象とする計算資源の割り当て処理を行う特定のノードであれば、単位時間の前記特定のノードの資源を用いて前記単位時間に前記割り当て処理が可能なジョブの数に応じた数分の前記割り当て処理を依頼可能な権限を示す権限情報を、前記３以上のノードのうちのジョブの実行要求を受け付ける複数のノードの各ノードに割り当てて、割り当てた前記権限情報を前記各ノードに送信し、
前記ノードが前記各ノードであれば、ジョブの実行要求を受け付けた場合、前記特定のノードから受け付けた前記権限情報が示す権限を消費して、当該ジョブを対象とする前記割り当て処理を実行する依頼を、前記特定のノードに送信する、
処理を実行させることを特徴とするジョブスケジューリングプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、並列処理装置、ジョブスケジューリング方法、およびジョブスケジューリングプログラムに関する。
【背景技術】
【０００２】
従来、ジョブの実行依頼を受け付けて、受け付けたジョブに計算資源を割り当てるジョブのスケジューリング処理を行う技術がある。関連する先行技術として、例えば、新規ジョブ投入に応じて、全ての情報処理装置のジョブ番号を参照し、固有の採番範囲から未使用の番号を検索し、新規のジョブ番号として登録する技術がある。また、バッチサーバが、データベースサーバにジョブの情報が登録されたら、自身が実行中のジョブ数と実施可能なジョブの最大数から現在利用率を算出し、現在利用率の大小に応じて処理を行うか、他のバッチサーバに処理を任せるか判定する技術がある。また、利用者が、グループ化した各ジョブを負荷分散単位としてジョブ登録マシンからジョブ実行マシンへ転送し、予測実行時間、ジョブ実行の進行度、予測終了時間を算出して表示させる技術がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平８−３２０８５１号公報
【特許文献２】特開２０１５−５００８号公報
【特許文献３】特開平１０−４９５０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来技術によれば、ジョブの実行依頼が短期間に集中すると、スケジューリング処理を行う装置にかかる負荷が増大することになる。そして、ジョブのスケジューリング処理を行う装置にかかる負荷が増大し、ジョブの実行依頼の上限数に達すると、ジョブの実行依頼が行えなくなる。
【０００５】
１つの側面では、本発明は、ジョブの実行依頼が行えなくなることを抑制することができる並列処理装置、ジョブスケジューリング方法、およびジョブスケジューリングプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の一側面によれば、プロセッサとメモリとを有する３以上のノードを有する並列処理装置であって、３以上のノードのうちのジョブを対象とする計算資源の割り当て処理を行う特定のノードは、単位時間の特定のノードの資源を用いて単位時間に割り当て処理が可能なジョブの数に応じた数分の割り当て処理を依頼可能な権限を示す権限情報を、３以上のノードのうちのジョブの実行要求を受け付ける複数のノードの各ノードに割り当てて、割り当てた権限情報を各ノードに送信し、各ノードは、ジョブの実行要求を受け付けた場合、特定のノードから受け付けた権限情報が示す権限を消費して、当該ジョブを対象とする割り当て処理を実行する依頼を、特定のノードに送信する並列処理装置、ジョブスケジューリング方法、およびジョブスケジューリングプログラムが提案される。
【発明の効果】
【０００７】
本発明の一態様によれば、ジョブの実行依頼が行えなくなることを抑制することができるという効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】図１は、本実施の形態にかかる並列処理装置１０１の動作例を示す説明図である。
【図２】図２は、実施例１におけるＨＰＣシステム２００の構成例を示す説明図である。
【図３】図３は、ノードのハードウェア構成例を示す説明図である。
【図４】図４は、ＨＰＣシステム２００の機能構成例を示す説明図である。
【図５】図５は、メッセージフォーマットの一例を示す説明図である。
【図６】図６は、処理時間管理表４１１の一例を示す説明図である。
【図７】図７は、資源チケット使用実績管理表４１２の一例を示す説明図である。
【図８】図８は、ＩＤチケット使用実績管理表４１３の一例を示す説明図である。
【図９】図９は、資源チケット補充表４１４の一例を示す説明図である。
【図１０】図１０は、ＩＤチケット補充表４１５の記憶内容の一例を示す説明図である。
【図１１】図１１は、スケジューラクライアントｓｃにおけるＩＤチケット初期化処理手順の一例を示すフローチャートである。
【図１２】図１２は、スケジューラクライアントｓｃにおけるジョブ投入処理手順の一例を示すフローチャートである。
【図１３】図１３は、スケジューラクライアントｓｃにおけるジョブ実行取消処理手順の一例を示すフローチャートである。
【図１４】図１４は、スケジューラクライアントｓｃにおけるジョブ取消依頼処理手順の一例を示すフローチャートである。
【図１５】図１５は、スケジューラクライアントｓｃにおけるジョブ状態表示処理手順の一例を示すフローチャートである。
【図１６】図１６は、スケジューラクライアントｓｃにおけるジョブ実行依頼処理手順の一例を示すフローチャートである。
【図１７】図１７は、スケジューラクライアントｓｃにおけるＩＤチケット補充依頼処理手順の一例を示すフローチャートである。
【図１８】図１８は、スケジューラクライアントｓｃにおけるメッセージ受信処理手順の一例を示すフローチャートである。
【図１９】図１９は、スケジューラクライアントｓｃにおけるジョブ実行依頼メッセージ送信処理手順の一例を示すフローチャートである。
【図２０】図２０は、スケジューラサーバｓｓにおける初期化処理手順の一例を示すフローチャートである。
【図２１】図２１は、スケジューラサーバｓｓにおける依頼メッセージ処理手順の一例を示すフローチャートである。
【図２２】図２２は、スケジューラサーバｓｓにおける既存メッセージ処理手順の一例を示すフローチャートである。
【図２３】図２３は、スケジューラサーバｓｓにおけるチケット無効通知処理手順の一例を示すフローチャートである。
【図２４】図２４は、スケジューラサーバｓｓにおける資源チケット補充スケジュール処理手順の一例を示すフローチャートである。
【図２５】図２５は、スケジューラサーバｓｓにおけるＩＤチケット補充スケジュール処理手順の一例を示すフローチャートである。
【図２６】図２６は、スケジューラサーバｓｓにおける計算資源割り当て処理手順の一例を示すフローチャートである。
【図２７】図２７は、スケジューラサーバｓｓにおける処理時間見積り式記録処理手順の一例を示すフローチャートである。
【図２８】図２８は、スケジューラサーバｓｓにおける資源チケット使用実績記録処理手順の一例を示すフローチャートである。
【図２９】図２９は、スケジューラサーバｓｓにおけるチケット管理処理手順の一例を示すフローチャートである。
【図３０】図３０は、スケジューラサーバｓｓにおける資源チケット発行数算出処理手順の一例を示すフローチャートである。
【図３１】図３１は、スケジューラサーバｓｓにおける資源チケット発行数見積り誤差補正処理手順の一例を示すフローチャートである。
【図３２】図３２は、スケジューラサーバｓｓにおける資源チケット配布処理手順の一例を示すフローチャートである。
【図３３】図３３は、スケジューラサーバｓｓにおけるＩＤチケット使用実績記録処理手順の一例を示すフローチャートである。
【図３４】図３４は、スケジューラサーバｓｓにおけるＩＤチケット発行数算出処理手順の一例を示すフローチャートである。
【図３５】図３５は、スケジューラサーバｓｓにおけるＩＤチケット配布処理手順の一例を示すフローチャートである。
【図３６】図３６は、実施例２におけるＨＰＣシステム３６００の構成例を示す説明図である。
【発明を実施するための形態】
【０００９】
以下に図面を参照して、開示の並列処理装置、ジョブスケジューリング方法、およびジョブスケジューリングプログラムの実施の形態を詳細に説明する。
【００１０】
図１は、本実施の形態にかかる並列処理装置１０１の動作例を示す説明図である。並列処理装置１０１は、ジョブのスケジューリング処理を実行するコンピュータである。具体的には、並列処理装置１０１は、プロセッサとメモリとを有する３以上のノードを有し、３以上のノードのうちの複数のノードと、特定のノードとが、スケジューリング処理を連携して行う。ジョブを実行する実行主体は、並列処理装置１０１に含まれる３以上のノードのいずれかのノードでもよいし、並列処理装置１０１以外の他の装置でもよい。以下の説明では、ジョブを実行する実行主体は、並列処理装置１０１に含まれる３以上のノードのうちの計算ノードとする。
【００１１】
ここで、ジョブとは、並列処理装置１０１の利用者から見た処理の単位を示す。ジョブと似たような概念として、プログラムの実行単位であって、固有のメモリ空間を有するプロセスや、プログラムの実行単位であって、同一プロセスに属するもの同士でメモリ空間を共有するスレッド等がある。従って、並列処理装置１０１は、複数のジョブとして、複数のスレッドや複数のプロセスのスケジューリング処理を行ってもよい。ここで、ジョブは、例えば、科学技術計算等の処理といったジョブである。また、並列処理装置１０１は、例えば、ハイ・パフォーマンス・コンピューティング（ＨＰＣ：Ｈｉｇｈ  Ｐｅｒｆｏｒｍａｎｃｅ  Ｃｏｍｐｕｔｉｎｇ）分野で使用されるコンピュータである。
【００１２】
一般的に、並列計算機環境において、ジョブスケジューラにジョブの実行を依頼することを「ジョブを投入する」ないし「ジョブ投入」と呼ぶことがある。並列ジョブの実行には、スケジューリング処理として、プロセッサ、コア、計算ノードなどのジョブへの割り当て単位となる計算装置を、予めジョブの投入者が指定する数だけ、指定する長さの時間まとめて割り当てることになる。
【００１３】
受け付け済みとなったジョブの実行用に予約された計算ノードの集合は、予約された時間帯に、そのジョブの実行のために使用される。すなわち、「計算ノードの集合」と「時間帯」の組が、受け付け済みジョブに割り当てられたとみなすことができる。ここで、並列処理装置１０１の利用者は、ジョブを投入した後には、そのジョブに割り当てられた資源、特にジョブの実行開始予定時刻を確認する場合が多い。また、各ジョブが指定する「計算ノードの集合」と「時間帯」がまちまちであるため、大規模な並列計算機に対し、システム全体での計算装置の稼動率をできるだけ高くするようにジョブのスケジューリング処理を行う処理量が、大きくなりうる。特に主に中小規模のジョブの実行に使われる場合、それらのジョブは不特定多数の利用者の作業環境である利用者端末から投入する場合が多いため、比較的短い時間に多数のジョブ投入が発生することがある。
【００１４】
比較的短い時間に多数のジョブ投入が発生する例としては、偶然で多くの利用者が比較的短い時間に多数のジョブを投入する場合や、特定の利用者が多数のジョブを自動投入するシェルスクリプトを実行する場合などがある。ここで、シェルスクリプトによる多数ジョブの自動投入は、しばしばスクリプトの誤りが原因であって、その後、投入されたジョブがキャンセルされる場合も多い。
【００１５】
例えば、ある装置でジョブのスケジューリング処理を行うと、その装置の処理能力を超えた負荷が発生する場合には、ジョブの受け付けは拒否され、ジョブ投入処理自体がエラーになる。また、計算ノードの数の指定を変化させて試行錯誤することで、ジョブ終了を早めようとする利用者も存在し、このような行為も、ジョブ投入を多くする原因となる。なお、計算ノードの数の指定を変化させる理由は、指定する計算ノードの数が変わると、他のジョブの資源割り当て状況との兼ね合いで、割り当てられる資源の「時間帯」、すなわちジョブの開始時刻と打ち切り時刻が変化することがあるためである。
【００１６】
このような原因により、ジョブのスケジューリング処理を実行する装置の負荷が高まると、受け付け可能なジョブ数が減少し、ジョブ投入がエラーとなる場合が増加することになる。多数のジョブ投入が短時間に集中して実行された場合にジョブ投入自体がエラーになることを防止する方法としては、ジョブスケジューラを実行する装置の処理能力に十分な余裕を持てば可能とはなる。しかし、この方法では、ジョブ投入数が一般的な水準の際には、使用されない数の装置を常時稼動させることになり、費用の観点から不合理な場合がしばしばある。
【００１７】
そこで、本実施の形態では、スケジューリング処理を行う実行主体を、ジョブ投入を受け付ける複数のクライアントと、受け付けたジョブに計算資源を割り当てるサーバとに分ける。そして、サーバは、自身が割り当て処理可能なジョブ数分の依頼可能な権限を示す権限情報を、クライアントに配分し、クライアントは、権限情報を消費してジョブに計算資源を割り当てる処理をサーバに依頼する。
【００１８】
ここで、以下の記載では、スケジューリング処理を行う実行主体のうち、サーバとなるノードを、「スケジューラサーバ」とし、クライアントとなるノードを、「スケジューラクライアント」と称する。
【００１９】
また、権限情報には、権限情報が示す権限によって割り当て処理されるジョブに付与されるジョブの識別情報が含まれてもよい。以下の記載では、権限情報を、「チケット」と称する。また、ジョブの識別情報を、「ジョブＩＤ（ＩＤｅｎｔｉｆｉｅｒ）」と称する。投入されたジョブに、システム全体で一意なジョブＩＤを付与し、ジョブの投入元にジョブＩＤを通知することは、ジョブを用いたシステムにおいて順守すべき制約条件の１つである。ここで、チケット内にジョブＩＤが含まれるとすると、スケジューラクライアントは、チケットがない状態でジョブ投入を受け付けると、受け付けたジョブに対してジョブＩＤを設定することができなくなる。そこで、本実施の形態では、前述したチケットを、計算資源を割り当てる処理をサーバに依頼可能な権限を示す「資源チケット」と、ジョブＩＤを有する「ＩＤチケット」とに分けてもよい。この場合、スケジューラサーバは、ＩＤチケットについては先行してクライアントに配分してもよい。
【００２０】
図１を用いて、並列処理装置１０１の動作例について説明する。図１に示す並列処理装置１０１は、ジョブ投入を受け付けるスケジューラクライアントｓｃ＃１、＃２と、計算資源の割り当て処理を行う特定のノードとなるスケジューラサーバｓｓとを有する。また、図１で示すチケットは、資源チケットとＩＤチケットとを含むものとする。また、計算資源の割り当て処理を、以下「計算資源割り当て処理」と称する。
【００２１】
スケジューラサーバｓｓは、図１の（１）で示すように、単位時間における自身の資源を用いて、その単位時間に計算資源割り当て処理が可能なジョブの数に応じた数分のチケットｔｉｘを、スケジューラクライアントｓｃ＃１、＃２に配分する。図１の例では、単位時間のスケジューラサーバｓｓの資源を、矩形１１０で示す。そして、図１では、矩形１１０内に、破線の縁を持つジョブが４つあることが、単位時間に計算資源割り当て処理が可能なジョブの数が４であることを示す。なお、単位時間は、どのような時間間隔でもよく、例えば、数秒である。
【００２２】
図１の例では、スケジューラサーバｓｓは、単位時間に計算資源割り当て処理が可能なジョブの数分の４つのチケットｔｉｘ１〜４を生成する。次に、スケジューラサーバｓｓは、チケットｔｉｘ１、２をスケジューラクライアントｓｃ＃１に割り当てて、チケットｔｉｘ３、４をスケジューラクライアントｓｃ＃２に割り当てる。そして、スケジューラサーバｓｓは、割り当てたチケットｔｉｘを、スケジューラクライアントｓｃ＃１、＃２に送信する。また、スケジューラサーバｓｓは、チケットに、数秒程度の有効時間を設定してもよい。有効時間が経過したチケットは無効となる。
【００２３】
また、チケットｔｉｘを各スケジューラクライアントｓｃに割り当てて、割り当てたチケットｔｉｘを、スケジューラクライアントｓｃに送信することを、「チケットを各スケジューラクライアントｓｃに配分する」と称する場合がある。また、各スケジューラクライアントｓｃへ配分するチケットｔｉｘの割合は、どのようなものでもよい。例えば、スケジューラサーバｓｓは、各スケジューラクライアントｓｃに均等にチケットｔｉｘを配分してもよいし、各スケジューラクライアントｓｃの処理能力に応じてチケットｔｉｘを配分してもよい。または、スケジューラサーバｓｓは、スケジューラクライアントｓｃからチケットを要求された数に応じてチケットｔｉｘを配分してもよい。
【００２４】
スケジューラクライアントｓｃは、図１の（２）で示すように、ジョブ投入を受け付けた場合、チケットｔｉｘを消費して、受け付けたジョブを対象とする計算資源割り当て処理を実行する依頼を、スケジューラサーバｓｓに送信する。図１の例では、スケジューラクライアントｓｃは、並列処理装置１０１の利用者からジョブｊ１の投入を受け付けたとする。この場合、スケジューラクライアントｓｃは、チケットｔｉｘ１を消費して、ジョブｊ１を対象とする計算資源割り当て処理を実行する依頼を、スケジューラサーバｓｓに送信する。これにより、並列処理装置１０１は、スケジューラサーバｓｓにかかる負荷を一定範囲に抑えつつ、かつ、利用者が実行するジョブ投入についても、上限数に到達することを抑制することができる。
【００２５】
ここで、図１の例では、スケジューラサーバｓｓは、単位時間に計算資源割り当て処理が可能なジョブの数と同一の数分のチケットｔｉｘを生成したが、異なる数のチケットを生成してもよい。例えば、単位時間に計算資源割り当て処理が可能なジョブの数が多く、チケットｔｉｘの生成数が多くなりすぎる場合、スケジューラサーバｓｓは、単位時間に計算資源割り当て処理が可能なジョブの数を２以上の整数で除した数分のチケットを生成してもよい。そして、スケジューラクライアントｓｃは、配分されたチケットを消費して、前述の整数分のジョブに対する計算資源割り当て処理を実行する依頼を、スケジューラサーバｓｓに送信してもよい。次に、並列処理装置１０１を、ＨＰＣシステムに適用した場合の例を、図２を用いて説明する。
【００２６】
図２は、実施例１におけるＨＰＣシステム２００の構成例を示す説明図である。図２に示すＨＰＣシステム２００は、複数のスケジューラクライアントｓｃと、スケジューラサーバｓｓと、管理ノードａｄｎと、複数の計算ノードｃｎとを有する。また、ＨＰＣシステム２００は、インターネット等のネットワーク２０１を経由して、ＨＰＣシステム２００を利用する利用者が操作する利用者端末ｕｔと接続する。
【００２７】
ＨＰＣシステム２００でのジョブのスケジューリング処理は、スケジューラクライアントｓｃと、スケジューラサーバｓｓとの連携によって処理される。ここで、スケジューラクライアントｓｃ、スケジューラサーバｓｓは、ＨＰＣシステム２００内のノードのいずれがなってもよい。
【００２８】
管理ノードａｄｎは、ＨＰＣシステム２００の全体を管理するノードである。計算ノードｃｎは、ジョブを実行するノードである。計算ノードｃｎの資源が、ジョブに割り当てられる計算資源となる。
【００２９】
利用者端末ｕｔは、ＨＰＣシステム２００に対して、ジョブを投入する。投入されたジョブは、複数のスケジューラクライアントｓｃのいずれかが受け付ける。
【００３０】
次に、スケジューラクライアントｓｃ、スケジューラサーバｓｓ、管理ノードａｄｎ、計算ノードｃｎを総称したノードのハードウェアの構成例について、図３で説明する。
【００３１】
図３は、ノードのハードウェア構成例を示す説明図である。ノードは、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３０１と、メモリ３０２と、Ｉ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）バスアダプタ３０３と、ネットワークアダプタ３０４と、ディスクドライブ３０５と、ディスク３０６とを有する。ＣＰＵ３０１、メモリ３０２、Ｉ／Ｏバスアダプタ３０３とは、システムバス３１１でそれぞれ接続される。また、Ｉ／Ｏバスアダプタ３０３と、ネットワークアダプタ３０４と、ディスクドライブ３０５とは、Ｉ／Ｏバス３１２でそれぞれ接続される。
【００３２】
ＣＰＵ３０１は、ノードの全体の制御を司る演算処理装置である。メモリ３０２は、ブートプログラムなどのプログラムを記憶する不揮発性メモリや、ＣＰＵ３０１のワークエリアとして使用される揮発性メモリである。また、実施例１におけるジョブスケジューリングプログラムも、不揮発性メモリに記憶されてもよい。
【００３３】
Ｉ／Ｏバスアダプタ３０３は、ＣＰＵ３０１が、Ｉ／Ｏバス３１２と接続するための仲立ちを行う装置である。ネットワークアダプタ３０４は、ネットワークに接続され、ネットワークを介してＨＰＣシステム２００内の他の装置や、利用者端末ｕｔに接続する。
【００３４】
ディスクドライブ３０５は、ＣＰＵ３０１の制御に従ってディスク３０６に対するデータのリードおよびライトを制御する制御装置である。ディスクドライブ３０５には、例えば、磁気ディスクドライブ、光ディスクドライブ、ソリッドステートドライブなどを採用することができる。ディスク３０６は、ディスクドライブ３０５の制御で書き込まれたデータを記憶する不揮発性メモリである。例えばディスクドライブ３０５が磁気ディスクドライブである場合、ディスク３０６には、磁気ディスクを採用することができる。また、ディスクドライブ３０５が光ディスクドライブである場合、ディスク３０６には、光ディスクを採用することができる。また、ディスクドライブ３０５がソリッドステートドライブである場合、ディスク３０６には、半導体素子によって形成された半導体メモリ、いわゆる半導体ディスクを採用することができる。
【００３５】
なお、ＨＰＣシステム２００の管理者が、例えば管理ノードａｄｎを直接操作する場合、管理ノードａｄｎは、図３で示したハードウェアに加え、ディスプレイ、キーボード、マウスといったハードウェアを有してもよい。また、利用者端末ｕｔは、ＣＰＵ、メモリ、Ｉ／Ｏバスアダプタ、ネットワークアダプタ、ディスクドライブ、ディスク、ディスプレイ、キーボード、マウスを有する。
【００３６】
図４は、ＨＰＣシステム２００の機能構成例を示す説明図である。スケジューラサーバｓｓは、制御部４００を有する。制御部４００は、計算資源割り当て管理部４０１と、チケット管理部４０２とを含む。チケット管理部４０２は、資源チケット配布数決定部４０３と、ＩＤチケット配布数決定部４０４と、資源チケット送信部４０５と、ＩＤチケット送信部４０６とを有する。制御部４００は、記憶装置に記憶されたジョブスケジューラプログラムをＣＰＵ３０１が実行することにより、各部の機能を実現する。記憶装置とは、具体的には、例えば、図３に示したメモリ３０２などである。また、各部の処理結果は、ＣＰＵ３０１のレジスタや、ＣＰＵ３０１のキャッシュメモリ等に格納される。
【００３７】
また、スケジューラサーバｓｓは、記憶部４１０を有する。記憶部４１０は、メモリ３０２、ディスク３０６である。記憶部４１０は、処理時間管理表４１１と、資源チケット使用実績管理表４１２と、ＩＤチケット使用実績管理表４１３と、資源チケット補充表４１４、ＩＤチケット補充表４１５とを有する。
【００３８】
また、スケジューラクライアントｓｃは、制御部４２０を有する。制御部４２０は、受け付け部４２１と、チケット通信部４２２と、送信部４２３と、ジョブ状態ローカル管理部４２４とを有する。制御部４２０は、記憶装置に記憶されたジョブスケジューラプログラムをＣＰＵ３０１が実行することにより、各部の機能を実現する。記憶装置とは、具体的には、例えば、図３に示したメモリ３０２などである。また、各部の処理結果は、ＣＰＵ３０１のレジスタや、ＣＰＵ３０１のキャッシュメモリ等に格納される。
【００３９】
また、スケジューラクライアントｓｃは、利用者端末ｕｔから、ジョブ投入コマンド４３１と、ジョブ取消コマンド４３２と、ジョブ状態表示コマンド４３３とを受け付ける。ジョブ投入コマンド４３１は、ジョブを投入するコマンドである。ジョブ取消コマンド４３２は、ジョブの実行を取り消すコマンドである。ジョブ状態表示コマンド４３３は、ジョブの状態を取得し、取得した状態を利用者端末ｕｔ上に表示させるコマンドである。ジョブ取消コマンド４３２、ジョブ状態表示コマンド４３３には、ジョブ投入コマンド４３１の応答時に利用者端末ｕｔに通知したジョブＩＤが含まれる。
【００４０】
ここで、スケジューラサーバｓｓや、スケジューラクライアントｓｃは、ＨＰＣシステム２００内のどのノードがなってもよい。例えば、ＨＰＣシステム２００の管理者が、ＨＰＣシステム２００内のノードから、スケジューラサーバｓｓや、スケジューラクライアントｓｃを指定してもよい。そして、ＨＰＣシステム２００内のあるノードが、スケジューラサーバｓｓとして指定された場合には、制御部４００と記憶部４１０とを有することになる。また、ＨＰＣシステム２００内のあるノードが、スケジューラクライアントｓｃとして指定された場合には、制御部４２０を有することになる。
【００４１】
計算資源割り当て管理部４０１は、計算資源の割り当てを管理する。具体的には、計算資源割り当て管理部４０１は、スケジューラクライアントｓｃから受け付けたジョブを対象とする計算資源割り当て処理を実行する。また、計算資源割り当て管理部４０１は、スケジューラクライアントｓｃから受け付けたジョブと併せて受け付けた資源チケットｒｔｉｘと、ＩＤチケットｉｔｉｘとについて、資源チケット回収通知とＩＤチケット回収通知とを、チケット管理部４０２に送信する。
【００４２】
チケット管理部４０２は、資源チケットｒｔｉｘとＩＤチケットｉｔｉｘとを管理する。資源チケット配布数決定部４０３は、スケジューラクライアントｓｃに配布する資源チケットｒｔｉｘの数を決定する。例えば、資源チケット配布数決定部４０３は、ある単位時間内で計算資源割り当て処理を行った際の対象となったジョブの数を、ある単位時間の次の単位時間のスケジューラクライアントｓｃに配布する資源チケットｒｔｉｘの数としてもよい。
【００４３】
また、別の方法として、計算資源割り当て管理部４０１が、ある単位時間内の計算資源割り当て処理を実行したとする。計算資源割り当て処理の実行に応じて、資源チケット配布数決定部４０３は、その処理対象となった各ジョブを実行するノードの数と、各ジョブを実行させる時間帯と、各ジョブを対象とする割り当て処理にかかった時間とを処理時間管理表４１１に記憶する。
【００４４】
次に、資源チケット配布数決定部４０３は、ある単位時間の後に実行する計算資源割り当て処理の対象となる各ジョブを特定する。この各ジョブは、スケジューラクライアントｓｃから受け付けた計算資源割り当て処理の依頼から特定することができる。そして、資源チケット配布数決定部４０３は、処理時間管理表４１１を参照して、特定した各ジョブを実行するノードの数と、各ジョブを実行させる時間帯とに基づいて、各ジョブを対象とする計算資源割り当て処理にかかる時間を特定する。例えば、資源チケット配布数決定部４０３は、処理時間管理表４１１を参照して、ノードの数と、時間帯とを説明変数とし、計算資源割り当て処理にかかる時間を被説明変数とする、重回帰分析を行ってもよい。そして、資源チケット配布数決定部４０３は、重回帰分析で得られたモデルに、特定した各ジョブを実行するノードの数と、各ジョブを実行させる時間帯とを入力することにより、各ジョブを対象とする計算資源割り当て処理にかかる時間を特定する。
【００４５】
また、説明変数は、ジョブを実行するノードの数と、ジョブを実行させる時間帯に限られない。例えば、資源チケット配布数決定部４０３は、計算資源割り当て済みのジョブ数を、説明変数として加えてもよい。また、説明変数は、ジョブを実行するノードの数、またはジョブを実行させる時間帯のいずれか一方でもよい。
【００４６】
そして、資源チケット配布数決定部４０３は、特定した各ジョブを対象とする割り当て処理にかかる時間に基づいて、ある単位時間の後の単位時間に割り当て処理が可能なジョブの数を決定する。ある単位時間の後の単位時間は、ある単位時間の次の単位時間でもよいし、２つ次の単位時間でもよい。
【００４７】
ＩＤチケット配布数決定部４０４は、ＩＤチケットｉｔｉｘをスケジューラクライアントｓｃに配布する数を決定する。例えば、ＩＤチケット配布数決定部４０４は、ある単位時間内で計算資源割り当て処理を行った際の対象となったジョブの数を、ある単位時間の次の単位時間のスケジューラクライアントｓｃに配布するＩＤチケットｉｔｉｘの数としてもよい。
【００４８】
資源チケット送信部４０５は、単位時間の自身の資源を用いて単位時間に割り当て処理が可能なジョブの数に応じた数分の資源チケットｒｔｉｘを、スケジューラクライアントｓｃのそれぞれに配分する。資源チケットｒｔｉｘの数については、ＨＰＣシステム２００の管理者が予め決めた値でもよいし、資源チケット配布数決定部４０３が決定した値でもよい。
【００４９】
ＩＤチケット送信部４０６は、ＩＤチケットｉｔｉｘを、スケジューラクライアントｓｃのそれぞれに配分する。ＩＤチケットｉｔｉｘの数については、ＨＰＣシステム２００の管理者が予め決めた値でもよいし、ＩＤチケット配布数決定部４０４が決定した値でもよい。
【００５０】
受け付け部４２１は、ジョブ投入コマンド４３１、ジョブ取消コマンド４３２、ジョブ状態表示コマンド４３３を受け付ける。例えば、受け付け部４２１は、ジョブ投入コマンド４３１を受け付けた場合、依頼キューに、投入されたジョブの情報を格納する。依頼キューには、利用者端末から受け付けたが、まだスケジューラサーバｓｓに計算資源割り当て処理の実行依頼を送信していないジョブが格納される。
【００５１】
チケット通信部４２２は、スケジューラサーバｓｓから、資源チケットｒｔｉｘ、ＩＤチケットｉｔｉｘを受け付ける。
【００５２】
送信部４２３は、ジョブ投入コマンド４３１によりジョブの実行要求を受け付けた場合、資源チケットｒｔｉｘを消費して、受け付けたジョブを対象とする計算資源割り当て処理を実行する依頼を、スケジューラサーバｓｓに送信する。
【００５３】
また、送信部４２３は、ジョブ投入コマンド４３１によりジョブの実行要求を受け付けた場合、ＩＤチケットのジョブＩＤを、受け付けたジョブに割り当てて、ジョブ投入元の利用者端末に、割り当てたジョブＩＤを送信する。そして、送信部４２３は、資源チケットｒｔｉｘを消費して、割り当てたジョブＩＤで識別するジョブを対象とする計算資源割り当て処理を実行する依頼を、スケジューラサーバｓｓに送信する。
【００５４】
ジョブ状態ローカル管理部４２４は、ローカルにおけるジョブの状態を管理する。例えば、ジョブ状態ローカル管理部４２４は、依頼キューを参照して、あるジョブＩＤが付与されたジョブを対象とする計算資源割り当て処理の実行依頼を、スケジューラサーバｓｓに送信したか否かを判断する。
【００５５】
また、受け付け部４２１が、ジョブ取消コマンド４３２によりジョブＩＤを含むそのジョブの取消要求を受け付けたとする。この場合、ジョブ状態ローカル管理部４２４は、そのジョブを対象とする計算資源割り当て処理の実行依頼をスケジューラサーバｓｓに送信したか否かを判断する。そして、そのジョブを対象とする割り当て処理の実行依頼をスケジューラサーバｓｓに送信していないと判断した場合、ジョブ状態ローカル管理部４２４は、そのジョブを対象とする割り当て処理を実行する依頼を破棄する。具体的には、ジョブ状態ローカル管理部４２４は、依頼キューから、そのジョブの情報を破棄する。なお、そのジョブを対象とする割り当て処理の実行依頼をスケジューラサーバｓｓに送信済であると判断した場合、ジョブ状態ローカル管理部４２４は、スケジューラサーバｓｓに、ジョブ取消依頼を送信する。
【００５６】
また、受け付け部４２１が、ジョブ状態表示コマンド４３３によりジョブＩＤを含む当該ジョブの状態表示要求を受け付けたとする。この場合、ジョブ状態ローカル管理部４２４は、そのジョブを対象とする計算資源割り当て処理の実行依頼をスケジューラサーバｓｓに送信したか否かを判断する。そして、ジョブ状態ローカル管理部４２４は、そのジョブを対象とする計算資源割り当て処理の実行依頼をスケジューラサーバｓｓに送信していないと判断したとする。この場合、ジョブ状態ローカル管理部４２４は、そのジョブの状態を示す情報として、そのジョブに計算資源の割り当てが行われていないことを示す情報を、状態表示要求の要求元となる利用者端末ｕｔに送信する。例えば、ジョブ状態ローカル管理部４２４は、「ジョブＩＤ：ｘｘ  計算資源割り当て待ち」といった旨を、利用者端末ｕｔに送信する。なお、そのジョブを対象とする割り当て処理の実行依頼をスケジューラサーバｓｓに送信済であると判断した場合、ジョブ状態ローカル管理部４２４は、スケジューラサーバｓｓに、そのジョブの状態取得要求を送信する。
【００５７】
次に、実施例１で用いるメッセージフォーマットの一例を、図５で説明する。
【００５８】
図５は、メッセージフォーマットの一例を示す説明図である。図５に示すメッセージの共通フォーマット５００は、実施例１で用いるメッセージフォーマットに共通するフォーマットを示す。そして、共通フォーマット５００に従うメッセージとしては、ジョブ実行依頼メッセージ５０１、資源チケット補充依頼メッセージ５０２、ＩＤチケット補充依頼メッセージ５０３、資源チケット配布メッセージ５０４、ＩＤチケット配布メッセージ５０５がある。
【００５９】
共通フォーマット５００は、共通ヘッダとして、メッセージタイプ領域および拡張領域指定領域と、拡張領域という項目を含む。メッセージタイプ領域項目には、メッセージの種類を示す識別子が格納される。ジョブ実行依頼メッセージ５０１〜ＩＤチケット配布メッセージ５０５におけるメッセージタイプ領域項目には、各メッセージの種類を示す識別子が格納される。拡張領域指定領域項目には、拡張領域に格納される内容を指定するデータが格納される。拡張領域項目には、拡張領域指定領域で指定された項目が格納される。
【００６０】
ジョブ実行依頼メッセージ５０１は、ジョブを対象とする計算資源割り当て処理の実行依頼を行うメッセージである。ジョブ実行依頼メッセージ５０１の拡張領域指定領域項目には、資源チケットｒｔｉｘおよびＩＤチケットｉｔｉｘのオフセットおよびデータ長が格納される。また、ジョブ実行依頼メッセージ５０１の拡張領域には、資源チケットｒｔｉｘおよびＩＤチケットｉｔｉｘが格納される。ここで、資源チケットｒｔｉｘには、資源チケットＩＤが含まれる。また、資源チケットｒｔｉｘには、拡張情報が含まれてもよい。資源チケットｒｔｉｘの拡張情報としては、例えば、その資源チケットｒｔｉｘの使用期限が示された時刻である。同様に、ＩＤチケットｉｔｉｘには、ジョブＩＤが含まれる。また、ＩＤチケットｉｔｉｘには、拡張情報が含まれてもよい。拡張情報としては、例えば、そのＩＤチケットｉｔｉｘの使用期限が示された時刻である。
【００６１】
資源チケット補充依頼メッセージ５０２は、資源チケットｒｔｉｘの補充を依頼するメッセージである。資源チケット補充依頼メッセージ５０２の拡張領域指定領域項目には、資源チケットｒｔｉｘの補充依頼数が格納される。同様に、ＩＤチケット補充依頼メッセージ５０３は、ＩＤチケットｉｔｉｘの補充を依頼するメッセージである。そして、ＩＤチケット補充依頼メッセージ５０３の拡張領域指定領域項目には、ＩＤチケットｉｔｉｘの補充依頼数が格納される。
【００６２】
資源チケット配布メッセージ５０４は、資源チケットｒｔｉｘを配布するメッセージである。資源チケット配布メッセージ５０４の拡張領域指定領域項目には、資源チケットｒｔｉｘの配布数が格納される。図５の例では、資源チケット配布メッセージ５０４の拡張領域指定領域項目には、自然数であるｍが格納されている。そして、資源チケット配布メッセージ５０４の拡張領域には、配布数分の資源チケットｒｔｉｘが格納される。図５の例では、資源チケット配布メッセージ５０４の拡張領域には、ｍ個の資源チケットｒｔｉｘが格納されている。
【００６３】
同様に、ＩＤチケット配布メッセージ５０５は、ＩＤチケットｉｔｉｘを配布するメッセージである。そして、ＩＤチケット配布メッセージ５０５の拡張領域指定領域項目には、ＩＤチケットｉｔｉｘの配布数が格納される。図５の例では、ＩＤチケット配布メッセージ５０５の拡張領域指定領域項目には、自然数であるｎが格納されている。そして、ＩＤチケット配布メッセージ５０５の拡張領域には、配布数分のＩＤチケットｉｔｉｘが格納される。図５の例では、ＩＤチケット配布メッセージ５０５の拡張領域には、ｎ個のＩＤチケットｉｔｉｘが格納されている。
【００６４】
次に、処理時間管理表４１１〜ＩＤチケット補充表４１５の一例について、それぞれ、図６〜図１０を用いて説明する。
【００６５】
図６は、処理時間管理表４１１の一例を示す説明図である。図６に示す処理時間管理表４１１は、レコード６０１−１を有する。
【００６６】
処理時間管理表４１１は、処理時間と、予約資源パラメタという項目を含む。処理時間項目には、計算資源割り当て処理にかかった処理時間を示す値が格納される。予約資源パラメタ項目には、利用者によって指定された予約資源パラメタを示す値が格納される。具体的には、予約資源パラメタ項目には、予約計算ノード数と、予約時間の長さというサブ項目を有する。予約計算ノード数サブ項目には、利用者によって指定された、ジョブを実行する計算ノードｃｎの個数が格納される。予約時間の長さサブ項目には、利用者によって指定された、たとえ終了していなくてもジョブの実行を打ち切るまでの時間長を示す値が格納される。
【００６７】
図７は、資源チケット使用実績管理表４１２の一例を示す説明図である。図７に示す資源チケット使用実績管理表４１２は、レコード７０１−１を有する。また、資源チケット使用実績管理表４１２には、書き込み位置ポインタが対応付けられる。
【００６８】
資源チケット使用実績管理表４１２は、時間帯と、使用数と、という項目を含む。時間帯項目には、時間帯を示す値が格納される。使用数項目には、時間帯項目で示す時間帯に資源チケットｒｔｉｘが使用された個数が格納される。
【００６９】
また、資源チケット使用実績管理表４１２に対応付けられた書き込み位置ポインタは、資源チケット使用実績管理表４１２内の次に書き込むレコードの位置を示すポインタである。
【００７０】
図８は、ＩＤチケット使用実績管理表４１３の一例を示す説明図である。図８に示すＩＤチケット使用実績管理表４１３は、レコード８０１−１を有する。また、ＩＤチケット使用実績管理表４１３には、書き込み位置ポインタが対応付けられる。
【００７１】
ＩＤチケット使用実績管理表４１３は、時間帯と、使用数と、という項目を含む。時間帯項目には、時間帯を示す文字列が格納される。使用数項目には、時間帯項目で示す時間帯にＩＤチケットｉｔｉｘが使用された個数が格納される。
【００７２】
また、ＩＤチケット使用実績管理表４１３に対応付けられた書き込み位置ポインタは、ＩＤチケット使用実績管理表４１３内の次に書き込むレコードの位置を示すポインタである。
【００７３】
図９は、資源チケット補充表４１４の一例を示す説明図である。図９に示す資源チケット補充表４１４は、レコード９０１−１を有する。
【００７４】
資源チケット補充表４１４は、要求時間帯と、要求元識別子と、補充依頼数と、という項目を含む。要求時間帯項目には、資源チケットｒｔｉｘを要求した時刻を含む時間帯を示す文字列が格納される。要求元識別子項目には、資源チケットｒｔｉｘを要求したスケジューラクライアントｓｃを識別する識別子が格納される。補充依頼数項目には、スケジューラクライアントｓｃが要求した資源チケットｒｔｉｘの数が格納される。
【００７５】
図１０は、ＩＤチケット補充表４１５の記憶内容の一例を示す説明図である。図１０に示すＩＤチケット補充表４１５は、レコード１００１−１を有する。
【００７６】
ＩＤチケット補充表４１５は、要求時間帯と、要求元識別子と、補充依頼数と、という項目を含む。要求時間帯項目には、ＩＤチケットｉｔｉｘを要求した時刻を含む時間帯を示す文字列が格納される。要求元識別子項目には、ＩＤチケットｉｔｉｘを要求したスケジューラクライアントｓｃを識別する識別子が格納される。補充依頼数項目には、スケジューラクライアントｓｃが要求したＩＤチケットｉｔｉｘの数が格納される。
【００７７】
次に、スケジューラクライアントｓｃが実行するフローチャートについて、図１１〜図１９を用いて説明する。
【００７８】
図１１は、スケジューラクライアントｓｃにおけるＩＤチケット初期化処理手順の一例を示すフローチャートである。スケジューラクライアントｓｃにおけるＩＤチケット初期化処理は、ＨＰＣシステム２００の運用を開始する際に、スケジューラクライアントｓｃが実行する処理である。
【００７９】
スケジューラクライアントｓｃは、ＩＤチケット補充依頼数を、ＩＤチケット数の所定の基準値に設定する（ステップＳ１１０１）。次に、スケジューラクライアントｓｃは、ＩＤチケット補充依頼処理を実行する（ステップＳ１１０２）。ＩＤチケット補充依頼処理は、図１７で示す。ステップＳ１１０２の処理終了後、スケジューラクライアントｓｃは、ＩＤチケット初期化処理を終了する。
【００８０】
図１２は、スケジューラクライアントｓｃにおけるジョブ投入処理手順の一例を示すフローチャートである。スケジューラクライアントｓｃにおけるジョブ投入処理は、利用者端末ｕｔからジョブ投入コマンド４３１によりジョブが投入された際に、スケジューラクライアントｓｃが実行する処理である。
【００８１】
スケジューラクライアントｓｃは、配布されたＩＤチケットｉｔｉｘの一つを選択し、消費する（ステップＳ１２０１）。ここで、ＩＤチケットｉｔｉｘは、ステップＳ１１０２の補充依頼処理を契機として、図１８で示すメッセージ受信処理により、スケジューラサーバｓｓから配布されている。
【００８２】
次に、スケジューラクライアントｓｃは、スケジューラサーバｓｓへのジョブ実行依頼を依頼キューに追加する（ステップＳ１２０２）。そして、スケジューラクライアントｓｃは、ＩＤチケットｉｔｉｘの消費履歴を記録する（ステップＳ１２０３）。次に、スケジューラクライアントｓｃは、ＩＤチケット補充依頼処理を実行する（ステップＳ１２０４）。そして、スケジューラクライアントｓｃは、選択したＩＤチケットｉｔｉｘのジョブＩＤを利用者端末ｕｔに送信する（ステップＳ１２０５）。ステップＳ１２０５の処理終了後、スケジューラクライアントｓｃは、ジョブ投入処理を終了する。
【００８３】
図１３は、スケジューラクライアントｓｃにおけるジョブ実行取消処理手順の一例を示すフローチャートである。スケジューラクライアントｓｃにおけるジョブ実行取消処理は、利用者端末ｕｔから、ジョブ取消要求を受け付けた場合に実行する処理である。また、スケジューラクライアントｓｃは、利用者端末ｕｔからジョブ取消要求を受け付けた際に、取消対象のジョブＩＤも受け付ける。
【００８４】
スケジューラクライアントｓｃは、取消対象のジョブが、スケジューラサーバｓｓにジョブ実行依頼済みか否かを判断する（ステップＳ１３０１）。具体的には、スケジューラサーバｓｓへジョブ実行依頼済みとなるジョブとは、後述するステップＳ１９０３の処理で対象となったジョブである。
【００８５】
取消対象のジョブがスケジューラサーバｓｓにジョブ実行依頼済みである場合（ステップＳ１３０１：Ｙｅｓ）、スケジューラクライアントｓｃは、ジョブ取消依頼処理を実行する（ステップＳ１３０２）。ジョブ取消依頼処理は、図１４で示す。一方、スケジューラサーバｓｓへジョブ実行依頼済みでない場合（ステップＳ１３０１：Ｎｏ）、スケジューラクライアントｓｃは、依頼キューから取消対象のジョブを破棄する（ステップＳ１３０３）。そして、スケジューラクライアントｓｃは、削除結果を、ジョブ取消コマンド４３２を送信した利用者端末ｕｔに通知する（ステップＳ１３０４）。
【００８６】
ステップＳ１３０２またはステップＳ１３０４の処理終了後、スケジューラクライアントｓｃは、ジョブ実行取消処理を終了する。
【００８７】
図１４は、スケジューラクライアントｓｃにおけるジョブ取消依頼処理手順の一例を示すフローチャートである。スケジューラクライアントｓｃにおけるジョブ取消依頼は、スケジューラサーバｓｓに、ジョブの取消依頼を送信する処理である。
【００８８】
スケジューラクライアントｓｃは、取消対象のジョブの取消依頼を、スケジューラサーバｓｓに送信する（ステップＳ１４０１）。次に、スケジューラクライアントｓｃは、スケジューラサーバｓｓからの通知結果を待ち受ける（ステップＳ１４０２）。そして、スケジューラクライアントｓｃは、スケジューラサーバｓｓからの通知結果を、ジョブ取消コマンド４３２を送信した利用者端末ｕｔに通知する（ステップＳ１４０３）。ステップＳ１４０３の処理終了後、スケジューラクライアントｓｃは、ジョブ取消依頼処理を終了する。
【００８９】
図１５は、スケジューラクライアントｓｃにおけるジョブ状態表示処理手順の一例を示すフローチャートである。スケジューラクライアントｓｃにおけるジョブ状態表示処理は、利用者端末ｕｔから、ジョブ状態表示コマンド４３３を受け付けた場合に実行する処理である。また、スケジューラクライアントｓｃは、利用者端末ｕｔからジョブ状態表示コマンド４３３を受け付けた際に、状態表示対象のジョブＩＤも受け付ける。
【００９０】
スケジューラクライアントｓｃは、状態表示対象のジョブが、スケジューラサーバｓｓにジョブ実行依頼済みか否かを判断する（ステップＳ１５０１）。スケジューラサーバｓｓへのジョブ実行依頼済みである場合（ステップＳ１５０１：Ｙｅｓ）、スケジューラクライアントｓｃは、状態表示対象のジョブの状態取得依頼をスケジューラサーバｓｓに送信する（ステップＳ１５０２）。次に、スケジューラクライアントｓｃは、スケジューラサーバｓｓからの結果通知を待ち受ける（ステップＳ１５０３）。そして、スケジューラクライアントｓｃは、受け付けた結果通知から、状態表示対象ジョブの状態を取得する（ステップＳ１５０４）。
【００９１】
一方、スケジューラサーバｓｓへのジョブ実行依頼済みでない場合（ステップＳ１５０１：Ｎｏ）、スケジューラクライアントｓｃは、スケジューラクライアントｓｃ上の状態表示対象のジョブの状態を取得する（ステップＳ１５０５）。
【００９２】
ステップＳ１５０４、またはステップＳ１５０５の処理終了後、スケジューラクライアントｓｃは、取得した状態表示対象のジョブの状態を、ジョブ状態表示コマンド４３３を送信した利用者端末ｕｔに送信する（ステップＳ１５０６）。ステップＳ１５０６の処理終了後、スケジューラクライアントｓｃは、ジョブ状態表示処理を終了する。
【００９３】
図１６は、スケジューラクライアントｓｃにおけるジョブ実行依頼処理手順の一例を示すフローチャートである。スケジューラクライアントｓｃにおけるジョブ実行依頼処理は、スケジューラサーバｓｓに、計算資源割り当て処理の実行依頼を送信する処理である。計算資源割り当て処理の実行依頼は、例えば、一定時間ごとに、または、依頼キューにジョブ実行依頼が格納された際に実行する。ここで、依頼キューには、ステップＳ１２０２で示したように、ジョブ実行依頼が追加される。
【００９４】
スケジューラクライアントｓｃは、依頼キューにジョブ実行依頼があるか否かを判断する（ステップＳ１６０１）。依頼キューにジョブ実行依頼がある場合（ステップＳ１６０１：Ｙｅｓ）、スケジューラクライアントｓｃは、依頼キューの先頭から要素を取り出す（ステップＳ１６０２）。そして、スケジューラクライアントｓｃは、取り出した要素となるジョブＩＤのジョブ実行依頼メッセージ送信処理を実行する（ステップＳ１６０３）。ジョブ実行依頼メッセージ送信処理は、図１９で示す。
【００９５】
ステップＳ１６０３の処理終了後、または、依頼キューにジョブ実行依頼がない場合（ステップＳ１６０１：Ｎｏ）、スケジューラクライアントｓｃは、ジョブ実行依頼処理を終了する。
【００９６】
図１７は、スケジューラクライアントｓｃにおけるＩＤチケット補充依頼処理手順の一例を示すフローチャートである。スケジューラクライアントｓｃにおけるＩＤチケット補充依頼処理は、スケジューラサーバｓｓに、ＩＤチケットｉｔｉｘを補充するように依頼する処理である。
【００９７】
スケジューラクライアントｓｃは、自身が有するＩＤチケット数が所定数以下か否かを判断する（ステップＳ１７０１）。自身が有するＩＤチケット数が所定数以下である場合（ステップＳ１７０１：Ｙｅｓ）、スケジューラクライアントｓｃは、ＩＤチケット補充依頼メッセージ５０３を、スケジューラサーバｓｓに送信する（ステップＳ１７０２）。
【００９８】
ステップＳ１７０２の処理終了後、または自身が有するＩＤチケット数が所定数より大きい場合（ステップＳ１７０１：Ｎｏ）、スケジューラクライアントｓｃは、ＩＤチケット補充依頼処理を終了する。
【００９９】
図１８は、スケジューラクライアントｓｃにおけるメッセージ受信処理手順の一例を示すフローチャートである。スケジューラクライアントｓｃにおけるメッセージ受信処理は、スケジューラクライアントｓｃが、メッセージを受信した際に実行する処理である。
【０１００】
スケジューラクライアントｓｃは、受信したメッセージが資源チケット配布メッセージ５０４またはＩＤチケット配布メッセージ５０５か否かを判断する（ステップＳ１８０１）。受信したメッセージが資源チケット配布メッセージ５０４またはＩＤチケット配布メッセージ５０５である場合（ステップＳ１８０１：Ｙｅｓ）、スケジューラクライアントｓｃは、受信したメッセージの種類を確認する（ステップＳ１８０２）。受信したメッセージの種類が資源チケット配布メッセージ５０４である場合（ステップＳ１８０２：資源チケット配布メッセージ）、スケジューラクライアントｓｃは、受信した資源チケット配布メッセージ５０４内の資源チケットｒｔｉｘを保存する（ステップＳ１８０３）。また、受信したメッセージの種類がＩＤチケット配布メッセージ５０５である場合（ステップＳ１８０２：ＩＤチケット配布メッセージ）、スケジューラクライアントｓｃは、受信したＩＤチケット配布メッセージ５０５内のＩＤチケットｉｔｉｘを保存する（ステップＳ１８０４）。
【０１０１】
また、受信したメッセージが資源チケット配布メッセージ５０４またはＩＤチケット配布メッセージ５０５のいずれでもない場合（ステップＳ１８０１：Ｎｏ）、スケジューラクライアントｓｃは、その他のメッセージの受信処理を実行する（ステップＳ１８０５）。
【０１０２】
ステップＳ１８０３〜ステップＳ１８０５のうちのいずれかの処理終了後、スケジューラクライアントｓｃは、メッセージ受信処理を終了する。
【０１０３】
図１９は、スケジューラクライアントｓｃにおけるジョブ実行依頼メッセージ送信処理手順の一例を示すフローチャートである。スケジューラクライアントｓｃにおけるジョブ実行依頼メッセージ送信処理は、スケジューラサーバｓｓに、ジョブ実行依頼メッセージ５０１を送信する処理である。また、ジョブ実行依頼メッセージ送信処理には、引数として、実行依頼対象のジョブＩＤが付与される。
【０１０４】
スケジューラクライアントｓｃは、自身が有する資源チケットｒｔｉｘがあるか否かを判断する（ステップＳ１９０１）。自身が有する資源チケットｒｔｉｘがある場合（ステップＳ１９０１：Ｙｅｓ）、スケジューラクライアントｓｃは、自身が有する資源チケットｒｔｉｘから、消費する資源チケットｒｔｉｘを選択する（ステップＳ１９０２）。次に、スケジューラクライアントｓｃは、選択した資源チケットｒｔｉｘと、引数として受け付けた実行依頼対象のジョブＩＤを有するＩＤチケットｉｔｉｘとを含むジョブ実行依頼メッセージ５０１を、スケジューラサーバｓｓに送信する（ステップＳ１９０３）。そして、スケジューラクライアントｓｃは、スケジューラサーバｓｓから、応答メッセージを待ち受ける（ステップＳ１９０４）。
【０１０５】
一方、自身が有する資源チケットｒｔｉｘがない場合（ステップＳ１９０１：Ｎｏ）、スケジューラクライアントｓｃは、資源チケット補充依頼メッセージ５０２を、スケジューラサーバｓｓに送信する（ステップＳ１９０５）。
【０１０６】
ステップＳ１９０４、またはステップＳ１９０５の処理終了後、スケジューラクライアントｓｃは、ジョブ実行依頼メッセージ送信処理を終了する。
【０１０７】
また、ステップＳ１９０４の処理について、スケジューラクライアントｓｃは、依頼キューの先頭から取り出したジョブについては、再び依頼キューの先頭に追加する。これにより、スケジューラクライアントｓｃは、資源チケットｒｔｉｘがなく、計算資源割り当て処理の実行依頼ができなかった場合でも、後ほど資源チケットｒｔｉｘを得た際に、そのジョブを対象とする計算資源割り当て処理の実行依頼を送信することができる。または、ステップＳ１９０４の処理について、スケジューラクライアントｓｃは、資源チケット配布メッセージ５０４を受信するまで待ち受けてもよい。
【０１０８】
次に、スケジューラサーバｓｓが実行するフローチャートについて、図２０〜図３５を用いて説明する。
【０１０９】
図２０は、スケジューラサーバｓｓにおける初期化処理手順の一例を示すフローチャートである。スケジューラサーバｓｓにおける初期化処理は、ＨＰＣシステム２００の運用を開始する際に、スケジューラサーバｓｓが実行する処理である。
【０１１０】
スケジューラサーバｓｓは、ファイルとマップされたメモリ領域を、処理時間管理表４１１として初期化する（ステップＳ２００１）。次に、スケジューラサーバｓｓは、処理時間管理表の書き込み位置ポインタを初期化する（ステップＳ２００２）。
【０１１１】
また、スケジューラサーバｓｓは、ファイルとマップされたメモリ領域を、資源チケット使用実績管理表４１２として初期化する（ステップＳ２００３）。次に、スケジューラサーバｓｓは、資源チケット使用実績管理表４１２の書き込み位置ポインタを初期化する（ステップＳ２００４）。
【０１１２】
また、スケジューラサーバｓｓは、ファイルとマップされたメモリ領域を、ＩＤチケット使用実績管理表４１３として初期化する（ステップＳ２００５）。次に、スケジューラサーバｓｓは、ＩＤチケット使用実績管理表４１３の書き込み位置ポインタを初期化する（ステップＳ２００６）。ステップＳ２００６の処理終了後、スケジューラサーバｓｓは、初期化処理を終了する。
【０１１３】
図２１は、スケジューラサーバｓｓにおける依頼メッセージ処理手順の一例を示すフローチャートである。スケジューラサーバｓｓにおける依頼メッセージ処理は、メッセージを受信した際に、スケジューラサーバｓｓの計算資源割り当て管理部４０１が実行する処理である。
【０１１４】
計算資源割り当て管理部４０１は、受信したメッセージが、チケット補充依頼メッセージか否かを判断する（ステップＳ２１０１）。ここで、チケット補充依頼メッセージとは、資源チケット補充依頼メッセージ５０２、ＩＤチケット補充依頼メッセージ５０３を総称したものである。チケット補充依頼メッセージである場合（ステップＳ２１０１：Ｙｅｓ）、計算資源割り当て管理部４０１は、受信したメッセージの種類を確認する（ステップＳ２１０２）。
【０１１５】
受信したメッセージの種類が資源チケット補充依頼メッセージ５０２である場合（ステップＳ２１０２：資源チケット補充依頼メッセージ）、計算資源割り当て管理部４０１は、資源チケット補充スケジュール処理を実行する（ステップＳ２１０３）。資源チケット補充スケジュール処理については、図２４で示す。また、受信したメッセージの種類がＩＤチケット補充依頼メッセージ５０３である場合（ステップＳ２１０２：ＩＤチケット補充依頼メッセージ）、計算資源割り当て管理部４０１は、ＩＤチケット補充スケジュール処理を実行する（ステップＳ２１０４）。ＩＤチケット補充スケジュール処理については、図２５で示す。
【０１１６】
一方、受信したメッセージの種類がチケット補充依頼メッセージでない場合（ステップＳ２１０１：Ｎｏ）、計算資源割り当て管理部４０１は、既存メッセージ処理を実行する（ステップＳ２１０５）。既存メッセージ処理については、図２２で示す。ステップＳ２１０３〜ステップＳ２１０５の処理終了後、計算資源割り当て管理部４０１は、依頼メッセージ処理を終了する。
【０１１７】
図２２は、スケジューラサーバｓｓにおける既存メッセージ処理手順の一例を示すフローチャートである。スケジューラサーバｓｓにおける既存メッセージ処理は、資源チケット補充依頼メッセージ５０２、ＩＤチケット補充依頼メッセージ５０３以外のメッセージを受信した際に、スケジューラサーバｓｓの計算資源割り当て管理部４０１が実行する処理である。
【０１１８】
計算資源割り当て管理部４０１は、受信したメッセージがジョブ実行依頼メッセージ５０１か否かを判断する（ステップＳ２２０１）。受信したメッセージがジョブ実行依頼メッセージ５０１である場合（ステップＳ２２０１：Ｙｅｓ）、計算資源割り当て管理部４０１は、資源チケットｒｔｉｘとＩＤチケットｉｔｉｘとが両方有効か否かを判断する（ステップＳ２２０２）。資源チケットｒｔｉｘとＩＤチケットｉｔｉｘとが両方有効である場合（ステップＳ２２０２：Ｙｅｓ）、計算資源割り当て管理部４０１は、受信したジョブ実行依頼メッセージ５０１のジョブを対象とする計算資源割り当て処理を実行する（ステップＳ２２０３）。計算資源割り当て処理については、図２６で示す。
【０１１９】
そして、計算資源割り当て管理部４０１は、資源チケット回収通知を、チケット管理部４０２に送信する（ステップＳ２２０４）。また、計算資源割り当て管理部４０１は、ＩＤチケット回収通知を、チケット管理部４０２に送信する（ステップＳ２２０５）。そして、計算資源割り当て管理部４０１は、スケジューラクライアントｓｃに、計算資源割り当て結果を通知する（ステップＳ２２０６）。
【０１２０】
受信したメッセージがジョブ実行依頼メッセージ５０１でない場合（ステップＳ２２０１：Ｎｏ）、計算資源割り当て管理部４０１は、ジョブ実行依頼メッセージ以外のメッセージ処理を実行する（ステップＳ２２０７）。また、資源チケットｒｔｉｘとＩＤチケットｉｔｉｘとの少なくともいずれか一方が無効である場合（ステップＳ２２０２：Ｎｏ）、計算資源割り当て管理部４０１は、チケット無効通知処理を実行する（ステップＳ２２０８）。チケット無効通知処理は、図２３で説明する。
【０１２１】
ステップＳ２２０６〜Ｓ２２０８のうちのいずれかの処理終了後、計算資源割り当て管理部４０１は、既存メッセージ処理を終了する。
【０１２２】
図２３は、スケジューラサーバｓｓにおけるチケット無効通知処理手順の一例を示すフローチャートである。スケジューラサーバｓｓにおけるチケット無効通知処理は、無効となったチケットについての処理である。
【０１２３】
計算資源割り当て管理部４０１は、無効となったチケットの種類を確認する（ステップＳ２３０１）。無効となったチケットの種類が資源チケットｒｔｉｘである場合（ステップＳ２３０１：資源チケット）、計算資源割り当て管理部４０１は、資源チケット補充スケジュール処理を実行する（ステップＳ２３０２）。また、無効となったチケットの種類がＩＤチケットｉｔｉｘである場合（ステップＳ２３０１：ＩＤチケット）、計算資源割り当て管理部４０１は、ＩＤチケット補充スケジュール処理を実行する（ステップＳ２３０３）。
【０１２４】
ステップＳ２３０２、またはステップＳ２３０３の処理終了後、計算資源割り当て管理部４０１は、チケット無効通知処理を終了する。
【０１２５】
図２４は、スケジューラサーバｓｓにおける資源チケット補充スケジュール処理手順の一例を示すフローチャートである。スケジューラサーバｓｓにおける資源チケット補充スケジュール処理は、資源チケット補充表４１４の更新を行う処理である。また、資源チケット補充スケジュール処理は、チケット管理部４０２が実行する処理である。
【０１２６】
チケット管理部４０２は、要求元識別子、補充依頼数、要求時間帯を対にして資源チケット補充表４１４に記録する（ステップＳ２４０１）。ここで、資源チケット補充スケジュール処理は、ステップＳ２１０３の処理、またはステップＳ２３０２の処理から呼び出される。ステップＳ２１０３の処理から呼び出された場合には、チケット管理部４０２は、資源チケット補充表４１４に対して、ＩＤチケット補充依頼メッセージ５０３の各項目の内容を、その各項目と同名を有する項目に格納する。
【０１２７】
また、ステップＳ２３０２の処理から呼び出された場合には、チケット管理部４０２は、資源チケット補充表４１４の要求元識別子項目に、無効となった資源チケットｒｔｉｘの送信元となるスケジューラクライアントｓｃの識別子を格納する。また、チケット管理部４０２は、資源チケット補充表４１４の補充依頼数項目に、無効となった資源チケットｒｔｉｘの数を格納する。また、チケット管理部４０２は、資源チケット補充表４１４の補充依頼数項目に、無効となった資源チケットｒｔｉｘと併せて送信されたジョブの時間帯を格納する。
【０１２８】
ステップＳ２４０１の処理終了後、チケット管理部４０２は、資源チケット補充スケジュール処理を終了する。
【０１２９】
図２５は、スケジューラサーバｓｓにおけるＩＤチケット補充スケジュール処理手順の一例を示すフローチャートである。スケジューラサーバｓｓにおけるＩＤチケット補充スケジュール処理は、ＩＤチケット補充表４１５の更新を行う処理である。また、ＩＤチケット補充スケジュール処理は、チケット管理部４０２が実行する処理である。
【０１３０】
チケット管理部４０２は、要求元識別子、補充依頼数、要求時間帯を対にしてＩＤチケット補充表４１５に記録する（ステップＳ２５０１）。ここで、ＩＤチケット補充スケジュール処理は、ステップＳ２１０４の処理、またはステップＳ２３０３の処理から呼び出される。それぞれの処理において、ＩＤチケット補充表４１５に格納される情報は、資源チケット補充スケジュール処理と同様であるため、説明を省略する。ステップＳ２５０１の処理終了後、チケット管理部４０２は、ＩＤチケット補充スケジュール処理を終了する。
【０１３１】
図２６は、スケジューラサーバｓｓにおける計算資源割り当て処理手順の一例を示すフローチャートである。スケジューラサーバｓｓにおける計算資源割り当て処理は、ジョブに計算資源を割り当てると共に、計算資源の予約処理にかかった時間を計測して、記録する処理である。また、計算資源割り当て処理は、計算資源割り当て管理部４０１と、チケット管理部４０２とが連携して行う処理である。
【０１３２】
計算資源割り当て管理部４０１は、処理時間の計測を開始する（ステップＳ２６０１）。次に、計算資源割り当て管理部４０１は、計算資源の予約処理を実行する（ステップＳ２６０２）。そして、計算資源割り当て管理部４０１は、処理時間の計測を終了する（ステップＳ２６０３）。
【０１３３】
計算資源割り当て管理部４０１は、計測した処理時間をチケット管理部４０２に通知し、チケット管理部４０２は、処理時間管理表４１１の現在の書き込み位置に処理時間と要求資源パラメタの組を書き込む（ステップＳ２６０４）。次に、チケット管理部４０２は、書き込み位置ポインタを１レコード分進める（ステップＳ２６０５）。そして、チケット管理部４０２は、書き込み位置ポインタが処理時間管理表４１１の範囲を超えるか否かを判断する（ステップＳ２６０６）。書き込み位置ポインタが処理時間管理表４１１の範囲を超える場合（ステップＳ２６０６：Ｙｅｓ）、チケット管理部４０２は、処理時間管理表の書き込み位置ポインタを初期化する（ステップＳ２６０７）。
【０１３４】
ステップＳ２６０７の処理終了後、または書き込み位置ポインタが処理時間管理表４１１の範囲を超えない場合（ステップＳ２６０６：Ｎｏ）、チケット管理部４０２は、計算資源割り当て処理を終了する。
【０１３５】
図２７は、スケジューラサーバｓｓにおける処理時間見積り式記録処理手順の一例を示すフローチャートである。スケジューラサーバｓｓにおける処理時間見積り式記録処理は、計算資源の予約処理の処理時間を見積る見積り式を記録する処理である。処理時間見積り式記録処理は、例えば、一定時間ごとに実行される。また、処理時間見積り式記録処理は、チケット管理部４０２が実行する処理である。
【０１３６】
チケット管理部４０２は、処理時間管理表４１１の処理時間を被説明変数とし、予約資源パラメタを説明変数とする重回帰分析を実行する（ステップＳ２７０１）。次に、チケット管理部４０２は、重回帰分析で求めた一次式を処理時間見積り式として登録する（ステップＳ２７０２）。ステップＳ２７０２の処理終了後、チケット管理部４０２は、処理時間見積り式記録処理を終了する。
【０１３７】
図２８は、スケジューラサーバｓｓにおける資源チケット使用実績記録処理手順の一例を示すフローチャートである。スケジューラサーバｓｓにおける資源チケット使用実績記録処理は、計算資源割り当て管理部４０１から資源チケット回収通知を受け付けた場合に実行する処理である。また、資源チケット使用実績記録処理は、チケット管理部４０２が実行する処理である。
【０１３８】
チケット管理部４０２は、資源チケット回収通知を受信する（ステップＳ２８０１）。次に、チケット管理部４０２は、資源チケット使用実績管理表４１２に対し、現在の時間帯の使用数を１増加させる（ステップＳ２８０２）。ステップＳ２８０２の処理終了後、チケット管理部４０２は、資源チケット使用実績記録処理を終了する。
【０１３９】
図２９は、スケジューラサーバｓｓにおけるチケット管理処理手順の一例を示すフローチャートである。スケジューラサーバｓｓにおけるチケット管理処理は、資源チケットｒｔｉｘおよびＩＤチケットｉｔｉｘを管理する処理である。チケット管理処理は、一定時間ごとに動作される。また、チケット管理処理は、チケット管理部４０２が実行する処理である。
【０１４０】
チケット管理部４０２は、資源チケット発行数算出処理を実行する（ステップＳ２９０１）。資源チケット発行数算出処理は、図３０で示す。次に、チケット管理部４０２は、資源チケット配布処理を実行する（ステップＳ２９０２）。資源チケット配布処理は、図３２で示す。また、チケット管理部４０２は、ＩＤチケット発行数算出処理を実行する（ステップＳ２９０３）。ＩＤチケット発行数算出処理は、図３４で示す。次に、チケット管理部４０２は、ＩＤチケット配布処理を実行する（ステップＳ２９０４）。ＩＤチケット配布処理は、図３５で示す。ステップＳ２９０４の処理終了後、チケット管理部４０２は、チケット管理処理を終了する。
【０１４１】
図３０は、スケジューラサーバｓｓにおける資源チケット発行数算出処理手順の一例を示すフローチャートである。スケジューラサーバｓｓにおける資源チケット発行数算出処理は、発行可能な資源チケットｒｔｉｘの数を算出する処理である。資源チケット発行数算出処理は、チケット管理部４０２が実行する処理である。
【０１４２】
チケット管理部４０２は、変数「処理時間累計」を０で初期化する（ステップＳ３００１）。次に、チケット管理部４０２は、変数「資源チケット発行数」を１で初期化する（ステップＳ３００２）。そして、チケット管理部４０２は、資源割り当て待ちキューの先頭から、次の時間帯の資源割り当て処理対象となりうる「ジョブ実行依頼」ｊを取得する（ステップＳ３００３）。次に、チケット管理部４０２は、ｊに資源割り当てを行った場合の処理時間を、処理時間見積り式で算出する（ステップＳ３００４）。処理時間見積り式は、図２７で示した処理時間見積り式記録処理により得ることができる。また、チケット管理部４０２は、資源チケット生成量算出処理を開始してから、ステップＳ３００４の処理を初めて実行する際に、図２７で示した処理時間見積り式記録処理を実行してもよい。
【０１４３】
次に、チケット管理部４０２は、ｊの資源割り当てを行った場合の処理時間を「処理時間累計」に加算する（ステップＳ３００５）。そして、チケット管理部４０２は、「処理時間累計」＞「所定の時間間隔」×「許容可能負荷」となるか否かを判断する（ステップＳ３００６）。ここで、許容可能負荷は、ＨＰＣシステム２００の管理者が事前に決めた値であり、０より大きく１より小さい定数である。
【０１４４】
「処理時間累計」≦「所定の時間間隔」×「許容可能負荷」となる場合（ステップＳ３００６：Ｎｏ）、チケット管理部４０２は、ステップＳ３００３の処理に移行する。一方、「処理時間累計」＞「所定の時間間隔」×「許容可能負荷」となる場合（ステップＳ３００６：Ｙｅｓ）、チケット管理部４０２は、「資源チケット発行数」に、資源割り当て待ちキューから取得した「ジョブ実行依頼」の数−１を代入する（ステップＳ３００７）。そして、チケット管理部４０２は、資源チケット発行数見積り誤差補正処理を実行する（ステップＳ３００８）。資源チケット所要数見積り誤差補正処理は、図３１で示す。ステップＳ３００８の処理終了後、チケット管理部４０２は、資源チケット発行数算出処理を終了する。
【０１４５】
図３１は、スケジューラサーバｓｓにおける資源チケット発行数見積り誤差補正処理手順の一例を示すフローチャートである。スケジューラサーバｓｓにおける資源チケット発行数見積り誤差補正処理は、図３０のステップＳ３００７の処理で得られた資源チケット発行数の誤差を補正する処理である。資源チケット発行数見積り誤差補正処理は、チケット管理部４０２が実行する処理である。
【０１４６】
チケット管理部４０２は、前時間帯発行量−前時間帯使用量の計算結果を、前時間帯の資源チケット使用量見積り誤差に代入する（ステップＳ３１０１）。次に、チケット管理部４０２は、所定数の資源チケット使用量見積り誤差の移動平均を算出する（ステップＳ３１０２）。そして、チケット管理部４０２は、資源チケット使用量見積り誤差の移動平均を資源チケット発行数に加算する（ステップＳ３１０３）。
【０１４７】
次に、チケット管理部４０２は、資源チケット発行数が０以下であるか否かを判断する（ステップＳ３１０４）。資源チケット発行数が０以下である場合（ステップＳ３１０４：Ｙｅｓ）、チケット管理部４０２は、資源チケット発行数に１を代入する（ステップＳ３１０５）。
【０１４８】
ステップＳ３１０５の処理終了後、または、資源チケット発行数が０より大きい場合（ステップＳ３１０４：Ｎｏ）、チケット管理部４０２は、資源チケット発行数見積り誤差補正処理を終了する。
【０１４９】
図３２は、スケジューラサーバｓｓにおける資源チケット配布処理手順の一例を示すフローチャートである。スケジューラサーバｓｓにおける資源チケット配布処理は、資源チケット見積り誤差補正処理で得られた資源チケット発行数に基づいて、資源チケットｒｔｉｘをスケジューラクライアントｓｃに配布する処理である。資源チケット配布処理は、チケット管理部４０２が実行する処理である。
【０１５０】
チケット管理部４０２は、資源チケット補充表４１４にレコードがあるか否かを判断する（ステップＳ３２０１）。資源チケット補充表４１４にレコードがある場合（ステップＳ３２０１：Ｙｅｓ）、チケット管理部４０２は、資源チケット補充表４１４の補充依頼数を、要求時間帯ごとに全て加算する（ステップＳ３２０２）。
【０１５１】
ステップＳ３２０２について、具体的な説明を行う。例えば、資源チケット補充表４１４に、以下のようなレコード１〜４が登録されているとする。
【０１５２】
要求時間帯：「ｘ１：ｙ１〜ｘ２：ｙ２」、要求元識別子：「ｓｃ＃１」、補充依頼数「２」  …レコード１
要求時間帯：「ｘ１：ｙ１〜ｘ２：ｙ２」、要求元識別子：「ｓｃ＃２」、補充依頼数「４」  …レコード２
要求時間帯：「ｘ２：ｙ２〜ｘ３：ｙ３」、要求元識別子：「ｓｃ＃１」、補充依頼数「３」  …レコード３
要求時間帯：「ｘ２：ｙ２〜ｘ３：ｙ３」、要求元識別子：「ｓｃ＃２」、補充依頼数「４」  …レコード４
【０１５３】
ここで、「ｘ１：ｙ１〜ｘ２：ｙ２」は、「ｘ２：ｙ２〜ｘ３：ｙ３」の一つ前の時間帯であるとする。上述した例において、チケット管理部４０２は、要求時間帯ごとの補充依頼数の合計、すなわち、「ｘ１：ｙ１〜ｘ２：ｙ２」の補充依頼数の合計と、「ｘ２：ｙ２〜ｘ３：ｙ３」の補充依頼数の合計とを算出する。この場合、チケット管理部４０２は、「ｘ１：ｙ１〜ｘ２：ｙ２」の補充依頼数の合計６と、「ｘ２：ｙ２〜ｘ３：ｙ３」の補充依頼数の合計７とを算出する。
【０１５４】
次に、チケット管理部４０２は、最も以前の要求時間帯に受け付けた補充依頼数の合計が資源チケット発行数より大きいか否かを判断する（ステップＳ３２０３）。上述した例を用いると、最も以前の要求時間帯は、「ｘ１：ｙ１〜ｘ２：ｙ２」となり、「ｘ１：ｙ１〜ｘ２：ｙ２」に受け付けた補充依頼数の合計は、６となる。
【０１５５】
最も以前の要求時間帯に受け付けた補充依頼数の合計が資源チケット発行数以下である場合（ステップＳ３２０３：Ｎｏ）、チケット管理部４０２は、最も以前の要求時間帯について、資源チケットｒｔｉｘを要求通りにスケジューラクライアントｓｃに配分する（ステップＳ３２０４）。上述した例では、チケット管理部４０２は、スケジューラクライアントｓｃ＃１に、２つの資源チケットｒｔｉｘを配分し、スケジューラクライアントｓｃ＃２に、４つの資源チケットｒｔｉｘを配分する。そして、チケット管理部４０２は、資源チケット補充表４１４から、最も以前の要求時間帯を削除する（ステップＳ３２０５）。そして、チケット管理部４０２は、ステップＳ３２０１の処理に移行する。
【０１５６】
一方、最も以前の要求時間帯に受け付けた補充依頼数の合計が資源チケット発行数より大きい場合（ステップＳ３２０３：Ｙｅｓ）、チケット管理部４０２は、最も以前の要求時間帯について、資源チケットｒｔｉｘを補充依頼数に比例させてスケジューラクライアントｓｃに配分する（ステップＳ３２０６）。上述した例において、資源チケット発行数が３であったとする。この場合、チケット管理部４０２は、スケジューラクライアントｓｃ＃１に、３×（２／（２＋４））＝１つの資源チケットｒｔｉｘを配分し、スケジューラクライアントｓｃ＃２に、３×（４／（２＋４））＝２つの資源チケットｒｔｉｘを配分する。そして、チケット管理部４０２は、資源チケット補充表４１４の最も以前の要求時間帯について、補充依頼数を配分数だけ減少させる（ステップＳ３２０７）。
【０１５７】
ステップＳ３２０７の処理終了後、または、資源チケット補充表４１４にレコードがない場合（ステップＳ３２０１：Ｎｏ）、チケット管理部４０２は、資源チケット配布処理を終了する。
【０１５８】
ここで、チケット管理部４０２は、資源チケット配布メッセージ５０４を用いてスケジューラクライアントｓｃに資源チケットｒｔｉｘを配布する。資源チケットｒｔｉｘを配布するタイミングとして、チケット管理部４０２は、ステップＳ３２０４の処理を実行する度に、資源チケットｒｔｉｘを配布することもできるが、資源チケットｒｔｉｘをまとめて配布することが好ましい。具体的には、チケット管理部４０２は、ステップＳ３２０４の処理を実行する度に、スケジューラクライアントｓｃごとに、ステップＳ３２０４の処理で得られた資源チケットｒｔｉｘを配分する数を加算する。
【０１５９】
そして、チケット管理部４０２は、ステップＳ３２０１の処理終了後、スケジューラクライアントｓｃごとに、加算して得られた合計を配布数とする資源チケット配布メッセージ５０４を送信する。または、チケット管理部４０２は、ステップＳ３２０７の処理終了後、スケジューラクライアントｓｃごとに、ステップＳ３２０４の処理で得られた資源チケットｒｔｉｘを配分する数を加算する。そして、チケット管理部４０２は、スケジューラクライアントｓｃごとに、加算して得られた合計を配布数とする資源チケット配布メッセージ５０４を送信する。これにより、チケット管理部４０２は、各要求時間帯の要求数をまとめた分の資源チケットｒｔｉｘを、スケジューラクライアントｓｃに配布することができる。
【０１６０】
図３３は、スケジューラサーバｓｓにおけるＩＤチケット使用実績記録処理手順の一例を示すフローチャートである。スケジューラサーバｓｓにおけるＩＤチケット使用実績記録処理は、計算資源割り当て管理部４０１からＩＤチケット回収通知を受け付けた場合に実行する処理である。また、ＩＤチケット使用実績記録処理は、チケット管理部４０２が実行する処理である。
【０１６１】
チケット管理部４０２は、ＩＤチケット回収通知を受信する（ステップＳ３３０１）。次に、チケット管理部４０２は、ＩＤチケット使用実績管理表４１３に対し、現在の時間帯の使用数を１増加させる（ステップＳ３３０２）。ステップＳ３３０２の処理終了後、チケット管理部４０２は、ＩＤチケット使用実績記録処理を終了する。
【０１６２】
図３４は、スケジューラサーバｓｓにおけるＩＤチケット発行数算出処理手順の一例を示すフローチャートである。スケジューラサーバｓｓにおけるＩＤチケット発行数算出処理は、ＩＤチケットｉｔｉｘの発行数を見積る処理である。また、ＩＤチケット発行数算出処理は、チケット管理部４０２が実行する処理である。
【０１６３】
チケット管理部４０２は、ＩＤチケット補充表４１５の要求時間帯ごとの使用数の移動平均を推定値として決定する（ステップＳ３４０１）。次に、チケット管理部４０２は、移動平均が直近２回の要求時間帯で増加した否かを判断する（ステップＳ３４０２）。移動平均が直近２回の要求時間帯で増加した場合（ステップＳ３４０２：Ｙｅｓ）、チケット管理部４０２は、推定値に平均増加量を加算する（ステップＳ３４０３）。
【０１６４】
ステップＳ３４０３の処理終了後、または、移動平均が直近２回の要求時間帯で増加していない場合（ステップＳ３４０２：Ｎｏ）、チケット管理部４０２は、ＩＤチケット発行数算出処理を終了する。
【０１６５】
図３５は、スケジューラサーバｓｓにおけるＩＤチケット配布処理手順の一例を示すフローチャートである。スケジューラサーバｓｓにおけるＩＤチケット配布処理は、ＩＤチケット所要量見積り処理で得られた推定値に基づいて、ＩＤチケットｉｔｉｘをスケジューラクライアントｓｃに配布する処理である。ＩＤチケット配布処理は、チケット管理部４０２が実行する処理である。
【０１６６】
なお、図３５で示すステップＳ３５０１〜Ｓ３５０７は、図３２で示したＳ３２０１〜Ｓ３２０７について、「資源チケット発行数」を、「推定値」に置換し、「資源」を「ＩＤ」に置換しただけであるため、説明を省略する。また、チケット管理部４０２は、ＩＤチケット配布メッセージ５０５を用いてスケジューラクライアントｓｃにＩＤチケットｉｔｉｘを配布する。
【０１６７】
図３６は、実施例２におけるＨＰＣシステム３６００の構成例を示す説明図である。図３６に示すＨＰＣシステム３６００は、分散ファイルシステム上のデータベース３６０１により実現したものである。具体的には、データベース３６０１に格納されたジョブスケジューラプログラムを読み出すことにより、スケジューラサーバｓｓは、制御部４００を有し、スケジューラクライアントｓｃは、制御部４２０を有する。実施例２では、もともとのジョブスケジューラシステムのメッセージ形式を変更せずに、ジョブスケジューラプログラムでのデータベース参照／更新処理でチケット関連の処理を行うことができる。従って、実施例２では、スケジューラサーバｓｓのチケット管理部４０２と、他の既存部分との独立性を高めることができる。
【０１６８】
また、各スケジューラクライアントｓｃは、データベース３６０１を利用してスケジューラサーバｓｓから配布された資源チケットｒｔｉｘ、ＩＤチケットｉｔｉｘを共有してもよい。
【０１６９】
以上説明したように、スケジューラサーバｓｓは、資源チケットｒｔｉｘを事前にスケジューラクライアントｓｃに配分する。そして、スケジューラクライアントｓｃは、配分された資源チケットを消費して、受け付けたジョブを対象にする計算資源割り当て処理をスケジューラサーバｓｓに依頼する。これにより、ＨＰＣシステム２００は、スケジューラサーバｓｓにかかる負荷を一定範囲に抑えつつ、かつ、利用者が実行するジョブ投入についても、上限数に到達することを抑制することができる。
【０１７０】
また、スケジューラサーバｓｓは、ＩＤチケットｉｔｉｘを事前にスケジューラクライアントｓｃに配分してもよい。これにより、スケジューラクライアントｓｃは、スケジューラサーバｓｓの負荷が大きい時間帯においても、ＨＰＣシステム２００全体で一意かつスケジューラサーバｓｓ上で名前空間が一元的に管理されるジョブＩＤを、利用者端末ｕｔに送信することができる。
【０１７１】
また、スケジューラクライアントｓｃは、ジョブ取消コマンド４３２を受け付けた場合、ジョブ取消コマンド４３２で指定されるジョブの計算資源割り当て処理の実行依頼をまだスケジューラサーバｓｓに送信していないならば、その実行依頼を破棄してもよい。これにより、スケジューラクライアントｓｃは、その実行依頼をまだスケジューラサーバｓｓに送信していない場合、スケジューラサーバｓｓに負荷をかけることなく、その実行依頼を取り消すことができる。このように、スケジューラクライアントｓｃは、スクリプトの誤りや利用者の試行錯誤による大量のジョブ投入が発生しても、ジョブ実行依頼メッセージ５０１がスケジューラサーバｓｓに送信される以前ならば、自身の処理だけで取り消すことができる。
【０１７２】
また、スケジューラクライアントｓｃは、ジョブ状態表示コマンド４３３を受け付けた場合に、ジョブ状態表示コマンド４３３で指定されるジョブの計算資源割り当て処理の実行依頼をスケジューラサーバｓｓに送信しているか否かを判断する。そして、スケジューラクライアントｓｃは、実行依頼をまだスケジューラサーバｓｓに送信していないと判断したならば、そのジョブに計算資源の割り当てが行われていないことを示す情報を、利用者端末ｕｔに送信してもよい。これにより、スケジューラクライアントｓｃは、その実行依頼をまだスケジューラサーバｓｓに送信していない場合、スケジューラサーバｓｓに負荷をかけることなく、ジョブ状態表示コマンド４３３の処理を行うことができる。
【０１７３】
また、スケジューラサーバｓｓは、計算資源割り当て処理を行った際の各ジョブを実行するノードの数と、各ジョブを実行させる時間帯と、各ジョブを対象とする計算資源割り当て処理にかかった時間を記憶しておく。次に、スケジューラサーバｓｓは、記憶したノードの数、時間帯、計算資源割り当て処理にかかった時間、次の単位時間で計算資源割り当て処理を行うジョブを実行するノードの数と時間帯とから、後の単位時間に割り当て処理が可能なジョブの数を決定してもよい。これにより、スケジューラサーバｓｓは、次の単位時間に計算資源割り当て処理が可能なジョブの数を正確に見積ることができる。
【０１７４】
また、各スケジューラクライアントｓｃは、スケジューラサーバｓｓから配布された資源チケットｒｔｉｘ、ＩＤチケットｉｔｉｘを共有してもよい。例えば、スケジューラクライアントｓｃは、余った資源チケットｒｔｉｘを、他のスケジューラクライアントｓｃに送信してもよい。ここで、資源チケットｒｔｉｘが余るということは、スケジューラサーバｓｓの計算資源が余っていることを示している。従って、スケジューラクライアントｓｃは、他のスケジューラクライアントｓｃに余った資源チケットｒｔｉｘを送信することにより、スケジューラサーバｓｓの計算資源を有効利用することができる。
【０１７５】
また、スケジューラサーバｓｓは、ジョブ投入ごとではなく複数のジョブ投入の処理に資源チケットｒｔｉｘをまとめて通信を行う。従って、スケジューラサーバｓｓは、スケジューラクライアントｓｃとの通信処理自体による負荷の割合が大きければ、通信間隔を大きくし多くのデータをまとめて、実効バンド幅を改善することにより、スケジューラサーバｓｓの通信負荷を軽減することができる。
【０１７６】
また、ＨＰＣシステム２００は、以下の２つの理由により、スケジューラサーバｓｓの負荷の極端な上昇を、利用者の挙動によらず、常に回避することができる。１つ目の理由は、供給量が時間帯により制限される資源チケットｒｔｉｘによりジョブ実行依頼メッセージ５０１の回数が制限されることである。２つ目の理由は、ジョブ実行依頼メッセージ５０１や、資源チケット補充依頼メッセージ５０２は、利用者端末ｕｔによって送信されるものではなく、スケジューラクライアントｓｃによって送信されるものであることである。
【０１７７】
なお、本実施の形態で説明した並列処理方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本並列処理プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ−Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本並列処理プログラムは、インターネット等のネットワークを介して配布してもよい。
【０１７８】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０１７９】
（付記１）プロセッサとメモリとを有する３以上のノードを有する並列処理装置であって、
前記３以上のノードのうちのジョブを対象とする計算資源の割り当て処理を行う特定のノードは、
単位時間の前記特定のノードの資源を用いて前記単位時間に前記割り当て処理が可能なジョブの数に応じた数分の前記割り当て処理を依頼可能な権限を示す権限情報を、前記３以上のノードのうちのジョブの実行要求を受け付ける複数のノードの各ノードに割り当てて、割り当てた前記権限情報を前記各ノードに送信し、
前記各ノードは、
ジョブの実行要求を受け付けた場合、前記特定のノードから受け付けた前記権限情報が示す権限を消費して、当該ジョブを対象とする前記割り当て処理を実行する依頼を、前記特定のノードに送信する、
ことを特徴とする並列処理装置。
【０１８０】
（付記２）前記特定のノードは、
前記割り当て処理の対象のジョブに付与される前記対象のジョブを識別する識別情報を、前記各ノードに送信し、
前記各ノードは、
ジョブの実行要求を受け付けた場合、前記特定のノードから受け付けた前記識別情報を当該ジョブに割り当てて前記識別情報を当該ジョブの実行要求の要求元に送信し、前記権限情報が示す権限を消費して、前記識別情報で識別する当該ジョブを対象とする前記割り当て処理を実行する依頼を、前記特定のノードに送信する、
ことを特徴とする付記１に記載の並列処理装置。
【０１８１】
（付記３）前記各ノードは、
ジョブに割り当てた識別情報を含む当該ジョブの取消要求を受け付けた場合、当該ジョブを対象とする前記割り当て処理を実行する依頼を前記特定のノードに送信したか否かを判断し、
当該ジョブを対象とする前記割り当て処理を実行する依頼を前記特定のノードに送信していないと判断した場合、当該ジョブを対象とする前記割り当て処理を実行する依頼を破棄する、
ことを特徴とする付記２に記載の並列処理装置。
【０１８２】
（付記４）前記各ノードは、
ジョブに割り当てた識別情報を含む当該ジョブの状態表示要求を受け付けた場合、当該ジョブを対象とする前記割り当て処理を実行する依頼を前記特定のノードに送信したか否かを判断し、
当該ジョブを対象とする前記割り当て処理を実行する依頼を前記特定のノードに送信していないと判断した場合、当該ジョブに計算資源の割り当てが行われていないことを示す情報を、前記状態表示要求の要求元に送信する、
ことを特徴とする付記２または３に記載の並列処理装置。
【０１８３】
（付記５）ジョブの実行要求および当該ジョブを対象とする前記割り当て処理を実行する依頼には、前記３以上のノードのうちの当該ジョブを実行するノードの数と、当該ジョブを実行させる時間間隔とを含み、
前記特定のノードは、
前記単位時間内の前記割り当て処理を実行したことに応じて、前記単位時間内の前記割り当て処理の対象となった各ジョブを実行するノードの数と、当該各ジョブを実行させる時間帯と、当該各ジョブを対象とする前記割り当て処理にかかった時間とを記憶し、
記憶した前記割り当て処理の対象となったジョブを実行するノードの数と、当該ジョブを実行させる時間帯と、前記割り当て処理にかかった時間とを参照して、前記各ノードから受け付けた前記割り当て処理を実行する依頼から特定される前記単位時間の後に実行する前記割り当て処理の対象となる各ジョブを実行するノードの数と、当該各ジョブを実行させる時間帯とに基づいて、当該各ジョブを対象とする前記割り当て処理にかかる時間を特定し、
特定した当該各ジョブを対象とする前記割り当て処理にかかる時間に基づいて、前記単位時間の後の単位時間に前記割り当て処理が可能なジョブの数を決定する、
ことを特徴とする付記２〜４のいずれか一つに記載の並列処理装置。
【０１８４】
（付記６）前記各ノードの間で、前記特定のノードから受け付けた前記権限情報を共有することを特徴とする付記１〜５のいずれか一つに記載の並列処理装置。
【０１８５】
（付記７）プロセッサとメモリとを有する３以上のノードを有する並列処理装置のジョブスケジューリング方法であって、
前記３以上のノードのうちのジョブを対象とする計算資源の割り当て処理を行う特定のノードが、
単位時間の前記特定のノードの資源を用いて前記単位時間に前記割り当て処理が可能なジョブの数に応じた数分の前記割り当て処理を依頼可能な権限を示す権限情報を、前記３以上のノードのうちのジョブの実行要求を受け付ける複数のノードの各ノードに割り当てて、割り当てた前記権限情報を前記各ノードに送信し、
前記各ノードが、
ジョブの実行要求を受け付けた場合、前記特定のノードから受け付けた前記権限情報が示す権限を消費して、当該ジョブを対象とする前記割り当て処理を実行する依頼を、前記特定のノードに送信する、
処理を実行することを特徴とするジョブスケジューリング方法。
【０１８６】
（付記８）プロセッサとメモリとを有する３以上のノードを有する並列処理装置のジョブスケジューリングプログラムであって、
前記３以上のノードのうちのノードに、
前記ノードが前記３以上のノードのうちのジョブを対象とする計算資源の割り当て処理を行う特定のノードであれば、単位時間の前記特定のノードの資源を用いて前記単位時間に前記割り当て処理が可能なジョブの数に応じた数分の前記割り当て処理を依頼可能な権限を示す権限情報を、前記３以上のノードのうちのジョブの実行要求を受け付ける複数のノードの各ノードに割り当てて、割り当てた前記権限情報を前記各ノードに送信し、
前記ノードが前記各ノードであれば、ジョブの実行要求を受け付けた場合、前記特定のノードから受け付けた前記権限情報が示す権限を消費して、当該ジョブを対象とする前記割り当て処理を実行する依頼を、前記特定のノードに送信する、
処理を実行させることを特徴とするジョブスケジューリングプログラム。
【符号の説明】
【０１８７】
１０１  並列処理装置
２００  ＨＰＣシステム
４００、４２０  制御部
４０１  計算資源割り当て管理部
４０２  チケット管理部
４０３  資源チケット配布数決定部
４０４  ＩＤチケット配布数決定部
４０５  資源チケット送信部
４０６  ＩＤチケット送信部
４１０  記憶部
４１１  処理時間管理表
４１２  資源チケット使用実績管理表
４１３  ＩＤチケット使用実績管理表
４１４  資源チケット補充表
４１５  ＩＤチケット補充表
４２１  受け付け部
４２２  チケット通信部
４２３  送信部
４２４  ジョブ状態ローカル管理部
４３１  ジョブ投入コマンド
４３２  ジョブ取消コマンド
４３３  ジョブ状態表示コマンド
【図１】
2018018171.tif 000003
【図２】
2018018171.tif 000004
【図３】
2018018171.tif 000005
【図４】
2018018171.tif 000006
【図５】
2018018171.tif 000007
【図６】
2018018171.tif 000008
【図７】
2018018171.tif 000009
【図８】
2018018171.tif 000010
【図９】
2018018171.tif 000011
【図１０】
2018018171.tif 000012
【図１１】
2018018171.tif 000013
【図１２】
2018018171.tif 000014
【図１３】
2018018171.tif 000015
【図１４】
2018018171.tif 000016
【図１５】
2018018171.tif 000017
【図１６】
2018018171.tif 000018
【図１７】
2018018171.tif 000019
【図１８】
2018018171.tif 000020
【図１９】
2018018171.tif 000021
【図２０】
2018018171.tif 000022
【図２１】
2018018171.tif 000023
【図２２】
2018018171.tif 000024
【図２３】
2018018171.tif 000025
【図２４】
2018018171.tif 000026
【図２５】
2018018171.tif 000027
【図２６】
2018018171.tif 000028
【図２７】
2018018171.tif 000029
【図２８】
2018018171.tif 000030
【図２９】
2018018171.tif 000031
【図３０】
2018018171.tif 000032
【図３１】
2018018171.tif 000033
【図３２】
2018018171.tif 000034
【図３３】
2018018171.tif 000035
【図３４】
2018018171.tif 000036
【図３５】
2018018171.tif 000037
【図３６】
2018018171.tif 000038