JP5605131B2 - ジョブスケジューリングプログラム,方法,および装置 - Google Patents

ジョブスケジューリングプログラム,方法,および装置 Download PDF

Info

Publication number
JP5605131B2
JP5605131B2 JP2010216311A JP2010216311A JP5605131B2 JP 5605131 B2 JP5605131 B2 JP 5605131B2 JP 2010216311 A JP2010216311 A JP 2010216311A JP 2010216311 A JP2010216311 A JP 2010216311A JP 5605131 B2 JP5605131 B2 JP 5605131B2
Authority
JP
Japan
Prior art keywords
job
time
execution
resource
speculative
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.)
Expired - Fee Related
Application number
JP2010216311A
Other languages
English (en)
Other versions
JP2012073690A (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 JP2010216311A priority Critical patent/JP5605131B2/ja
Publication of JP2012073690A publication Critical patent/JP2012073690A/ja
Application granted granted Critical
Publication of JP5605131B2 publication Critical patent/JP5605131B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

本発明は,計算資源(リソース)の使用量と予測実行時間とにもとづいてジョブ実行のスケジューリングを行うジョブスケジューリングプログラム,方法および装置に関する。
例えば,大規模計算機環境において多種多様な規模や属性を持つジョブを効率的に実行するために,ジョブスケジューリング装置(以下,ジョブスケジューラ)が利用される。
主にHPC(High Performance Computing)で利用されるジョブスケジューラでは,効率的にリソースを使用するために,バックフィルスケジューリングという処理手法を採用するものがある。
バックフィルスケジューリングは,FCFS(First Come First Served)スケジューリングにおけるリソース利用効率を改善するためのスケジューリング手法である。
FCFSスケジューリングでは,実行要求を受け付けた順で,ジョブにリソースを割り当てていく。したがって,使用リソース量が多いジョブ(大規模ジョブ),使用リソース量が少ないジョブの順でスケジューリングされていると,たとえ計算資源に空きが存在していて使用リソース量が少ないジョブであれば実行可能な状況であっても,先行する大規模ジョブ実行のために資源を確保するので,後続の使用リソース量が少ないジョブを実行させることができない。
バックフィルスケジューリングでは,大規模ジョブの開始時間までに終了すると見積もられているジョブ,すなわち,大規模ジョブの開始に影響を与えないジョブであれば,リソースに空きがあれば,順序を追い越して実行させ,リソースの有効活用を実現する。
また,並列処理システムにおいて,ジョブキューによりジョブ実行を管理する場合に,各ジョブのシステム資源要求量,待ち時間等に応じてジョブキュー内の優先度を設定し,実行中の非優先実行ジョブをスワップアウトの対象として,スワップアウトされたプロセッサを,実行待ちの優先ジョブを起動するために割り当て,可能な限り多くの実行待ちジョブに未処理のプロセッサを割り当てるようにする処理が知られている。
また,外部記憶装置上のスペース獲得要求を行うジョブの実行管理において,スペース獲得要求が,現在の空きスペースの大きさを超えるが,該空きスペースと一時ファイルの使用スペースとの合計を超えない場合に,その獲得要求をしたジョブを待ち状態にし,合計を超える場合に,その獲得要求をしたジョブを終了させることにより,スペース不足による異常終了のケースを少なくする処理が知られている。
特開平8−16410号公報 特公平8−16869号公報
FCFSスケジューリング手法では,待機しているジョブを順番に処理して,ジョブの実行に必要な使用リソース量と予想実行時間とを確保できるところにジョブを割り当てる。
図7は,FCFSスケジューリング手法によるジョブ実行のスケジューリング例を示す図である。図7の縦軸はリソース量を,横軸は経過時間を表し,ジョブ実行に必要な使用リソース量と予想実行時間とを,矩形領域として示す。
図7(A)に示すように,ジョブ実行スケジューリングで,ジョブj1の次にジョブj2を割り当てるとする。次に,ジョブj3のジョブ実行をスケジューリングするとする。この場合に,図7(B)に示すように,ジョブj1のジョブ実行の間に,ジョブj3の使用リソース量と予想実行時間とを割り当てられる空きがあったとする。
しかし,FCFSスケジューリング手法では,現時点(現在時刻)で,ジョブj2の次のジョブj3を,この空き部分に割り当てることができず,ジョブj3のジョブ実行は,ジョブj2の後にスケジューリングされることになる。したがって,現在時刻で,ジョブj1の実行中の空きが無駄になってしまう。
これに対し,バックフィルスケジューリング手法では,リソースにジョブを実行するための空きがあった場合には,受け付けた順番にかかわらず,ジョブの使用リソース量と予想実行時間をもとにスケジューリングする。
図8は,バックフィルスケジューリング手法によるジョブ実行のスケジューリング例を示す図である。
バックフィルスケジューリング手法では,図8(A)に示すように,ジョブj2の後に受け付けたジョブj3を現在時刻に割り当てることができる。
しかし,バックフィルスケジューリング手法においても,ジョブの予想実行時間以上の空き時間がないと割当対象にならない。図8(B)に示すように,ジョブj3の次にジョブj4を受け付けた場合に,現在時刻のリソース量の空きがジョブj4のリソース使用量以上あるが,ジョブj4の予想実行時間taが,リソース量の空きが確保される時間(空き時間)tbよりも長いとする。この場合には,現在時刻のリソース量の空きをジョブj4に割り当てて利用することができず,ジョブj4は,ジョブj2の後にスケジューリングされてしまう。そのため,利用資源が有効活用できない状態が発生するという問題があった。
さらに,ジョブ実行が要求される際に指定される,ジョブ実行に必要なリソース量を示す使用リソース量と,ジョブ実行の所要時間として予想された予想実行時間とについて検討すると,ユーザによって指定された予想実行時間は,必ずしも正確な実行時間を示すものであるとは限らない。
一般的に,ジョブ実行を要求するユーザは,ジョブ実行の途中で終了されないように,長めの実行時間を設定することが考えられる。
本発明は,その一態様として,指定された使用リソース量は確保できるが予想実行時間より短い空き時間が存在する場合に,その空き時間を利用してジョブ実行を試みることにより,より効率的なリソース利用を可能にするスケジューリング処理を実行する装置を提供することを目的とする。
本発明の一態様として開示されるジョブスケジューリングプログラムは,憶部を有するコンピュータに,前記記憶部に記憶された,各ジョブが実行に要する使用リソース量および予想実行時間ならびに投機的実行の可否を示す投機ジョブ設定を含むジョブ情報において,新たにスケジューリングの対象となるジョブの投機ジョブ設定が投機的実行の許可を示す場合に,前記記憶部に記憶された,リソース割当により実行が予約された各ジョブのリソース量および割り当て時間を含むリソース予約情報から,前記対象となるジョブの使用リソース量が割り当て可能であるが予想実行時間に満たない長さの空き時間を検索する処理と,前記リソース予約情報に前記空き時間が存在する場合に,前記対象となるジョブの前記予想実行時間から所定の時間分を減じて短縮予想実行時間を算出する処理と,前記検索した空き時間から前記短縮予想実行時間以上の空き時間を1つ選択し,選択した第1の空き時間に前記対象となるジョブの実行を設定する処理とを,実行させるためのものである。
また,本発明の一態様として開示されるジョブスケジューリング方法は,コンピュータが実行する処理方法であって,上記のジョブスケジューリングプログラムにより実現される処理過程を備えるものである。
さらに,本発明の一態様として開示されるジョブスケジューリング装置は,上記のジョブスケジューリングプログラムにより実現される場合の処理を実行する処理部を備えるものである。
開示されるジョブスケジューリング装置によれば,ジョブ実行を保証しつつ,リソースが使用されない空き時間の利用を図り,リソースの効率的処理用を実現することができる。
発明の一実施形態として開示されるジョブスケジューリング装置の構成例を示す図である。 リソース予約情報の例を示す図である。 ジョブ情報の例を示す図である。 履歴情報の例を示す図である。 ジョブ実行スケジューリング処理の処理フロー例を示す図である。 ジョブ実行管理処理の処理フロー例を示す図である。 FCFSスケジューリング手法によるジョブ実行のスケジューリング例を示す図である。 バックフィルスケジューリング手法によるジョブ実行のスケジューリング例を示す図である。
図1は,発明の一実施形態として開示されるジョブスケジューリング装置の構成例を示す図である。
ジョブスケジューリング装置1は,ジョブ実行が要求されたジョブの使用リソース量をもとにスケジューリング処理を実行するものである。
ジョブスケジューリング装置1は,CPUおよびメモリ等を有するハードウェアと,ソフトウェアプログラムとを備えるコンピュータ・システム,または専用ハードウェアによって実現される。
(1)構成手段
ジョブスケジューリング装置1は,リソース予約情報記憶部10,ジョブ情報取得部11,リソース予約管理部12,ジョブ割当部13,ジョブ実行管理部14,履歴情報記憶部15を備える。
リソース予約情報記憶部10は,リソース予約情報を記憶する。
リソース予約情報は,ジョブ実行が行われるリソースに対するジョブの使用状況を示す情報である。
図2は,リソース予約情報の例を示す図である。
図2に示すリソース予約情報の例では,リソース予約情報がリスト構造で実施される場合であり,所定の時間間隔ごとに,ジョブで使用される使用リソース量(リソース量)または未使用を設定した配列が用意されて,時刻順にリストされる。
使用リソース量とは,ジョブ実行に必要な計算資源の量を示す値であり,例えば,CPU数,記憶装置(使用領域)数,ライセンス数などで示される。
リソース予約情報は,各時刻で使用リソース量をマップした2次元配列として実施されてもよい。
ジョブ情報取得部11は,スケジューリング対象となるジョブの使用リソース量および予想実行時間を取得する。
より詳しくは,ジョブ情報取得部11は,スケジューリング対象のジョブごとに,例えば,ユーザ名,ジョブ名,使用リソース量,予想実行時間を取得し,ジョブを一意に識別する情報(ID)を付与してジョブ情報を作成する。
図3は,ジョブ情報の例を示す図である。
ジョブ情報は,ID,ジョブ名,ユーザ名,使用リソース量,予想実行時間,投機ジョブを含む。
図3に示すジョブ情報の例では,使用リソース量はCPU数,予想実行時間は時間単位(H)であり,ID=100のジョブは,実行に,16のCPUが必要かつ,8時間(H)の実行時間が予想されていることを示す。
投機ジョブは,ジョブが投機ジョブか否かを表す設定である。“true”は投機ジョブであることを,“false”は投機ジョブの設定が禁止されていることを,“null”は,初期設定を示す。
投機ジョブは,ジョブ割当部13によって,ジョブ情報の投機ジョブに“true”が設定されているジョブ,すなわち,ユーザによって指定された予想実行時間未満の空き時間にジョブ実行が割り当てられているジョブを意味する。
ユーザによって投機ジョブの設定を禁止することが指定されている場合は,ジョブ情報取得部11は,ジョブ情報の投機ジョブに“false”を設定する。
リソース予約管理部12は,リソースに対するジョブの使用状況を管理する。
より詳しくは,リソース予約管理部12は,ジョブ割当部13によって,対象となるジョブの割当時間の開始時刻から,予想実行時間(割当時間)分,使用リソース量のリソースを割り当て,リソース予約情報に設定する。
また,リソース予約管理部12は,ジョブ情報の使用リソース量と予想実行時間とをもとに,リソース予約情報(図2に示すリソース予約情報のリスト)を辿って,そのジョブに割り当て可能な時間の開始時刻を検索し,必要リソースを確保できる時間帯(空き時間)を探す。そして,リソース予約管理部12は,検索した開始時刻をジョブ割当部13に通知する。
また,リソース予約管理部12は,リソース予約情報から,通知された開始時刻,実行時間,リソース量のリソースを解放する。
ジョブ割当部13は,対象となるジョブのジョブ情報をもとに,リソース予約情報を参照して,ジョブ実行のスケジューリングを行う。
より詳しくは,ジョブ割当部13は,ジョブ情報の投機ジョブが初期設定の場合に,検索された空き時間に,予想実行時間以上の長さを持つ空き時間T1があるかを調べる。さらに,ジョブ割当部13は,空き時間T1が現在時刻から所定の時間内に開始されるものであるかを調べる。空き時間T1が現在時刻から所定の時間内に開始されるものであれば,ジョブ割当部13は,その空き時間T1を割当時間として選択し,ジョブ情報に投機ジョブの設定は行わない。この場合,対象となるジョブは,従来と同様にスケジューリングされたことになる。
一方,ジョブ割当部13は,空き時間T1が現在時刻から所定の時間内に開始されるものでなければ,予想実行時間を短縮した短縮予想実行時間を計算する。ジョブ割当部13は,検索された空き時間に,短縮予想実行時間以上の長さである空き時間T2があるかを調べる。ここで,ジョブ割当部13は,検索された空き時間に,空き時間T2がなければ,短縮予想実行時間をさらに短縮してもよく,短縮予想実行時間の下限値を設定して,下限値を上回る範囲において短縮予想実行時間の計算を複数回繰り返してもよい。
そして,ジョブ割当部13は,空き時間T2があれば,空き時間T2が空き時間T1より前に開始されるものであるかを調べる。空き時間T2の開始が早ければ,ジョブ割当部13は,その空き時間T2を割当時間として選択し,ジョブ情報の投機ジョブに“true”を設定する。この場合に,対象となるジョブは,投機ジョブとされ,指定された予想実行時間より短い空き時間でのジョブ実行が試行されることになる。
また,ジョブ割当部13は,対象となるジョブに,投機ジョブの設定が禁止(ジョブ情報の投機ジョブに“false”が設定)されている場合には,検索された空き時間から,予想実行時間分のリソースを確保できる空き時間T3を検索して割当時間とする。
対象となるジョブのジョブ情報の投機ジョブに“false”が設定されていることは,ユーザによる投機ジョブの禁止が指定されているか,既に投機ジョブとしてスケジューリングされたがジョブ実行が完了できなかったことを示すため,ジョブ実行の確実性を保証するためである。
なお,短縮予想実行時間の計算処理および割当時間の選択処理の詳細は,後述する。
ジョブ実行管理部14は,リソース予約情報をもとに,スケジューリングされたジョブ実行の開始および終了を管理する。
より詳しくは,ジョブ実行管理部14は,リソース予約情報をもとに,リソースに割り当てられたジョブの実行開始および実行終了を監視し,ジョブ実行が割当時間内に完了しなかった場合には,ジョブ実行を強制的に終了し,リソース予約管理部12に通知する。
ジョブ実行管理部14は,強制終了させたジョブが投機ジョブ(投機ジョブ=“true”)であれば,ジョブ情報の投機ジョブを“false”に変更し,ジョブ割当部13に,スケジューリングの対象としてそのジョブを通知する。
一方,ジョブ実行管理部14は,ジョブ実行が割当時間内に完了した場合には,ジョブ実行に関する実行履歴を生成して,履歴情報記憶部15に記憶する。
図4は,実行履歴の例を示す図である。
実行履歴は,ユーザ名,ジョブ名,使用リソース量,ジョブ実行時間,ジョブ完了時刻を含む情報である。ユーザ名,ジョブ名,使用リソース量は,ジョブ情報にもとづく。ジョブ実行時間は,ジョブが実際に実行されていた時間であり,ジョブ完了時刻は,ジョブ実行が完了した時刻である。
図5は,ジョブ実行スケジューリング処理の処理フロー例を示す図である。
図5に示す処理フローでは,ジョブ情報取得部11により,スケジューリングの対象となるジョブのジョブ情報が生成されているとする(図3参照)。
ジョブスケジューリング装置1において,リソース予約管理部12は,リソース予約情報記憶部10を参照して,使用リソース量と予想実行時間とをもとに,使用リソース量を確保できる全ての空き時間を検索する。ジョブ割当部13は,検索された空き時間から,予想実行時間以上の長さである空き時間T1の開始時刻t1を検索する(ステップS1)。
ジョブ割当部13は,リソース予約管理部12から開始時刻t1を受け取り,開始時刻t1が現在時刻に近いかを調べる(ステップS2)。開始時刻t1が,現在時刻から所定時間以降である場合に(ステップS2のN),ジョブ割当部13は,そのジョブに投機ジョブの設定が禁止されているかを調べる(ステップS3)。
ジョブ情報の投機ジョブが“false”でなければ(ステップS3のN),ジョブ割当部13は,短縮予想実行時間の計算処理を実行する(ステップS4)。
リソース予約管理部12は,検索した空き時間から,短縮予想実行時間以上の空き時間の開始時刻t2を検索する(ステップS5)。
ジョブ割当部13は,リソース予約管理部12から開始時刻t2を受け取り,開始時刻t1より早い開始時刻t2があるかを調べる(ステップS6)。
開始時刻t1より早い開始時刻t2があれば(ステップS6のY),ジョブ割当部13は,ジョブ情報の投機ジョブに“true”を設定する(ステップS7)。ジョブ割当部13は,対象となるジョブのジョブ実行の開始時刻に開始時刻t2を,割当時間に短縮予想実行時間を,それぞれ設定して(ステップS8),ステップS11の処理へ進む。
開始時刻t1より早い開始時刻t2がなければ(ステップS6のN),ジョブ割当部13は,短縮予想実行時間が所定の下限値を下回らず,時間を減算できるか調べる(ステップS9)。短縮予想実行時間がさらに減算できれば(ステップS9のY),ジョブ割当部13は,ステップS3の処理へ戻り,さらに短縮予想実行時間を求める。
短縮予想実行時間が減算できなければ(ステップS9のN),ジョブ割当部13は,対象となるジョブのジョブ実行の開始時刻に開始時刻t1を設定し,割当時間に予想実行時間を,それぞれ設定して(ステップS10),ステップS11の処理へ進む。
また,開始時刻t1が現在時刻から所定の時間以内である場合(ステップS2のY),または,ジョブ情報の投機ジョブに“false”が設定されている場合(ステップS3のY)には,ジョブ割当部13は,ステップS10の処理へ進む。
その後,ステップS11で,リソース予約管理部12は,ジョブ割当部13から,対象となるジョブの開始時刻と割当時間を受け付けて,リソース予約情報の該当する開始時刻から割当時間分,使用リソース量に対応するリソースに,対象となるジョブを割り当てる。
ステップS4の短縮予想実行時間の計算処理として,ジョブ割当部13は,様々な処理を行うことができる。
例えば,ジョブ割当部13は,対象となるジョブの予想実行時間から減算する「所定の時間分」を,ユーザが予め指定できるようにしたり,予想実行時間に応じて減算する時間分/割合や,短縮予想実行時間の下限値を設定できるようにしてもよい。この場合に,ジョブ割当部13は,ユーザによって指定された,短縮可能時間分(時間数),短縮可能率(パーセント),下限値などの具体的数値を取得する。
また,ジョブ割当部13は,予想実行時間が短い(例えば,数時間など)の場合には,減算する時間分/割合を小さくし,予想実行時間が長い(例えば,数日など)の場合には,減算する時間分/割合を大きくして設定できるようにしてもよい。
さらに,ジョブ割当部13は,最初の計算処理では,減算の時間分/割合として大きな値を用い,2回目以降の計算処理では,漸次小さくした値を用いて減算してもよい。
さらに,ジョブ割当部13は,履歴情報記憶部15が設けられている場合に,実行履歴にもとづいて短縮予想実行時間を計算することができる。具体的には,ジョブ割当部13は,履歴情報記憶部15から,対象となるジョブと条件が一致するジョブとして,ユーザ名,ジョブ名,使用リソース量などが一致するジョブの実行履歴を抽出する。さらに,ジョブ割当部13は,一致するジョブの実行履歴のうち,ジョブ完了時刻が新しいものから任意の数(例えば,10個)の履歴を抽出してもよい。抽出した履歴を実行時間の小さい順に並べ,中央値を求め,これを短縮予想実行時間とする。あるいは,ジョブ割当部13は,実行履歴に記録されているジョブ実行時間の一定範囲(例えば10%など)の時間を,減算する時間分として定めて短縮予想実行時間を算出する。
または,ジョブ割当部13は,実行履歴に記録されているジョブ実行時間から,著しく短いジョブ実行時間を除外したうちの最短のジョブ実行時間,またはジョブ実行時間が2番目に短いジョブ実行時間などを,下限値として採用して,短縮予想実行時間を計算する。
または,ジョブ割当部13は,所定の時間分ずつ減算して,下限値までの範囲での短縮予想実行時間を複数計算し,検索された空き時間から,各短縮予想実行時間について,短縮予想実行時間以上の空き時間(割当時間となる時間)とその開始時刻との組合せを求めて,割当時間候補とする。そして,ジョブ割当部13は,求めた割当時間候補を時間順に並べた中から,時間が最長のもの,開始時刻が最も早いもの,または,時間と開始時刻とが中央値となるものを,割当時間として選択してもよい。
または,ジョブ割当部13は,検索された空き時間の開始時刻と現在時刻との時間差を計算して,この時間差が一定の値より小さい場合には,下限値にあまり近くない短縮予想実行時間で空き時間を選択し,この時間差が一定の値より大きい場合には,下限値に近い短縮予想実行時間で空き時間を選択してもよい。
また,ジョブ実行の割当時間の選択処理として,ジョブ割当部13は,様々な処理を行うことができる。
ジョブ割当部13は,対象となるジョブの投機ジョブが“false”以外であれば,予想実行時間未満の空き時間を常に選択してもよい。これにより,原則的に投機的なジョブ実行を試行して,リソースの利用効率を高めるスケジューリングを実現することができる。
また,ジョブ割当部13は,上述のように,予想実行時間以上の空き時間が,現在時刻より所定の時間内で開始される場合に,その予想実行時間以上の空き時間を選択してもよい。これにより,現在時点で,対象となるジョブがすぐに実行またはあまり待たずに実行できる場合には,予想実行時間以上の空き時間を選択して確実なジョブ実行を保証することができる。
さらに,ジョブ割当部13は,上記の現在時刻からの所定の時間を,ユーザが予め指定できるようにしてもよい。
また,ジョブ割当部13は,ジョブ実行の開始時刻を,ユーザが予め指定できるようにしてもよい。この場合に,ジョブ割当部13は,空き時間T1,T2,T3として,指定された開始時刻に最も近い開始時刻から開始する空き時間を選択する。
図6は,ジョブ実行管理処理の処理フロー例を示す図である。
ジョブスケジューリング装置1において,ジョブ実行管理部14は,リソース予約情報をもとに,開始時刻の到来により,ジョブの実行を開始し(ステップS20),ジョブ実行の完了を監視する(ステップS21)。
そして,ジョブ実行管理部14は,ジョブへの割当時間中にジョブ実行の完了があったかを調べ(ステップS22),ジョブ実行の完了を検出していない間(ステップS22のN),割当時間の終了を監視する(ステップS23)。
ジョブ実行管理部14は,割当時間の終了時にジョブが完了しているかを調べる(ステップS24)。ジョブ実行管理部14は,割当時間の終了時にジョブが完了していなければ(ステップS24のN),ジョブを強制終了し(ステップS25),リソース予約管理部12は,ジョブに割り当てていたリソースを解放する(ステップS26)。
さらに,ジョブ実行管理部14は,そのジョブが投機ジョブ(ジョブ情報の投機ジョブ=“true”)であるかを調べる(ステップS27)。そのジョブが投機ジョブであれば(ステップS27のY),ジョブ実行管理部14は,ジョブ情報の投機ジョブに“false”を設定して,ジョブ割当部13に,スケジューリングを要求し(ステップS28),そのジョブが投機ジョブでなければ(ステップS27のN),処理を終了する。
ジョブ実行管理部14は,ジョブへの割当時間の終了までにジョブ実行が完了している場合に(ステップS22のY,S24のY),ジョブの実行履歴を生成して,履歴情報記憶部15に保存する(ステップS29)。リソース予約管理部12は,ジョブに割り当てていたリソースを解放する(ステップS210)。
上記説明した処理を実行するジョブスケジューリング装置1は,演算装置(CPU),一時記憶装置(DRAM,フラッシュメモリ等)および永続性記憶装置(HDD,フラッシュメモリ等)を有し,外部とデータの入出力をするコンピュータによって実施することができる。
また,ジョブスケジューリング装置1は,このコンピュータが実行可能なプログラムによっても実施することができる。この場合に,ジョブスケジューリング装置1が有すべき機能の処理内容を記述したプログラムが提供される。提供されたプログラムを上記コンピュータが実行することによって,ジョブスケジューリング装置1の処理機能を実現する,ジョブ情報取得部11,リソース予約管理部12,ジョブ割当部13,ジョブ実行管理部14がコンピュータ上で実現される。
なお,上記コンピュータは,可搬型記録媒体から直接プログラムを読み取り,そのプログラムに従った処理を実行することもできる。さらに,上記プログラムは,コンピュータで読み取り可能な記録媒体に記録しておくことができる。
以上説明したように,ジョブスケジューリング装置1によれば,対象となるジョブの実行を,あまり待機させずに開始できる場合には,指定された予想実行時間分でリソースに割り当てられ,ジョブ実行が保証される。一方,対象となるジョブの実行の開始まで時間がかかる場合には,指定された予想実行時間を短縮した時間(短縮予想実行時間)分でリソースに割り当てられ,投機的なジョブ実行が試行される。
ユーザは予想実行時間を長めに指定する傾向にあり,指定された時間より短い時間でもジョブ実行が完了する場合もあることから,従来のバックフィルスケジューリング手法によるスケジューリング処理では不可能であった,ユーザにより指定された予想実行時間より前に開始かつ予想実行時間未満である空き時間を利用して,ジョブ実行をスケジューリングすることが可能となる。
以上説明したように,開示されたジョブスケジューリング装置によれば,ジョブの実行に必要なリソース量は確保できるが,予想実行時間より短い時間しか空いていないような状況においても,その空き時間にジョブを割り当てて実行を試みることができる。
さらに,開示されたジョブスケジューリング装置によれば,割り当てられた時間にジョブ実行が完了しなかった場合には,再度スケジューリングすることができる。
よって,開示されたジョブスケジューリング装置は,リソースをより効率的に使用できるジョブスケジューリングを提供することができる。
また,ユーザにとっては,予想実行時間より短い空き時間に割り当ててられたジョブが,その時間内に完了すれば,従来のスケジューリングよりも早くジョブ実行の結果を得られるという利点がある。
1 ジョブスケジューリング装置
10 リソース予約情報記憶部
11 ジョブ情報取得部
12 リソース予約管理部
13 ジョブ割当部
14 ジョブ実行管理部
15 履歴情報記憶部

Claims (8)

  1. 記憶部を有するコンピュータに,
    前記記憶部に記憶された,各ジョブが実行に要する使用リソース量および予想実行時間ならびに投機的実行の可否を示す投機ジョブ設定を含むジョブ情報において,新たにスケジューリングの対象となるジョブの投機ジョブ設定が投機的実行の許可を示す場合に,前記記憶部に記憶された,リソース割当により実行が予約された各ジョブのリソース量および割り当て時間を含むリソース予約情報から,前記対象となるジョブの使用リソース量が割り当て可能であるが予想実行時間に満たない長さの空き時間を検索する処理と,
    前記リソース予約情報に前記空き時間が存在する場合に,前記対象となるジョブの前記予想実行時間から所定の時間分を減じて短縮予想実行時間を算出する処理と,
    前記検索した空き時間から前記短縮予想実行時間以上の空き時間を1つ選択し,選択した第1の空き時間に前記対象となるジョブの実行を設定する処理とを,実行させる
    ためのジョブスケジューリングプログラム。
  2. 前記コンピュータに,
    前記対象となるジョブの実行が前記第1の空き時間内に完了しなかった場合に,前記ジョブ情報の前記対象となるジョブの投機ジョブ設定を投機的実行の不許可を示す設定に変更し,前記リソース予約情報から前記対象となるジョブの使用リソース量が割り当て可能かつ予想実行時間以上の長さの空き時間を検索して該対象となるジョブの実行を設定する処理を実行させる
    請求項1に記載のジョブスケジューリングプログラム。
  3. 前記コンピュータに,
    前記リソース予約情報において検索した空き時間から,前記対象となるジョブの予想実行時間以上の空き時間より前に開始しかつ前記短縮予想実行時間以上の空き時間を選択して前記第1の空き時間とする処理とを実行させる
    ための請求項1に記載のジョブスケジューリングプログラム。
  4. 前記ジョブ情報において前記対象となるジョブの実行の開始時刻が指定されている場合に,前記リソース予約情報において検索した空き時間から,前記指定された開始時刻から所定の時間以内に開始する空き時間を1つ選択して前記第1の空き時間とする処理を実行させる
    ための請求項1または請求項3に記載のジョブスケジューリングプログラム。
  5. 前記コンピュータに,
    前記ジョブの実行の開始時刻および終了時刻を含む実行履歴情報を取得して前記記憶部に記憶する処理と,
    前記短縮予想実行時間を,前記記憶部に記憶されている実行履歴情報のうち前記対象となるジョブと実行の条件が一致するジョブの実行履歴情報を用いて算出する処理とを実行させる
    ための請求項1または請求項3または請求項4のいずれか一項に記載のジョブスケジューリングプログラム。
  6. 前記記憶部から前記対象となるジョブと実行の条件が一致するジョブの実行履歴情報を任意数分抽出し,前記抽出した実行履歴情報をもとにジョブの実行時間の中央値を算出して前記短縮予想実行時間とする処理を実行させる
    ための請求項5に記載のジョブスケジューリングプログラム。
  7. 記憶部を有するコンピュータが,
    前記記憶部に記憶された,各ジョブが実行に要する使用リソース量および予想実行時間ならびに投機的実行の可否を示す投機ジョブ設定を含むジョブ情報において,新たにスケジューリングの対象となるジョブの投機ジョブ設定が投機的実行の許可を示す場合に,前記記憶部に記憶された,リソース割当により実行が予約された各ジョブのリソース量および割り当て時間を含むリソース予約情報から,前記対象となるジョブの使用リソース量が割り当て可能であるが予想実行時間に満たない長さの空き時間を検索する処理ステップと,
    前記リソース予約情報に前記空き時間が存在する場合に,前記対象となるジョブの前記予想実行時間から所定の時間分を減じて短縮予想実行時間を算出する処理ステップと,
    前記検索した空き時間から前記短縮予想実行時間以上の空き時間を1つ選択し,選択した第1の空き時間に前記対象となるジョブの実行を設定する処理ステップとを,実行する
    ことを特徴とするジョブスケジューリング方法。
  8. ジョブが実行に要する使用リソース量および予想実行時間ならびに投機的実行の可否を示す投機ジョブ設定を含むジョブ情報,および,リソース割当により実行が予約された各ジョブのリソース量および割り当て時間を含むリソース予約情報を記憶する記憶部と,
    新たにスケジューリングの対象となるジョブについて,前記ジョブ情報の投機ジョブ設定が投機的実行の許可を示す場合に,前記リソース予約情報から,前記対象となるジョブの使用リソース量が割り当て可能であるが予想実行時間に満たない長さの空き時間を検索する処理部と,
    前記リソース予約情報に前記空き時間が存在する場合に,前記対象となるジョブの前記予想実行時間から所定の時間分を減じて短縮予想実行時間を算出する処理部と,
    前記検索した空き時間から前記短縮予想実行時間以上の空き時間を1つ選択し,選択した第1の空き時間に前記対象となるジョブの実行を設定する処理部とを備える
    ことを特徴とするジョブスケジューリング装置。
JP2010216311A 2010-09-28 2010-09-28 ジョブスケジューリングプログラム,方法,および装置 Expired - Fee Related JP5605131B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010216311A JP5605131B2 (ja) 2010-09-28 2010-09-28 ジョブスケジューリングプログラム,方法,および装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010216311A JP5605131B2 (ja) 2010-09-28 2010-09-28 ジョブスケジューリングプログラム,方法,および装置

Publications (2)

Publication Number Publication Date
JP2012073690A JP2012073690A (ja) 2012-04-12
JP5605131B2 true JP5605131B2 (ja) 2014-10-15

Family

ID=46169823

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010216311A Expired - Fee Related JP5605131B2 (ja) 2010-09-28 2010-09-28 ジョブスケジューリングプログラム,方法,および装置

Country Status (1)

Country Link
JP (1) JP5605131B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6201530B2 (ja) 2013-08-30 2017-09-27 富士通株式会社 情報処理システム、ジョブ管理装置、ジョブ管理装置の制御プログラム、及び、情報処理システムの制御方法
JP6264803B2 (ja) 2013-09-24 2018-01-24 富士通株式会社 ジョブ抽出プログラム、ジョブ抽出装置、及びジョブ抽出方法
JP6387626B2 (ja) * 2014-03-04 2018-09-12 日本電気株式会社 情報処理システム、情報処理方法、および、スケジューリングプログラム
JP6364880B2 (ja) * 2014-03-31 2018-08-01 富士通株式会社 並列計算機システム,ジョブ管理装置の制御プログラム,及び並列計算機システムの制御方法
JP6540107B2 (ja) * 2015-03-09 2019-07-10 富士通株式会社 並列演算装置、並列演算システム、およびジョブ制御プログラム
JP6161130B2 (ja) * 2015-03-13 2017-07-12 国立大学法人東北大学 津波浸水予測システム、制御装置、津波浸水予測の提供方法及びプログラム
JP6683046B2 (ja) 2016-07-13 2020-04-15 富士通株式会社 並列処理装置、ジョブ管理方法、およびジョブ管理プログラム
CN112559182B (zh) * 2020-12-16 2024-04-09 北京百度网讯科技有限公司 资源分配方法、装置、设备及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008107875A (ja) * 2006-10-23 2008-05-08 Nec Corp ジョブ制御装置及びジョブ制御プログラム
JP2009151375A (ja) * 2007-12-18 2009-07-09 Toshiba Corp ジョブスケジューリング方法
JP2009230581A (ja) * 2008-03-24 2009-10-08 Nippon Telegr & Teleph Corp <Ntt> バッチジョブ制御システム、管理ノード、およびバッチジョブ制御方法
WO2010053169A1 (ja) * 2008-11-10 2010-05-14 日本電気株式会社 ジョブ実行システム、方法及びプログラム

Also Published As

Publication number Publication date
JP2012073690A (ja) 2012-04-12

Similar Documents

Publication Publication Date Title
JP5605131B2 (ja) ジョブスケジューリングプログラム,方法,および装置
Delgado et al. Job-aware scheduling in eagle: Divide and stick to your probes
US9858115B2 (en) Task scheduling method for dispatching tasks based on computing power of different processor cores in heterogeneous multi-core processor system and related non-transitory computer readable medium
US8458712B2 (en) System and method for multi-level preemption scheduling in high performance processing
US11055129B2 (en) Method, system, apparatus, and/or non-transitory computer readable medium for the scheduling of a plurality of operating system tasks on a multicore processor and/or multi-processor system
JP3678414B2 (ja) 多重プロセッサ・システム
US8397235B2 (en) User tolerance based scheduling method for aperiodic real-time tasks
US9448864B2 (en) Method and apparatus for processing message between processors
KR101686010B1 (ko) 실시간 멀티코어 시스템의 동기화 스케쥴링 장치 및 방법
Devi et al. Efficient synchronization under global EDF scheduling on multiprocessors
JP5347451B2 (ja) マルチプロセッサシステム、競合回避プログラム及び競合回避方法
US20080066070A1 (en) Method and system for the dynamic scheduling of jobs in a computing system
KR101640848B1 (ko) 멀티코어 시스템 상에서 단위 작업을 할당하는 방법 및 그 장치
US20150121387A1 (en) Task scheduling method for dispatching tasks based on computing power of different processor cores in heterogeneous multi-core system and related non-transitory computer readable medium
JP2010165259A (ja) 情報処理装置および情報処理方法
JPH0659906A (ja) 並列計算機の実行制御方法
US10089155B2 (en) Power aware work stealing
JP2011059777A (ja) タスクスケジューリング方法及びマルチコアシステム
KR20110075297A (ko) 병렬도를 고려한 병렬 처리 장치 및 방법
CN107346263B (zh) 任务执行方法、存储介质以及计算机设备
KR20120009907A (ko) 결정적 프로그레스 인덱스 기반 락 제어 및 스레드 스케줄링 방법 및 장치
JP2017041191A (ja) リソース管理装置、リソース管理プログラム、及びリソース管理方法
JP2005157955A (ja) 資源予約システムおよび資源予約方法および該方法を実行するためのプログラムが記録された記録媒体
JP2015148909A (ja) 並列計算機システム、並列計算機システムの制御方法及び管理ノードの制御プログラム
Kim et al. Using DVFS and task scheduling algorithms for a hard real-time heterogeneous multicore processor environment

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130702

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140304

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140507

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140527

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140707

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140811

R150 Certificate of patent or registration of utility model

Ref document number: 5605131

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees