[go: up one dir, main page]

JP2012073690A - Job scheduling program, method and device - Google Patents

Job scheduling program, method and device Download PDF

Info

Publication number
JP2012073690A
JP2012073690A JP2010216311A JP2010216311A JP2012073690A JP 2012073690 A JP2012073690 A JP 2012073690A JP 2010216311 A JP2010216311 A JP 2010216311A JP 2010216311 A JP2010216311 A JP 2010216311A JP 2012073690 A JP2012073690 A JP 2012073690A
Authority
JP
Japan
Prior art keywords
job
time
execution
scheduling
free
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
JP2010216311A
Other languages
Japanese (ja)
Other versions
JP5605131B2 (en
Inventor
Miyuki Ono
美由紀 小野
Yoshifumi Ujihashi
善史 宇治橋
Koichi Kumon
耕一 久門
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/en
Publication of JP2012073690A publication Critical patent/JP2012073690A/en
Application granted granted Critical
Publication of JP5605131B2 publication Critical patent/JP5605131B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

【課題】 ジョブスケジューリング装置で,リソースを効率的に使用したジョブ実行を実現することを目的とする。
【解決手段】 ジョブ情報取得部11は,ジョブの使用リソース量と予想実行時間とを得る。リソース予約管理部12は,スケジュールされたジョブのリソース使用状況を示すリソース予約情報から,対象ジョブの使用リソース量を確保できる空き時間を検索する。ジョブ割当部13は,検索された空き時間に,一定時間内に開始する予想実行時間分の空き時間T1がなければ,時間を短縮した短縮予想実行時間分の空き時間T2を検索し,空き時間T2が空き時間T1より早く開始される場合には,空き時間T2にジョブを割り当てる。ジョブ実行管理部14は,ジョブ実行の開始と終了を監視し,空き時間T2内でジョブ実行が完了しなかったときは,予想実行時間での再スケジューリングを行う。
【選択図】 図1
PROBLEM TO BE SOLVED: To realize job execution using resources efficiently in a job scheduling apparatus.
A job information acquisition unit obtains a used resource amount and an estimated execution time of a job. The resource reservation management unit 12 searches the resource reservation information indicating the resource usage status of the scheduled job for a free time in which the resource usage amount of the target job can be secured. If the searched free time does not have a free time T1 corresponding to the estimated execution time starting within a certain time, the job allocating unit 13 searches for a free time T2 corresponding to the shortened predicted execution time and reduces the free time. If T2 starts earlier than the idle time T1, a job is assigned to the idle time T2. The job execution management unit 14 monitors the start and end of job execution. If the job execution is not completed within the free time T2, the job execution management unit 14 performs rescheduling with the expected execution time.
[Selection] Figure 1

Description

本発明は,計算資源(リソース)の使用量と予測実行時間とにもとづいてジョブ実行のスケジューリングを行うジョブスケジューリングプログラム,方法および装置に関する。   The present invention relates to a job scheduling program, method, and apparatus for scheduling job execution based on the usage amount of a computing resource (resource) and an estimated execution time.

例えば,大規模計算機環境において多種多様な規模や属性を持つジョブを効率的に実行するために,ジョブスケジューリング装置(以下,ジョブスケジューラ)が利用される。   For example, a job scheduling device (hereinafter referred to as a job scheduler) is used to efficiently execute jobs having various sizes and attributes in a large-scale computer environment.

主にHPC(High Performance Computing)で利用されるジョブスケジューラでは,効率的にリソースを使用するために,バックフィルスケジューリングという処理手法を採用するものがある。   Some job schedulers mainly used in HPC (High Performance Computing) employ a processing method called backfill scheduling in order to use resources efficiently.

バックフィルスケジューリングは,FCFS(First Come First Served)スケジューリングにおけるリソース利用効率を改善するためのスケジューリング手法である。   Backfill scheduling is a scheduling technique for improving resource utilization efficiency in FCFS (First Come First Served) scheduling.

FCFSスケジューリングでは,実行要求を受け付けた順で,ジョブにリソースを割り当てていく。したがって,使用リソース量が多いジョブ(大規模ジョブ),使用リソース量が少ないジョブの順でスケジューリングされていると,たとえ計算資源に空きが存在していて使用リソース量が少ないジョブであれば実行可能な状況であっても,先行する大規模ジョブ実行のために資源を確保するので,後続の使用リソース量が少ないジョブを実行させることができない。   In FCFS scheduling, resources are allocated to jobs in the order in which execution requests are received. Therefore, if scheduling is performed in the order of jobs with a large amount of used resources (large-scale jobs) and jobs with a small amount of used resources, it is possible to execute jobs that have a small amount of used resources even if there are vacant computational resources. Even in such a situation, resources are secured for the execution of the preceding large-scale job, so that it is not possible to execute a job with a small amount of subsequent resource use.

バックフィルスケジューリングでは,大規模ジョブの開始時間までに終了すると見積もられているジョブ,すなわち,大規模ジョブの開始に影響を与えないジョブであれば,リソースに空きがあれば,順序を追い越して実行させ,リソースの有効活用を実現する。   In backfill scheduling, if a job is estimated to be completed by the start time of a large-scale job, that is, a job that does not affect the start of a large-scale job, if the resources are available, the order is overtaken. Run it to achieve effective use of resources.

また,並列処理システムにおいて,ジョブキューによりジョブ実行を管理する場合に,各ジョブのシステム資源要求量,待ち時間等に応じてジョブキュー内の優先度を設定し,実行中の非優先実行ジョブをスワップアウトの対象として,スワップアウトされたプロセッサを,実行待ちの優先ジョブを起動するために割り当て,可能な限り多くの実行待ちジョブに未処理のプロセッサを割り当てるようにする処理が知られている。   Also, in a parallel processing system, when job execution is managed by a job queue, the priority in the job queue is set according to the system resource request amount, waiting time, etc. of each job, and non-priority execution jobs being executed are set. As a swap-out target, a process is known in which a swapped-out processor is allocated to start a priority job waiting for execution, and an unprocessed processor is allocated to as many execution waiting jobs as possible.

また,外部記憶装置上のスペース獲得要求を行うジョブの実行管理において,スペース獲得要求が,現在の空きスペースの大きさを超えるが,該空きスペースと一時ファイルの使用スペースとの合計を超えない場合に,その獲得要求をしたジョブを待ち状態にし,合計を超える場合に,その獲得要求をしたジョブを終了させることにより,スペース不足による異常終了のケースを少なくする処理が知られている。   Also, in the execution management of a job that makes a space acquisition request on the external storage device, the space acquisition request exceeds the current free space size but does not exceed the total of the free space and the temporary file used space. In addition, there is known a process for reducing the number of cases of abnormal termination due to lack of space by putting the job that has requested the acquisition into a waiting state and terminating the job that has requested the acquisition when the total is exceeded.

特開平8−16410号公報JP-A-8-16410 特公平8−16869号公報Japanese Patent Publication No. 8-16869

FCFSスケジューリング手法では,待機しているジョブを順番に処理して,ジョブの実行に必要な使用リソース量と予想実行時間とを確保できるところにジョブを割り当てる。   In the FCFS scheduling method, waiting jobs are sequentially processed, and jobs are allocated to locations where the amount of resources used and the estimated execution time necessary for job execution can be secured.

図7は,FCFSスケジューリング手法によるジョブ実行のスケジューリング例を示す図である。図7の縦軸はリソース量を,横軸は経過時間を表し,ジョブ実行に必要な使用リソース量と予想実行時間とを,矩形領域として示す。   FIG. 7 is a diagram illustrating a scheduling example of job execution by the FCFS scheduling method. The vertical axis in FIG. 7 represents the resource amount, the horizontal axis represents the elapsed time, and the used resource amount necessary for job execution and the expected execution time are shown as rectangular areas.

図7(A)に示すように,ジョブ実行スケジューリングで,ジョブj1の次にジョブj2を割り当てるとする。次に,ジョブj3のジョブ実行をスケジューリングするとする。この場合に,図7(B)に示すように,ジョブj1のジョブ実行の間に,ジョブj3の使用リソース量と予想実行時間とを割り当てられる空きがあったとする。   As shown in FIG. 7A, assume that job j2 is assigned after job j1 in job execution scheduling. Next, assume that job execution of job j3 is scheduled. In this case, as shown in FIG. 7B, it is assumed that there is a free space in which the amount of resources used and the estimated execution time of job j3 can be allocated during job execution of job j1.

しかし,FCFSスケジューリング手法では,現時点(現在時刻)で,ジョブj2の次のジョブj3を,この空き部分に割り当てることができず,ジョブj3のジョブ実行は,ジョブj2の後にスケジューリングされることになる。したがって,現在時刻で,ジョブj1の実行中の空きが無駄になってしまう。   However, in the FCFS scheduling method, the job j3 next to the job j2 cannot be assigned to this empty portion at the present time (current time), and the job execution of the job j3 is scheduled after the job j2. . Therefore, the empty space during execution of job j1 is wasted at the current time.

これに対し,バックフィルスケジューリング手法では,リソースにジョブを実行するための空きがあった場合には,受け付けた順番にかかわらず,ジョブの使用リソース量と予想実行時間をもとにスケジューリングする。   On the other hand, in the backfill scheduling method, when there is a vacancy for executing a job in a resource, scheduling is performed based on the amount of resource used for the job and the expected execution time regardless of the order of acceptance.

図8は,バックフィルスケジューリング手法によるジョブ実行のスケジューリング例を示す図である。   FIG. 8 is a diagram illustrating a scheduling example of job execution by the backfill scheduling method.

バックフィルスケジューリング手法では,図8(A)に示すように,ジョブj2の後に受け付けたジョブj3を現在時刻に割り当てることができる。   In the backfill scheduling method, as shown in FIG. 8A, job j3 received after job j2 can be assigned to the current time.

しかし,バックフィルスケジューリング手法においても,ジョブの予想実行時間以上の空き時間がないと割当対象にならない。図8(B)に示すように,ジョブj3の次にジョブj4を受け付けた場合に,現在時刻のリソース量の空きがジョブj4のリソース使用量以上あるが,ジョブj4の予想実行時間taが,リソース量の空きが確保される時間(空き時間)tbよりも長いとする。この場合には,現在時刻のリソース量の空きをジョブj4に割り当てて利用することができず,ジョブj4は,ジョブj2の後にスケジューリングされてしまう。そのため,利用資源が有効活用できない状態が発生するという問題があった。   However, even in the backfill scheduling method, if the idle time is longer than the expected execution time of the job, it cannot be assigned. As shown in FIG. 8B, when job j4 is received next to job j3, the available resource amount at the current time is greater than or equal to the resource usage amount of job j4, but the expected execution time ta of job j4 is It is assumed that it is longer than the time (free time) tb in which the resource amount is secured. In this case, the available resource amount at the current time cannot be allocated and used for job j4, and job j4 is scheduled after job j2. For this reason, there is a problem in that the resources used cannot be effectively used.

さらに,ジョブ実行が要求される際に指定される,ジョブ実行に必要なリソース量を示す使用リソース量と,ジョブ実行の所要時間として予想された予想実行時間とについて検討すると,ユーザによって指定された予想実行時間は,必ずしも正確な実行時間を示すものであるとは限らない。   In addition, considering the amount of resource used that indicates the amount of resources required for job execution and the estimated execution time that is expected as the time required for job execution, specified when the job execution is requested, it was specified by the user. The expected execution time does not necessarily indicate an accurate execution time.

一般的に,ジョブ実行を要求するユーザは,ジョブ実行の途中で終了されないように,長めの実行時間を設定することが考えられる。   Generally, a user who requests job execution may set a longer execution time so that it is not terminated in the middle of job execution.

本発明は,その一態様として,指定された使用リソース量は確保できるが予想実行時間より短い空き時間が存在する場合に,その空き時間を利用してジョブ実行を試みることにより,より効率的なリソース利用を可能にするスケジューリング処理を実行する装置を提供することを目的とする。   As an aspect of the present invention, when a specified amount of used resources can be secured but there is a free time shorter than the expected execution time, the job execution is attempted more efficiently by using the free time. An object of the present invention is to provide an apparatus that executes a scheduling process that enables resource use.

本発明の一態様として開示されるジョブスケジューリングプログラムは,ジョブのリソース量と割当時間とを含むスケジューリング情報を記憶する記憶部を有するコンピュータに,前記記憶部から読み出した前記スケジューリング情報にもとづいて,新たにスケジューリングの対象となるジョブのリソース量のスケジューリングは可能であるが,予想実行時間に満たない空き時間を検索する処理と,前記空き時間が存在する場合に,前記対象となるジョブを該空き時間にスケジューリングする処理とを,実行させるためのものである。   A job scheduling program disclosed as one aspect of the present invention provides a computer having a storage unit for storing scheduling information including a job resource amount and an allocation time based on the scheduling information read from the storage unit. The resource amount of the job to be scheduled can be scheduled at the same time, but the process for searching for a free time that is less than the expected execution time and, if the free time exists, the target job is determined as the free time. This is for causing the scheduling process to be executed.

また,本発明の一態様として開示されるジョブスケジューリング方法は,コンピュータが実行する処理方法であって,上記のジョブスケジューリングプログラムにより実現される処理過程を備えるものである。   A job scheduling method disclosed as one aspect of the present invention is a processing method executed by a computer, and includes a processing process realized by the job scheduling program.

さらに,本発明の一態様として開示されるジョブスケジューリング装置は,上記のジョブスケジューリングプログラムにより実現される場合の処理を実行する処理部を備えるものである。   Furthermore, a job scheduling apparatus disclosed as one aspect of the present invention includes a processing unit that executes processing when realized by the job scheduling program.

開示されるジョブスケジューリング装置によれば,ジョブ実行を保証しつつ,リソースが使用されない空き時間の利用を図り,リソースの効率的処理用を実現することができる。   According to the disclosed job scheduling apparatus, it is possible to use the idle time during which resources are not used while guaranteeing job execution, and to realize efficient processing of resources.

発明の一実施形態として開示されるジョブスケジューリング装置の構成例を示す図である。It is a figure which shows the structural example of the job scheduling apparatus disclosed as one Embodiment of invention. リソース予約情報の例を示す図である。It is a figure which shows the example of resource reservation information. ジョブ情報の例を示す図である。It is a figure which shows the example of job information. 履歴情報の例を示す図である。It is a figure which shows the example of log | history information. ジョブ実行スケジューリング処理の処理フロー例を示す図である。It is a figure which shows the example of a processing flow of a job execution scheduling process. ジョブ実行管理処理の処理フロー例を示す図である。It is a figure which shows the example of a processing flow of a job execution management process. FCFSスケジューリング手法によるジョブ実行のスケジューリング例を示す図である。It is a figure which shows the example of a scheduling of the job execution by a FCFS scheduling method. バックフィルスケジューリング手法によるジョブ実行のスケジューリング例を示す図である。It is a figure which shows the example of a scheduling of the job execution by a backfill scheduling method.

図1は,発明の一実施形態として開示されるジョブスケジューリング装置の構成例を示す図である。   FIG. 1 is a diagram illustrating a configuration example of a job scheduling apparatus disclosed as an embodiment of the invention.

ジョブスケジューリング装置1は,ジョブ実行が要求されたジョブの使用リソース量をもとにスケジューリング処理を実行するものである。   The job scheduling apparatus 1 executes scheduling processing based on the used resource amount of a job for which job execution is requested.

ジョブスケジューリング装置1は,CPUおよびメモリ等を有するハードウェアと,ソフトウェアプログラムとを備えるコンピュータ・システム,または専用ハードウェアによって実現される。   The job scheduling apparatus 1 is realized by a computer system including hardware having a CPU, a memory, and the like, and a software program, or dedicated hardware.

(1)構成手段
ジョブスケジューリング装置1は,リソース予約情報記憶部10,ジョブ情報取得部11,リソース予約管理部12,ジョブ割当部13,ジョブ実行管理部14,履歴情報記憶部15を備える。
(1) Configuration Unit The job scheduling apparatus 1 includes a resource reservation information storage unit 10, a job information acquisition unit 11, a resource reservation management unit 12, a job allocation unit 13, a job execution management unit 14, and a history information storage unit 15.

リソース予約情報記憶部10は,リソース予約情報を記憶する。   The resource reservation information storage unit 10 stores resource reservation information.

リソース予約情報は,ジョブ実行が行われるリソースに対するジョブの使用状況を示す情報である。   The resource reservation information is information indicating the job usage status for the resource on which the job is executed.

図2は,リソース予約情報の例を示す図である。   FIG. 2 is a diagram illustrating an example of resource reservation information.

図2に示すリソース予約情報の例では,リソース予約情報がリスト構造で実施される場合であり,所定の時間間隔ごとに,ジョブで使用される使用リソース量(リソース量)または未使用を設定した配列が用意されて,時刻順にリストされる。   In the example of resource reservation information shown in FIG. 2, the resource reservation information is implemented in a list structure, and the used resource amount (resource amount) used in the job or unused is set for each predetermined time interval. An array is prepared and listed in chronological order.

使用リソース量とは,ジョブ実行に必要な計算資源の量を示す値であり,例えば,CPU数,記憶装置(使用領域)数,ライセンス数などで示される。   The used resource amount is a value indicating the amount of calculation resources necessary for job execution, and is indicated by, for example, the number of CPUs, the number of storage devices (used areas), the number of licenses, and the like.

リソース予約情報は,各時刻で使用リソース量をマップした2次元配列として実施されてもよい。   The resource reservation information may be implemented as a two-dimensional array in which used resource amounts are mapped at each time.

ジョブ情報取得部11は,スケジューリング対象となるジョブの使用リソース量および予想実行時間を取得する。   The job information acquisition unit 11 acquires the used resource amount and the estimated execution time of the job to be scheduled.

より詳しくは,ジョブ情報取得部11は,スケジューリング対象のジョブごとに,例えば,ユーザ名,ジョブ名,使用リソース量,予想実行時間を取得し,ジョブを一意に識別する情報(ID)を付与してジョブ情報を作成する。   More specifically, the job information acquisition unit 11 acquires, for example, a user name, job name, used resource amount, and estimated execution time for each job to be scheduled, and assigns information (ID) for uniquely identifying the job. Create job information.

図3は,ジョブ情報の例を示す図である。   FIG. 3 is a diagram illustrating an example of job information.

ジョブ情報は,ID,ジョブ名,ユーザ名,使用リソース量,予想実行時間,投機ジョブを含む。   The job information includes ID, job name, user name, used resource amount, expected execution time, and speculative job.

図3に示すジョブ情報の例では,使用リソース量はCPU数,予想実行時間は時間単位(H)であり,ID=100のジョブは,実行に,16のCPUが必要かつ,8時間(H)の実行時間が予想されていることを示す。   In the example of job information shown in FIG. 3, the amount of resources used is the number of CPUs, and the expected execution time is the time unit (H). A job with ID = 100 requires 16 CPUs for execution and requires 8 hours (H ) Execution time is expected.

投機ジョブは,ジョブが投機ジョブか否かを表す設定である。“true”は投機ジョブであることを,“false”は投機ジョブの設定が禁止されていることを,“null”は,初期設定を示す。   The speculative job is a setting that indicates whether the job is a speculative job. “True” indicates a speculative job, “false” indicates that speculative job setting is prohibited, and “null” indicates an initial setting.

投機ジョブは,ジョブ割当部13によって,ジョブ情報の投機ジョブに“true”が設定されているジョブ,すなわち,ユーザによって指定された予想実行時間未満の空き時間にジョブ実行が割り当てられているジョブを意味する。   The speculative job is a job in which “true” is set in the speculative job of the job information by the job allocation unit 13, that is, a job in which job execution is allocated in a free time less than the expected execution time specified by the user. means.

ユーザによって投機ジョブの設定を禁止することが指定されている場合は,ジョブ情報取得部11は,ジョブ情報の投機ジョブに“false”を設定する。   If the user specifies that the speculative job setting should be prohibited, the job information acquisition unit 11 sets “false” to the speculative job of the job information.

リソース予約管理部12は,リソースに対するジョブの使用状況を管理する。   The resource reservation management unit 12 manages the use status of jobs for resources.

より詳しくは,リソース予約管理部12は,ジョブ割当部13によって,対象となるジョブの割当時間の開始時刻から,予想実行時間(割当時間)分,使用リソース量のリソースを割り当て,リソース予約情報に設定する。   More specifically, the resource reservation management unit 12 allocates the resource of the used resource amount for the estimated execution time (allocation time) from the start time of the allocation time of the target job by the job allocation unit 13 and sets the resource reservation information. Set.

また,リソース予約管理部12は,ジョブ情報の使用リソース量と予想実行時間とをもとに,リソース予約情報(図2に示すリソース予約情報のリスト)を辿って,そのジョブに割り当て可能な時間の開始時刻を検索し,必要リソースを確保できる時間帯(空き時間)を探す。そして,リソース予約管理部12は,検索した開始時刻をジョブ割当部13に通知する。   Further, the resource reservation management unit 12 traces the resource reservation information (list of resource reservation information shown in FIG. 2) based on the used resource amount of the job information and the estimated execution time, and the time that can be allocated to the job. The start time is searched, and the time zone (free time) in which the necessary resources can be secured is searched. Then, the resource reservation management unit 12 notifies the job allocation unit 13 of the searched start time.

また,リソース予約管理部12は,リソース予約情報から,通知された開始時刻,実行時間,リソース量のリソースを解放する。   Also, the resource reservation management unit 12 releases the notified start time, execution time, and resource amount from the resource reservation information.

ジョブ割当部13は,対象となるジョブのジョブ情報をもとに,リソース予約情報を参照して,ジョブ実行のスケジューリングを行う。   The job allocation unit 13 schedules job execution by referring to the resource reservation information based on the job information of the target job.

より詳しくは,ジョブ割当部13は,ジョブ情報の投機ジョブが初期設定の場合に,検索された空き時間に,予想実行時間以上の長さを持つ空き時間T1があるかを調べる。さらに,ジョブ割当部13は,空き時間T1が現在時刻から所定の時間内に開始されるものであるかを調べる。空き時間T1が現在時刻から所定の時間内に開始されるものであれば,ジョブ割当部13は,その空き時間T1を割当時間として選択し,ジョブ情報に投機ジョブの設定は行わない。この場合,対象となるジョブは,従来と同様にスケジューリングされたことになる。   More specifically, when the speculative job in the job information is initially set, the job allocation unit 13 checks whether there is a free time T1 having a length longer than the expected execution time in the searched free time. Further, the job allocation unit 13 checks whether the idle time T1 starts within a predetermined time from the current time. If the idle time T1 starts within a predetermined time from the current time, the job allocation unit 13 selects the idle time T1 as the allocation time, and does not set a speculative job in the job information. In this case, the target job is scheduled as in the conventional case.

一方,ジョブ割当部13は,空き時間T1が現在時刻から所定の時間内に開始されるものでなければ,予想実行時間を短縮した短縮予想実行時間を計算する。ジョブ割当部13は,検索された空き時間に,短縮予想実行時間以上の長さである空き時間T2があるかを調べる。ここで,ジョブ割当部13は,検索された空き時間に,空き時間T2がなければ,短縮予想実行時間をさらに短縮してもよく,短縮予想実行時間の下限値を設定して,下限値を上回る範囲において短縮予想実行時間の計算を複数回繰り返してもよい。   On the other hand, if the free time T1 does not start within a predetermined time from the current time, the job allocation unit 13 calculates a shortened predicted execution time obtained by shortening the predicted execution time. The job allocation unit 13 checks whether or not the searched free time has a free time T2 that is longer than the estimated shortened execution time. Here, if there is no free time T2 in the searched free time, the job allocation unit 13 may further reduce the predicted shortened execution time, and sets a lower limit value for the predicted shortened execution time. The calculation of the shortened expected execution time may be repeated a plurality of times in the range exceeding the above.

そして,ジョブ割当部13は,空き時間T2があれば,空き時間T2が空き時間T1より前に開始されるものであるかを調べる。空き時間T2の開始が早ければ,ジョブ割当部13は,その空き時間T2を割当時間として選択し,ジョブ情報の投機ジョブに“true”を設定する。この場合に,対象となるジョブは,投機ジョブとされ,指定された予想実行時間より短い空き時間でのジョブ実行が試行されることになる。   Then, if there is a free time T2, the job allocation unit 13 checks whether the free time T2 is started before the free time T1. If the free time T2 starts early, the job allocation unit 13 selects the free time T2 as the allocation time, and sets “true” in the speculative job of the job information. In this case, the target job is a speculative job, and job execution is attempted in a free time shorter than the specified expected execution time.

また,ジョブ割当部13は,対象となるジョブに,投機ジョブの設定が禁止(ジョブ情報の投機ジョブに“false”が設定)されている場合には,検索された空き時間から,予想実行時間分のリソースを確保できる空き時間T3を検索して割当時間とする。   Further, when the speculative job setting is prohibited for the target job (“false” is set in the speculative job of the job information), the job allocation unit 13 calculates the estimated execution time from the searched free time. The free time T3 that can secure the resources for the remaining time is searched and assigned time.

対象となるジョブのジョブ情報の投機ジョブに“false”が設定されていることは,ユーザによる投機ジョブの禁止が指定されているか,既に投機ジョブとしてスケジューリングされたがジョブ実行が完了できなかったことを示すため,ジョブ実行の確実性を保証するためである。   If "false" is set for the speculative job in the job information of the target job, the user has specified that the speculative job is prohibited, or it has already been scheduled as a speculative job, but the job execution could not be completed This is to ensure the certainty of job execution.

なお,短縮予想実行時間の計算処理および割当時間の選択処理の詳細は,後述する。   Details of the calculation process of the shortened expected execution time and the allocation time selection process will be described later.

ジョブ実行管理部14は,リソース予約情報をもとに,スケジューリングされたジョブ実行の開始および終了を管理する。   The job execution management unit 14 manages the start and end of scheduled job execution based on the resource reservation information.

より詳しくは,ジョブ実行管理部14は,リソース予約情報をもとに,リソースに割り当てられたジョブの実行開始および実行終了を監視し,ジョブ実行が割当時間内に完了しなかった場合には,ジョブ実行を強制的に終了し,リソース予約管理部12に通知する。   More specifically, the job execution management unit 14 monitors the start and end of execution of the job assigned to the resource based on the resource reservation information. If the job execution is not completed within the assigned time, The job execution is forcibly terminated and the resource reservation management unit 12 is notified.

ジョブ実行管理部14は,強制終了させたジョブが投機ジョブ(投機ジョブ=“true”)であれば,ジョブ情報の投機ジョブを“false”に変更し,ジョブ割当部13に,スケジューリングの対象としてそのジョブを通知する。   If the job that has been forcibly terminated is a speculative job (speculative job = “true”), the job execution management unit 14 changes the speculative job in the job information to “false”, and the job allocation unit 13 sets the job as a scheduling target. Notify the job.

一方,ジョブ実行管理部14は,ジョブ実行が割当時間内に完了した場合には,ジョブ実行に関する実行履歴を生成して,履歴情報記憶部15に記憶する。   On the other hand, when the job execution is completed within the allocated time, the job execution management unit 14 generates an execution history related to job execution and stores it in the history information storage unit 15.

図4は,実行履歴の例を示す図である。   FIG. 4 is a diagram illustrating an example of an execution history.

実行履歴は,ユーザ名,ジョブ名,使用リソース量,ジョブ実行時間,ジョブ完了時刻を含む情報である。ユーザ名,ジョブ名,使用リソース量は,ジョブ情報にもとづく。ジョブ実行時間は,ジョブが実際に実行されていた時間であり,ジョブ完了時刻は,ジョブ実行が完了した時刻である。   The execution history is information including a user name, a job name, a used resource amount, a job execution time, and a job completion time. The user name, job name, and resource usage are based on job information. The job execution time is the time when the job is actually executed, and the job completion time is the time when job execution is completed.

図5は,ジョブ実行スケジューリング処理の処理フロー例を示す図である。   FIG. 5 is a diagram illustrating a processing flow example of job execution scheduling processing.

図5に示す処理フローでは,ジョブ情報取得部11により,スケジューリングの対象となるジョブのジョブ情報が生成されているとする(図3参照)。   In the processing flow shown in FIG. 5, it is assumed that job information acquisition unit 11 has generated job information of a job to be scheduled (see FIG. 3).

ジョブスケジューリング装置1において,リソース予約管理部12は,リソース予約情報記憶部10を参照して,使用リソース量と予想実行時間とをもとに,使用リソース量を確保できる全ての空き時間を検索する。ジョブ割当部13は,検索された空き時間から,予想実行時間以上の長さである空き時間T1の開始時刻t1を検索する(ステップS1)。   In the job scheduling apparatus 1, the resource reservation management unit 12 refers to the resource reservation information storage unit 10 and searches for all free times in which the used resource amount can be secured based on the used resource amount and the expected execution time. . The job allocation unit 13 searches the start time t1 of the free time T1, which is longer than the expected execution time, from the searched free time (step S1).

ジョブ割当部13は,リソース予約管理部12から開始時刻t1を受け取り,開始時刻t1が現在時刻に近いかを調べる(ステップS2)。開始時刻t1が,現在時刻から所定時間以降である場合に(ステップS2のN),ジョブ割当部13は,そのジョブに投機ジョブの設定が禁止されているかを調べる(ステップS3)。   The job allocation unit 13 receives the start time t1 from the resource reservation management unit 12, and checks whether the start time t1 is close to the current time (step S2). When the start time t1 is after a predetermined time from the current time (N in Step S2), the job allocation unit 13 checks whether the speculative job setting is prohibited for the job (Step S3).

ジョブ情報の投機ジョブが“false”でなければ(ステップS3のN),ジョブ割当部13は,短縮予想実行時間の計算処理を実行する(ステップS4)。   If the speculative job of the job information is not “false” (N in step S3), the job allocation unit 13 executes a calculation process of the shortened expected execution time (step S4).

リソース予約管理部12は,検索した空き時間から,短縮予想実行時間以上の空き時間の開始時刻t2を検索する(ステップS5)。   The resource reservation management unit 12 searches for the start time t2 of the free time that is equal to or longer than the estimated shortened execution time from the searched free time (step S5).

ジョブ割当部13は,リソース予約管理部12から開始時刻t2を受け取り,開始時刻t1より早い開始時刻t2があるかを調べる(ステップS6)。   The job allocation unit 13 receives the start time t2 from the resource reservation management unit 12, and checks whether there is a start time t2 earlier than the start time t1 (step S6).

開始時刻t1より早い開始時刻t2があれば(ステップS6のY),ジョブ割当部13は,ジョブ情報の投機ジョブに“true”を設定する(ステップS7)。ジョブ割当部13は,対象となるジョブのジョブ実行の開始時刻に開始時刻t2を,割当時間に短縮予想実行時間を,それぞれ設定して(ステップS8),ステップS11の処理へ進む。   If there is a start time t2 earlier than the start time t1 (Y in step S6), the job allocation unit 13 sets “true” in the speculative job of the job information (step S7). The job allocation unit 13 sets the start time t2 as the job execution start time of the target job and the shortened expected execution time as the allocation time (step S8), and proceeds to the process of step S11.

開始時刻t1より早い開始時刻t2がなければ(ステップS6のN),ジョブ割当部13は,短縮予想実行時間が所定の下限値を下回らず,時間を減算できるか調べる(ステップS9)。短縮予想実行時間がさらに減算できれば(ステップS9のY),ジョブ割当部13は,ステップS3の処理へ戻り,さらに短縮予想実行時間を求める。   If there is no start time t2 earlier than the start time t1 (N in step S6), the job allocation unit 13 checks whether the shortened expected execution time does not fall below a predetermined lower limit and the time can be subtracted (step S9). If the estimated shortened execution time can be further subtracted (Y in step S9), the job allocation unit 13 returns to the process of step S3 and further obtains a predicted shortened execution time.

短縮予想実行時間が減算できなければ(ステップS9のN),ジョブ割当部13は,対象となるジョブのジョブ実行の開始時刻に開始時刻t1を設定し,割当時間に予想実行時間を,それぞれ設定して(ステップS10),ステップS11の処理へ進む。   If the shortened expected execution time cannot be subtracted (N in step S9), the job allocation unit 13 sets the start time t1 as the job execution start time of the target job, and sets the expected execution time as the allocation time. (Step S10), the process proceeds to Step S11.

また,開始時刻t1が現在時刻から所定の時間以内である場合(ステップS2のY),または,ジョブ情報の投機ジョブに“false”が設定されている場合(ステップS3のY)には,ジョブ割当部13は,ステップS10の処理へ進む。   If the start time t1 is within a predetermined time from the current time (Y in step S2), or if “false” is set in the speculative job of the job information (Y in step S3), the job The allocation unit 13 proceeds to the process of step S10.

その後,ステップS11で,リソース予約管理部12は,ジョブ割当部13から,対象となるジョブの開始時刻と割当時間を受け付けて,リソース予約情報の該当する開始時刻から割当時間分,使用リソース量に対応するリソースに,対象となるジョブを割り当てる。   After that, in step S11, the resource reservation management unit 12 receives the start time and the allocation time of the target job from the job allocation unit 13, and changes the allocation time from the corresponding start time of the resource reservation information to the used resource amount. Assign the target job to the corresponding resource.

ステップS4の短縮予想実行時間の計算処理として,ジョブ割当部13は,様々な処理を行うことができる。   As the calculation process of the shortened estimated execution time in step S4, the job allocation unit 13 can perform various processes.

例えば,ジョブ割当部13は,対象となるジョブの予想実行時間から減算する「所定の時間分」を,ユーザが予め指定できるようにしたり,予想実行時間に応じて減算する時間分/割合や,短縮予想実行時間の下限値を設定できるようにしてもよい。この場合に,ジョブ割当部13は,ユーザによって指定された,短縮可能時間分(時間数),短縮可能率(パーセント),下限値などの具体的数値を取得する。   For example, the job allocation unit 13 enables the user to specify in advance a “predetermined amount of time” to be subtracted from the expected execution time of the target job, or a time portion / ratio to be subtracted according to the expected execution time, It may be possible to set a lower limit value of the shortened predicted execution time. In this case, the job allocation unit 13 acquires specific numerical values designated by the user, such as the shortenable time (number of hours), the shortenable rate (percent), and the lower limit value.

また,ジョブ割当部13は,予想実行時間が短い(例えば,数時間など)の場合には,減算する時間分/割合を小さくし,予想実行時間が長い(例えば,数日など)の場合には,減算する時間分/割合を大きくして設定できるようにしてもよい。   In addition, when the estimated execution time is short (for example, several hours), the job allocation unit 13 reduces the subtracted time / ratio, and when the estimated execution time is long (for example, several days). May be set by increasing the subtraction time / rate.

さらに,ジョブ割当部13は,最初の計算処理では,減算の時間分/割合として大きな値を用い,2回目以降の計算処理では,漸次小さくした値を用いて減算してもよい。   Further, the job allocation unit 13 may use a large value as the subtraction time / ratio in the first calculation process, and subtract using a gradually reduced value in the second and subsequent calculation processes.

さらに,ジョブ割当部13は,履歴情報記憶部15が設けられている場合に,実行履歴にもとづいて短縮予想実行時間を計算することができる。具体的には,ジョブ割当部13は,履歴情報記憶部15から,対象となるジョブと条件が一致するジョブとして,ユーザ名,ジョブ名,使用リソース量などが一致するジョブの実行履歴を抽出する。さらに,ジョブ割当部13は,一致するジョブの実行履歴のうち,ジョブ完了時刻が新しいものから任意の数(例えば,10個)の履歴を抽出してもよい。抽出した履歴を実行時間の小さい順に並べ,中央値を求め,これを短縮予想実行時間とする。あるいは,ジョブ割当部13は,実行履歴に記録されているジョブ実行時間の一定範囲(例えば10%など)の時間を,減算する時間分として定めて短縮予想実行時間を算出する。   Further, when the history information storage unit 15 is provided, the job allocation unit 13 can calculate the shortened estimated execution time based on the execution history. Specifically, the job allocation unit 13 extracts, from the history information storage unit 15, the execution history of a job that matches the user name, job name, amount of used resources, etc. as a job that matches the target job. . Furthermore, the job allocating unit 13 may extract an arbitrary number (for example, 10) of histories from the newest job completion time among execution histories of matching jobs. The extracted histories are arranged in ascending order of execution time, the median is obtained, and this is used as the shortened expected execution time. Alternatively, the job allocating unit 13 calculates a shortened predicted execution time by setting a time within a certain range (for example, 10%) of the job execution time recorded in the execution history as a time to be subtracted.

または,ジョブ割当部13は,実行履歴に記録されているジョブ実行時間から,著しく短いジョブ実行時間を除外したうちの最短のジョブ実行時間,またはジョブ実行時間が2番目に短いジョブ実行時間などを,下限値として採用して,短縮予想実行時間を計算する。   Alternatively, the job allocating unit 13 determines the shortest job execution time out of the job execution times recorded in the execution history, the shortest job execution time out of the job execution times, or the second shortest job execution time. , Adopted as the lower limit value to calculate the shortened expected execution time.

または,ジョブ割当部13は,所定の時間分ずつ減算して,下限値までの範囲での短縮予想実行時間を複数計算し,検索された空き時間から,各短縮予想実行時間について,短縮予想実行時間以上の空き時間(割当時間となる時間)とその開始時刻との組合せを求めて,割当時間候補とする。そして,ジョブ割当部13は,求めた割当時間候補を時間順に並べた中から,時間が最長のもの,開始時刻が最も早いもの,または,時間と開始時刻とが中央値となるものを,割当時間として選択してもよい。   Alternatively, the job allocation unit 13 subtracts a predetermined amount of time, calculates a plurality of predicted shortened execution times within the range up to the lower limit value, and shortens the predicted predicted execution time for each predicted shortened execution time from the searched free time. The combination of the free time (time that becomes the allocation time) and the start time is calculated as a candidate allocation time. Then, the job allocation unit 13 allocates the obtained allocation time candidates in the order of time, with the longest time, the earliest start time, or the median time and start time. You may choose as time.

または,ジョブ割当部13は,検索された空き時間の開始時刻と現在時刻との時間差を計算して,この時間差が一定の値より小さい場合には,下限値にあまり近くない短縮予想実行時間で空き時間を選択し,この時間差が一定の値より大きい場合には,下限値に近い短縮予想実行時間で空き時間を選択してもよい。   Alternatively, the job allocation unit 13 calculates the time difference between the start time of the searched free time and the current time, and if this time difference is smaller than a certain value, the job allocation unit 13 uses a shortened expected execution time that is not very close to the lower limit value. When an idle time is selected and this time difference is larger than a certain value, the idle time may be selected with a shortened predicted execution time close to the lower limit value.

また,ジョブ実行の割当時間の選択処理として,ジョブ割当部13は,様々な処理を行うことができる。   In addition, the job allocation unit 13 can perform various processes as the job execution allocation time selection process.

ジョブ割当部13は,対象となるジョブの投機ジョブが“false”以外であれば,予想実行時間未満の空き時間を常に選択してもよい。これにより,原則的に投機的なジョブ実行を試行して,リソースの利用効率を高めるスケジューリングを実現することができる。   If the speculative job of the target job is other than “false”, the job allocation unit 13 may always select a free time shorter than the expected execution time. As a result, in principle, speculative job execution can be tried and scheduling that improves resource utilization efficiency can be realized.

また,ジョブ割当部13は,上述のように,予想実行時間以上の空き時間が,現在時刻より所定の時間内で開始される場合に,その予想実行時間以上の空き時間を選択してもよい。これにより,現在時点で,対象となるジョブがすぐに実行またはあまり待たずに実行できる場合には,予想実行時間以上の空き時間を選択して確実なジョブ実行を保証することができる。   In addition, as described above, the job allocation unit 13 may select a free time that is equal to or greater than the expected execution time when a free time that is equal to or greater than the expected execution time is started within a predetermined time from the current time. . As a result, when the target job can be executed immediately or can be executed without much waiting at the present time point, it is possible to select a free time that is longer than the expected execution time to guarantee reliable job execution.

さらに,ジョブ割当部13は,上記の現在時刻からの所定の時間を,ユーザが予め指定できるようにしてもよい。   Furthermore, the job allocation unit 13 may allow the user to specify a predetermined time from the current time in advance.

また,ジョブ割当部13は,ジョブ実行の開始時刻を,ユーザが予め指定できるようにしてもよい。この場合に,ジョブ割当部13は,空き時間T1,T2,T3として,指定された開始時刻に最も近い開始時刻から開始する空き時間を選択する。   Further, the job allocation unit 13 may allow the user to specify the job execution start time in advance. In this case, the job allocation unit 13 selects a free time starting from the start time closest to the designated start time as the free times T1, T2, and T3.

図6は,ジョブ実行管理処理の処理フロー例を示す図である。   FIG. 6 is a diagram illustrating a processing flow example of the job execution management process.

ジョブスケジューリング装置1において,ジョブ実行管理部14は,リソース予約情報をもとに,開始時刻の到来により,ジョブの実行を開始し(ステップS20),ジョブ実行の完了を監視する(ステップS21)。   In the job scheduling apparatus 1, the job execution management unit 14 starts job execution when the start time arrives based on the resource reservation information (step S20), and monitors completion of job execution (step S21).

そして,ジョブ実行管理部14は,ジョブへの割当時間中にジョブ実行の完了があったかを調べ(ステップS22),ジョブ実行の完了を検出していない間(ステップS22のN),割当時間の終了を監視する(ステップS23)。   Then, the job execution management unit 14 checks whether or not the job execution has been completed during the allocation time to the job (step S22). While the completion of the job execution is not detected (N in step S22), the allocation time ends. Is monitored (step S23).

ジョブ実行管理部14は,割当時間の終了時にジョブが完了しているかを調べる(ステップS24)。ジョブ実行管理部14は,割当時間の終了時にジョブが完了していなければ(ステップS24のN),ジョブを強制終了し(ステップS25),リソース予約管理部12は,ジョブに割り当てていたリソースを解放する(ステップS26)。   The job execution management unit 14 checks whether the job is completed at the end of the allocated time (step S24). The job execution management unit 14 forcibly terminates the job (step S25) if the job is not completed at the end of the allocation time (N in step S24), and the resource reservation management unit 12 determines the resource allocated to the job. Release (step S26).

さらに,ジョブ実行管理部14は,そのジョブが投機ジョブ(ジョブ情報の投機ジョブ=“true”)であるかを調べる(ステップS27)。そのジョブが投機ジョブであれば(ステップS27のY),ジョブ実行管理部14は,ジョブ情報の投機ジョブに“false”を設定して,ジョブ割当部13に,スケジューリングを要求し(ステップS28),そのジョブが投機ジョブでなければ(ステップS27のN),処理を終了する。   Further, the job execution management unit 14 checks whether or not the job is a speculative job (speculative job = “true” in job information) (step S27). If the job is a speculative job (Y in step S27), the job execution management unit 14 sets “false” in the speculative job of the job information and requests the job allocation unit 13 for scheduling (step S28). If the job is not a speculative job (N in step S27), the process is terminated.

ジョブ実行管理部14は,ジョブへの割当時間の終了までにジョブ実行が完了している場合に(ステップS22のY,S24のY),ジョブの実行履歴を生成して,履歴情報記憶部15に保存する(ステップS29)。リソース予約管理部12は,ジョブに割り当てていたリソースを解放する(ステップS210)。   When the job execution has been completed by the end of the time allotted to the job (Y in step S22, Y in S24), the job execution management unit 14 generates a job execution history, and the history information storage unit 15 (Step S29). The resource reservation manager 12 releases the resources allocated to the job (step S210).

上記説明した処理を実行するジョブスケジューリング装置1は,演算装置(CPU),一時記憶装置(DRAM,フラッシュメモリ等)および永続性記憶装置(HDD,フラッシュメモリ等)を有し,外部とデータの入出力をするコンピュータによって実施することができる。   The job scheduling apparatus 1 for executing the above-described processing has an arithmetic unit (CPU), a temporary storage device (DRAM, flash memory, etc.), and a permanent storage device (HDD, flash memory, etc.). It can be implemented by a computer that outputs.

また,ジョブスケジューリング装置1は,このコンピュータが実行可能なプログラムによっても実施することができる。この場合に,ジョブスケジューリング装置1が有すべき機能の処理内容を記述したプログラムが提供される。提供されたプログラムを上記コンピュータが実行することによって,ジョブスケジューリング装置1の処理機能を実現する,ジョブ情報取得部11,リソース予約管理部12,ジョブ割当部13,ジョブ実行管理部14がコンピュータ上で実現される。   The job scheduling apparatus 1 can also be implemented by a program that can be executed by this computer. In this case, a program describing the processing contents of the functions that the job scheduling apparatus 1 should have is provided. When the provided program is executed by the computer, the job information acquisition unit 11, the resource reservation management unit 12, the job allocation unit 13, and the job execution management unit 14, which realize the processing function of the job scheduling apparatus 1, are executed on the computer. Realized.

なお,上記コンピュータは,可搬型記録媒体から直接プログラムを読み取り,そのプログラムに従った処理を実行することもできる。さらに,上記プログラムは,コンピュータで読み取り可能な記録媒体に記録しておくことができる。   The computer can also read a program directly from a portable recording medium and execute processing according to the program. Furthermore, the program can be recorded on a computer-readable recording medium.

以上説明したように,ジョブスケジューリング装置1によれば,対象となるジョブの実行を,あまり待機させずに開始できる場合には,指定された予想実行時間分でリソースに割り当てられ,ジョブ実行が保証される。一方,対象となるジョブの実行の開始まで時間がかかる場合には,指定された予想実行時間を短縮した時間(短縮予想実行時間)分でリソースに割り当てられ,投機的なジョブ実行が試行される。   As described above, according to the job scheduling apparatus 1, when the execution of the target job can be started without waiting too much, it is allocated to the resource for the specified expected execution time, and the job execution is guaranteed. Is done. On the other hand, if it takes a long time to start executing the target job, it will be allocated to the resource by the amount of time specified by shortening the specified expected execution time (shortened expected execution time), and speculative job execution will be attempted. .

ユーザは予想実行時間を長めに指定する傾向にあり,指定された時間より短い時間でもジョブ実行が完了する場合もあることから,従来のバックフィルスケジューリング手法によるスケジューリング処理では不可能であった,ユーザにより指定された予想実行時間より前に開始かつ予想実行時間未満である空き時間を利用して,ジョブ実行をスケジューリングすることが可能となる。   Users tend to specify a longer expected execution time, and job execution may be completed in a shorter time than the specified time. This is not possible with scheduling processing using the conventional backfill scheduling method. It is possible to schedule job execution by using a free time that is started before the expected execution time specified by, and is less than the expected execution time.

以上説明したように,開示されたジョブスケジューリング装置によれば,ジョブの実行に必要なリソース量は確保できるが,予想実行時間より短い時間しか空いていないような状況においても,その空き時間にジョブを割り当てて実行を試みることができる。   As described above, according to the disclosed job scheduling apparatus, the amount of resources necessary for job execution can be secured, but even in a situation where only a shorter time than the expected execution time is available, the job can be used in that idle time. Can be assigned and attempted to execute.

さらに,開示されたジョブスケジューリング装置によれば,割り当てられた時間にジョブ実行が完了しなかった場合には,再度スケジューリングすることができる。   Further, according to the disclosed job scheduling apparatus, if the job execution is not completed at the allocated time, it can be scheduled again.

よって,開示されたジョブスケジューリング装置は,リソースをより効率的に使用できるジョブスケジューリングを提供することができる。   Therefore, the disclosed job scheduling apparatus can provide job scheduling that can use resources more efficiently.

また,ユーザにとっては,予想実行時間より短い空き時間に割り当ててられたジョブが,その時間内に完了すれば,従来のスケジューリングよりも早くジョブ実行の結果を得られるという利点がある。   In addition, for the user, if a job assigned to a free time shorter than the expected execution time is completed within that time, the job execution result can be obtained earlier than the conventional scheduling.

1 ジョブスケジューリング装置
10 リソース予約情報記憶部
11 ジョブ情報取得部
12 リソース予約管理部
13 ジョブ割当部
14 ジョブ実行管理部
15 履歴情報記憶部
DESCRIPTION OF SYMBOLS 1 Job scheduling apparatus 10 Resource reservation information storage part 11 Job information acquisition part 12 Resource reservation management part 13 Job allocation part 14 Job execution management part 15 History information storage part

Claims (8)

ジョブのリソース量と割当時間とを含むスケジューリング情報を記憶する記憶部を有するコンピュータに,
前記記憶部から読み出した前記スケジューリング情報にもとづいて,新たにスケジューリングの対象となるジョブのリソース量のスケジューリングは可能であるが,予想実行時間に満たない空き時間を検索する処理と,
前記空き時間が存在する場合に,前記対象となるジョブを該空き時間にスケジューリングする処理とを,実行させる
ためのジョブスケジューリングプログラム。
A computer having a storage unit for storing scheduling information including a job resource amount and an allocation time,
Based on the scheduling information read from the storage unit, it is possible to schedule the resource amount of a job to be newly scheduled, but to search for a free time that is less than the expected execution time;
A job scheduling program for executing a process of scheduling the target job at the free time when the free time exists.
前記コンピュータに,
前記対象となるジョブが実行されて前記割当時間内に完了しなかった場合に,該対象となるジョブを再スケジューリングする処理を実行させる
請求項1記載のジョブスケジューリングプログラム。
In the computer,
The job scheduling program according to claim 1, wherein when the target job is executed and is not completed within the allocated time, processing for rescheduling the target job is executed.
前記コンピュータに,
前記スケジューリング情報にもとづいて,前記対象となるジョブの割当時間を検索する際に,前記対象となるジョブの予想実行時間を所定の時間分減じて短縮予想実行時間を算出する処理と,
前記検索した空き時間から,前記予想実行時間以上の空き時間より前に開始かつ前記短縮実行時間以上の空き時間を,前記対象となるジョブの割当時間として選択する処理とを実行させる
ための請求項1または請求項2に記載のジョブスケジューリングプログラム。
In the computer,
A process of calculating a shortened expected execution time by reducing the expected execution time of the target job by a predetermined time when searching for an allocation time of the target job based on the scheduling information;
A process for selecting, from the searched free time, a free time that starts before a free time that is equal to or greater than the estimated execution time and that is equal to or greater than the shortened execution time as an allocation time for the target job. The job scheduling program according to claim 1 or 2.
前記コンピュータが履歴情報記憶部を備え,
前記コンピュータに,前記リソースに割り当てられたジョブの実行の開始時刻および終了時刻を含む実行履歴を取得して,前記ジョブの実行の開始時刻および終了時刻を含む実行履歴を前記履歴情報記憶部に記憶する処理と,
前記対象となるジョブの短縮予想実行時間を算出する際に,前記対象となるジョブに関する前記実行履歴にもとづいて,前記短縮予想実行時間を算出する処理とを実行させる
ための請求項請求項3に記載のジョブスケジューリングプログラム。
The computer includes a history information storage unit,
An execution history including start time and end time of execution of a job assigned to the resource is acquired in the computer, and an execution history including start time and end time of execution of the job is stored in the history information storage unit Processing to
4. The process for calculating the predicted shortened execution time based on the execution history related to the target job when calculating the predicted shortened execution time of the target job. The job scheduling program described.
前記対象となるジョブの割当時間を検索する際に,前記対象となるジョブの開始時刻が指定されている場合に,前記開始時刻から所定の時間以内に開始する空き時間から,該ジョブの割当時間を選択する処理を実行させる
ための請求項3または請求項4のいずれか一項に記載のジョブスケジューリングプログラム。
When searching for the allocation time of the target job, if the start time of the target job is specified, the allocation time of the job is calculated from the free time starting within a predetermined time from the start time. The job scheduling program according to any one of claims 3 and 4, for executing a process of selecting the.
前記対象となるジョブの短縮予想実行時間を算出する際に,前記履歴情報記憶部から前記対象となるジョブに対応する任意数のジョブの実行履歴を抽出し,前記抽出した任意数のジョブの実行時間の中央値を前記短縮予想実行時間とする処理を実行させる
ための請求項3ないし請求項5のいずれか一項に記載のジョブスケジューリングプログラム。
When calculating the shortened estimated execution time of the target job, an execution history of an arbitrary number of jobs corresponding to the target job is extracted from the history information storage unit, and the execution of the extracted arbitrary number of jobs is performed The job scheduling program according to any one of claims 3 to 5, wherein a process for setting a median time as the shortened expected execution time is executed.
ジョブのリソース量と割当時間とを含むスケジューリング情報を記憶する記憶部を有するコンピュータが実行する,ジョブの実行をスケジューリングする処理方法であって,
前記記憶部から読み出した前記スケジューリング情報にもとづいて,新たにスケジューリングの対象となるジョブのリソース量のスケジューリングは可能であるが,予想実行時間に満たない空き時間を検索する処理ステップと,
前記空き時間が存在する場合に,前記対象となるジョブを該空き時間にスケジューリングする処理ステップとを備える
ことを特徴とするジョブスケジューリング方法。
A processing method for scheduling job execution, executed by a computer having a storage unit for storing scheduling information including job resource amount and allocation time,
Based on the scheduling information read from the storage unit, it is possible to schedule the resource amount of a job to be newly scheduled, but to search for a free time that is less than the expected execution time;
And a processing step of scheduling the target job to the free time when the free time exists.
ジョブの実行をスケジューリングする装置であって,
ジョブのリソース量と割当時間とを含むスケジューリング情報を記憶する記憶部と,
前記記憶部から読み出した前記スケジューリング情報にもとづいて,新たにスケジューリングの対象となるジョブのリソース量のスケジューリングは可能であるが,予想実行時間に満たない空き時間を検索する処理部と,
前記空き時間が存在する場合に,前記対象となるジョブを該空き時間にスケジューリングする処理部とを備える
ことを特徴とするジョブスケジューリング装置。
A device for scheduling job execution,
A storage unit for storing scheduling information including job resource amount and allocated time;
Based on the scheduling information read from the storage unit, it is possible to schedule a resource amount of a job to be newly scheduled, but a processing unit that searches for a free time that is less than the expected execution time;
A job scheduling apparatus comprising: a processing unit that schedules the target job at the free time when the free time exists.
JP2010216311A 2010-09-28 2010-09-28 Job scheduling program, method, and apparatus Expired - Fee Related JP5605131B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010216311A JP5605131B2 (en) 2010-09-28 2010-09-28 Job scheduling program, method, and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010216311A JP5605131B2 (en) 2010-09-28 2010-09-28 Job scheduling program, method, and apparatus

Publications (2)

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

Family

ID=46169823

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010216311A Expired - Fee Related JP5605131B2 (en) 2010-09-28 2010-09-28 Job scheduling program, method, and apparatus

Country Status (1)

Country Link
JP (1) JP5605131B2 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2843547A2 (en) 2013-08-30 2015-03-04 Fujitsu Limited Information processing system, job management apparatus, recording medium, and method
JP2015166961A (en) * 2014-03-04 2015-09-24 日本電気株式会社 Information processing system, information processing method, and scheduling program
US9176768B2 (en) 2013-09-24 2015-11-03 Fujitsu Limited Job extraction method, job extraction device, and job extraction system
JP2015194923A (en) * 2014-03-31 2015-11-05 富士通株式会社 Parallel computer system, control program of job management apparatus and control method of parallel computer system
JP2016167121A (en) * 2015-03-09 2016-09-15 富士通株式会社 Parallel calculation unit, parallel calculation system and job control program
JP2016170115A (en) * 2015-03-13 2016-09-23 国立大学法人東北大学 Tsunami flooding prediction system, controller, provision method for tsunami flooding prediction and program
US10423458B2 (en) 2016-07-13 2019-09-24 Fujitsu Limited Parallel processing system, method, and storage medium
CN112559182A (en) * 2020-12-16 2021-03-26 北京百度网讯科技有限公司 Resource allocation method, device, equipment and storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008107875A (en) * 2006-10-23 2008-05-08 Nec Corp Job control unit and job control program
JP2009151375A (en) * 2007-12-18 2009-07-09 Toshiba Corp Job scheduling method
JP2009230581A (en) * 2008-03-24 2009-10-08 Nippon Telegr & Teleph Corp <Ntt> Batch job control system, management node, and batch job control method
WO2010053169A1 (en) * 2008-11-10 2010-05-14 日本電気株式会社 Job execution system, method and program

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008107875A (en) * 2006-10-23 2008-05-08 Nec Corp Job control unit and job control program
JP2009151375A (en) * 2007-12-18 2009-07-09 Toshiba Corp Job scheduling method
JP2009230581A (en) * 2008-03-24 2009-10-08 Nippon Telegr & Teleph Corp <Ntt> Batch job control system, management node, and batch job control method
WO2010053169A1 (en) * 2008-11-10 2010-05-14 日本電気株式会社 Job execution system, method and program

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2843547A2 (en) 2013-08-30 2015-03-04 Fujitsu Limited Information processing system, job management apparatus, recording medium, and method
US9286107B2 (en) 2013-08-30 2016-03-15 Fujitsu Limited Information processing system for scheduling jobs, job management apparatus for scheduling jobs, program for scheduling jobs, and method for scheduling jobs
US9176768B2 (en) 2013-09-24 2015-11-03 Fujitsu Limited Job extraction method, job extraction device, and job extraction system
JP2015166961A (en) * 2014-03-04 2015-09-24 日本電気株式会社 Information processing system, information processing method, and scheduling program
JP2015194923A (en) * 2014-03-31 2015-11-05 富士通株式会社 Parallel computer system, control program of job management apparatus and control method of parallel computer system
JP2016167121A (en) * 2015-03-09 2016-09-15 富士通株式会社 Parallel calculation unit, parallel calculation system and job control program
JP2016170115A (en) * 2015-03-13 2016-09-23 国立大学法人東北大学 Tsunami flooding prediction system, controller, provision method for tsunami flooding prediction and program
US10423458B2 (en) 2016-07-13 2019-09-24 Fujitsu Limited Parallel processing system, method, and storage medium
CN112559182A (en) * 2020-12-16 2021-03-26 北京百度网讯科技有限公司 Resource allocation method, device, equipment and storage medium
CN112559182B (en) * 2020-12-16 2024-04-09 北京百度网讯科技有限公司 Resource allocation method, device, equipment and storage medium

Also Published As

Publication number Publication date
JP5605131B2 (en) 2014-10-15

Similar Documents

Publication Publication Date Title
JP5605131B2 (en) Job scheduling program, method, and apparatus
Delgado et al. Job-aware scheduling in eagle: Divide and stick to your probes
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
KR101686010B1 (en) Apparatus for fair scheduling of synchronization in realtime multi-core systems and method of the same
US8020161B2 (en) Method and system for the dynamic scheduling of a stream of computing jobs based on priority and trigger threshold
JP3678414B2 (en) Multiprocessor system
US9448864B2 (en) Method and apparatus for processing message between processors
Liu et al. Suspension-aware analysis for hard real-time multiprocessor scheduling
KR101640848B1 (en) Job Allocation Method on Multi-core System and Apparatus thereof
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
US20090276781A1 (en) System and method for multi-level preemption scheduling in high performance processing
JP5347451B2 (en) Multiprocessor system, conflict avoidance program, and conflict avoidance method
US10089155B2 (en) Power aware work stealing
CN104021044A (en) Job scheduling method and device
JPH07141305A (en) Execution control method for parallel computers
JPH0659906A (en) Execution control method for parallel computers
KR20110075297A (en) Parallel Processing Unit and Method Considering Parallelism
CN106569891A (en) Method and device for carrying out task scheduling in storage system
JP2011059777A (en) Task scheduling method and multi-core system
CN107346263B (en) Task execution method, storage medium, and computer device
EP2613257B1 (en) Systems and methods for use in performing one or more tasks
KR20120009907A (en) Deterministic Progress Index Based Lock Control and Thread Scheduling Method and Apparatus
Zhou et al. Energy-efficient speculative execution using advanced reservation for heterogeneous clusters
CN110321212A (en) Multi-level fusion real-time scheduling method based on earliest Deadline First
Nemati et al. Multiprocessor synchronization and hierarchical scheduling

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