JP2010186347A - System, method and program for scheduling job - Google Patents

System, method and program for scheduling job Download PDF

Info

Publication number
JP2010186347A
JP2010186347A JP2009030449A JP2009030449A JP2010186347A JP 2010186347 A JP2010186347 A JP 2010186347A JP 2009030449 A JP2009030449 A JP 2009030449A JP 2009030449 A JP2009030449 A JP 2009030449A JP 2010186347 A JP2010186347 A JP 2010186347A
Authority
JP
Japan
Prior art keywords
job
execution
class
multiplicity
jobs
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.)
Pending
Application number
JP2009030449A
Other languages
Japanese (ja)
Inventor
Tetsuya Teramachi
哲也 寺町
Hiroki Kiyomura
広樹 清村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Solution Innovators Ltd
Original Assignee
NEC Software Kyushu 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 NEC Software Kyushu Ltd filed Critical NEC Software Kyushu Ltd
Priority to JP2009030449A priority Critical patent/JP2010186347A/en
Publication of JP2010186347A publication Critical patent/JP2010186347A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide an efficient job scheduling system wherein priority order and a system load are considered. <P>SOLUTION: A job class table set with job execution multiplicity indicating the number of jobs simultaneously executable in each job class indicating execution priority of the job, a job execution management table for managing the job designated with the job class and having received an execution request, and job execution multiplicity of the whole system are made to be stored in a computer. The computer distinguishes the number of simultaneously executed jobs, selects the job having high execution priority from the execution waiting jobs registered in the job management table in a range not exceeding the job execution multiplicity of each job class and the whole system, and executes it. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、コンピュータシステムにおけるジョブのスケジューリングを行うジョブスケジューリングシステム、ジョブスケジューリング方法及びプログラムに関する。   The present invention relates to a job scheduling system, a job scheduling method, and a program that perform job scheduling in a computer system.

特許文献1にシステムの負荷状況に応じて、ジョブ入力キュー毎のジョブ実行多重度を変更するジョブスケジュール方式が開示されている。同文献によれば、システム負荷に応じてジョブ実行多重度を動的に変更することにより、システムの全体のスループット及び性能の向上と、システム管理者の負担軽減が実現できるとされている。   Japanese Patent Application Laid-Open No. 2004-228561 discloses a job schedule method for changing the job execution multiplicity for each job input queue according to the system load status. According to the document, it is possible to improve the overall throughput and performance of the system and reduce the burden on the system administrator by dynamically changing the job execution multiplicity according to the system load.

特開平5−173807号公報JP-A-5-173807

しかしながら、上記した特許文献1のジョブスケジュール方式では、ジョブ入力キューに投入(サブミット)された順番でジョブが実行されるため、緊急性のあるジョブを優先して実行することができないという問題点がある。   However, in the above-described job schedule method of Patent Document 1, since jobs are executed in the order of submission (submission) to the job input queue, there is a problem that urgent jobs cannot be executed preferentially. is there.

一方、優先度に基づいてジョブを実行していく方式では、システムにも思いがけない負荷を与えてしまう事態を避けるため、システム管理者が、ジョブの実行多重度等を調整する必要が生じてしまう。   On the other hand, with the method of executing jobs based on priority, it is necessary for the system administrator to adjust the execution multiplicity of the job in order to avoid an unexpected load on the system. .

本発明は、上記した事情に鑑みてなされたものであって、システム管理者に負担を掛けることなく、ジョブの優先度を考慮して、効率よくジョブを選択・実行することのできるジョブスケジューリングシステム、ジョブスケジューリング方法及びプログラムを提供することにある。   The present invention has been made in view of the above circumstances, and is a job scheduling system capable of efficiently selecting and executing a job in consideration of the priority of the job without placing a burden on the system administrator. Another object is to provide a job scheduling method and program.

本発明の第1の視点によれば、同時に実行しているジョブの数を判別する手段と、ジョブの実行優先度を示すジョブクラス毎に、同時に実行可能なジョブの数を示すジョブ実行多重度を設定したジョブクラステーブルと、前記ジョブクラスを指定して実行要求を受けたジョブを管理するジョブ実行管理テーブルと、システム全体のジョブ実行多重度とをそれぞれ記憶する手段と、を備え、前記ジョブ管理テーブルに登録された実行待ちジョブの中から、前記システム全体及びジョブクラス毎のジョブ実行多重度を超えない範囲で、実行優先度の高いジョブを選択して実行するジョブスケジューリングシステムが提供される。   According to the first aspect of the present invention, means for determining the number of jobs that are simultaneously executed, and job execution multiplicity indicating the number of jobs that can be executed simultaneously for each job class indicating job execution priority A job class table in which the job class is specified, a job execution management table for managing a job for which an execution request is received by specifying the job class, and a unit for storing the job execution multiplicity of the entire system. Provided is a job scheduling system that selects and executes a job with a high execution priority within a range that does not exceed the job execution multiplicity for the entire system and each job class from among the execution waiting jobs registered in the management table. .

本発明の第2の視点によれば、ジョブの実行優先度を示すジョブクラス毎に、同時に実行可能なジョブの数を示すジョブ実行多重度を設定したジョブクラステーブルと、前記ジョブクラスを指定して実行要求を受けたジョブを管理するジョブ実行管理テーブルと、システム全体のジョブ実行多重度とをそれぞれ記憶する工程と、同時に実行しているジョブの数を判別する工程と、前記ジョブ管理テーブルに登録された実行待ちジョブの中から、前記システム全体及びジョブクラス毎のジョブ実行多重度を超えない範囲で、実行優先度の高いジョブを選択して実行する工程と、を含むジョブスケジューリング方法が提供される。   According to the second aspect of the present invention, for each job class indicating a job execution priority, a job class table in which a job execution multiplicity indicating the number of jobs that can be executed simultaneously is set, and the job class is designated. A job execution management table for managing jobs that have received execution requests, a step of storing the job execution multiplicity of the entire system, a step of determining the number of jobs being executed simultaneously, and the job management table A job scheduling method comprising: selecting and executing a job having a high execution priority within a range not exceeding the job execution multiplicity for the entire system and job classes from registered execution waiting jobs. Is done.

本発明の第3の視点によれば、同時に実行しているジョブの数を判別する手段と、ジョブの実行優先度を示すジョブクラス毎に、同時に実行可能なジョブの数を示すジョブ実行多重度を設定したジョブクラステーブルと、前記ジョブクラスを指定して実行要求を受けたジョブを管理するジョブ実行管理テーブルと、システム全体のジョブ実行多重度とを参照して、前記ジョブ管理テーブルに登録された実行待ちジョブの中から、前記システム全体及びジョブクラス毎のジョブ実行多重度を超えない範囲で、実行優先度の高いジョブを選択して実行する手段と、の前記各手段としてコンピュータを機能させるジョブスケジューリングプログラムが提供される。   According to the third aspect of the present invention, a means for determining the number of jobs that are simultaneously executed, and a job execution multiplicity that indicates the number of jobs that can be executed simultaneously for each job class that indicates the job execution priority. Is registered in the job management table with reference to the job class table in which the job class is set, the job execution management table for managing the job that has received the execution request by specifying the job class, and the job execution multiplicity of the entire system. And a means for selecting and executing a job having a high execution priority within a range not exceeding the overall system and job execution multiplicity for each job class from among the waiting execution jobs. A job scheduling program is provided.

本発明によれば、システムのパフォーマンスを確保しつつ、優先したいジョブを先に動かすことが可能となる。また、上記実行するジョブの選択はジョブクラステーブルやシステム全体のジョブ実行多重度に基づいて自動的に行われるため、システム管理者に特段の操作を強いるようなこともない。   According to the present invention, it is possible to first move a job to be prioritized while ensuring system performance. In addition, since the selection of the job to be executed is automatically performed based on the job class table and the job execution multiplicity of the entire system, no special operation is imposed on the system administrator.

本発明の第1の実施形態の構成を示すブロック図である。It is a block diagram which shows the structure of the 1st Embodiment of this invention. ある時点のジョブ実行管理テーブルの例である。It is an example of a job execution management table at a certain point. ジョブクラステーブルの例である。It is an example of a job class table. ジョブ実行閾値の設定例である。It is an example of setting a job execution threshold. 本発明の第1の実施形態の動作を表したフローチャートである。It is a flowchart showing operation | movement of the 1st Embodiment of this invention. 本発明の具体的実施形態を説明するためのジョブ実行閾値である。It is a job execution threshold value for describing a specific embodiment of the present invention. 本発明の具体的実施形態を説明するためのジョブクラステーブルである。It is a job class table for demonstrating specific embodiment of this invention. 本発明の具体的実施形態におけるジョブ実行管理テーブルの遷移を説明するための図である。It is a figure for demonstrating the transition of the job execution management table in concrete embodiment of this invention. 本発明の具体的実施形態におけるジョブ実行管理テーブルの遷移を説明するための図である。It is a figure for demonstrating the transition of the job execution management table in concrete embodiment of this invention. 本発明の具体的実施形態におけるジョブ実行管理テーブルの遷移を説明するための図である。It is a figure for demonstrating the transition of the job execution management table in concrete embodiment of this invention. 本発明の具体的実施形態におけるジョブ実行管理テーブルの遷移を説明するための図である。It is a figure for demonstrating the transition of the job execution management table in concrete embodiment of this invention.

[第1の実施形態]
続いて、本発明の第1の実施形態について図面を参照して詳細に説明する。図1は、本発明の第1の実施形態の構成を示すブロック図である。図1を参照すると、ジョブスケジューリングプログラム1と、実行されている個プロセスのジョブ(実行ジョブ)2と、ジョブをサブミットする専用プログラム(ジョブサブミットプログラム)3と、ジョブ実行管理テーブル4と、ジョブクラステーブル5と、ジョブ実行閾値記憶手段6と、システム情報取得手段7とが、示されている。
[First Embodiment]
Next, a first embodiment of the present invention will be described in detail with reference to the drawings. FIG. 1 is a block diagram showing the configuration of the first exemplary embodiment of the present invention. Referring to FIG. 1, a job scheduling program 1, a job (execution job) 2 of an individual process being executed, a dedicated program (job submission program) 3 for submitting a job, a job execution management table 4, and a job class A table 5, job execution threshold value storage means 6, and system information acquisition means 7 are shown.

ジョブスケジューリングプログラム1は、ジョブクラステーブル5、ジョブ実行閾値記憶手段6に記憶された内容及びシステム情報取得手段7から入力されたシステム情報を参照して、ジョブ実行管理テーブル4に登録された実行待ちジョブの中から、後記する条件を満たすジョブを選択して別プロセスとして実行する動作を行う。ジョブスケジューリングプログラム1は、コンピュータ100のメモリに常駐しているプログラムであり、ジョブクラステーブル5やジョブ実行閾値記憶手段6が更新されると、直ちに、更新された設定を適用して動作することが可能となっている。   The job scheduling program 1 refers to the contents stored in the job class table 5, the job execution threshold storage unit 6 and the system information input from the system information acquisition unit 7, and waits for execution registered in the job execution management table 4. An operation that selects a job that satisfies the conditions described later from the jobs and executes it as a separate process is performed. The job scheduling program 1 is a program that is resident in the memory of the computer 100. When the job class table 5 or the job execution threshold storage unit 6 is updated, the job scheduling program 1 can be operated by applying the updated settings immediately. It is possible.

ジョブサブミットプログラム3は、ジョブ実行管理テーブル4に対して、ジョブクラスが指定されたジョブの実行情報を書き込むものである。   The job submission program 3 writes execution information of a job for which a job class is designated in the job execution management table 4.

ジョブ実行管理テーブル4は、ジョブクラスを指定して実行要求を受けたジョブを管理するために用いるテーブルである。図2は、ある時点のジョブ実行管理テーブル4の例である。図2を参照すると、ジョブクラス「1」が設定されたジョブ識別子Aのジョブと、ジョブクラス「2」が設定されたジョブ識別子Bのジョブとが、それぞれジョブ実行管理テーブル4に登録され、実行された状態となっている。ここでは、ジョブクラス「1」のジョブの方が、ジョブクラス「2」のジョブよりも実行優先度が高いものとする。   The job execution management table 4 is a table used for managing a job for which an execution request has been received by specifying a job class. FIG. 2 is an example of the job execution management table 4 at a certain point in time. Referring to FIG. 2, the job with job identifier A set with job class “1” and the job with job identifier B set with job class “2” are registered in the job execution management table 4 and executed. It has become a state. Here, it is assumed that the job class “1” has a higher execution priority than the job class “2”.

ジョブクラステーブル5は、ジョブクラスから、同時に実行可能なジョブの数を示すジョブ実行多重度等を求めるために用いるテーブルである。図3は、ジョブクラステーブル5の例である。図3の例では、各ジョブクラスに、当該ジョブクラスが許容する実行多重度、優先度、システム負荷考慮の有無、(実行)多重度の考慮の有無を設定することが可能となっている。   The job class table 5 is a table used for obtaining a job execution multiplicity indicating the number of jobs that can be executed simultaneously from the job class. FIG. 3 is an example of the job class table 5. In the example of FIG. 3, for each job class, it is possible to set execution multiplicity, priority, presence / absence of system load consideration, and presence / absence of (execution) multiplicity allowed by the job class.

なお、図3の例では、ジョブクラスをそのまま優先度として用いるのではなく、ジョブクラスの分布やその他の優先度情報による優先順位の計算を行う等を考慮して各ジョブクラスに適切な優先度を設定することが可能となっている。また、システム負荷考慮は、該当するジョブを実行するか否かを判断する際に、システムの負荷状況を考慮するか否かを示す(0=考慮しない/1=考慮する)。また、多重度考慮は、該当するジョブを実行するか否かを判断する際に、システム全体のジョブ多重度を考慮するか否かを示す(0=考慮しない/1=考慮する)。従って、図3の例では、ジョブクラス0は、最も優先度が高く、システム負荷やシステム全体のジョブ多重度に拘らず実行される最高優先順位のジョブとして取り扱われる。   In the example of FIG. 3, the job class is not used as it is as the priority, but an appropriate priority is assigned to each job class in consideration of the calculation of the priority based on the job class distribution and other priority information. Can be set. The system load consideration indicates whether or not to consider the system load status when determining whether or not to execute the corresponding job (0 = not considered / 1 = considered). The multiplicity consideration indicates whether or not to consider the multiplicity of the entire system when determining whether or not to execute the corresponding job (0 = not considered / 1 = considered). Therefore, in the example of FIG. 3, job class 0 has the highest priority and is treated as the highest priority job that is executed regardless of the system load and the job multiplicity of the entire system.

なお、図3のジョブクラス0の例では、システム負荷考慮=0(考慮しない)、多重度考慮=0(考慮しない)と設定し、ジョブクラス1以下の例では、システム負荷考慮=1(考慮する)、多重度考慮=1(考慮する)と設定されているが、特定のジョブクラスについて、システム負荷考慮、多重度考慮のいずれか一方を0(考慮しない)又は1(考慮する)と設定することも可能である。これにより、システムに柔軟性を持たせることが可能になる。   In the example of job class 0 in FIG. 3, system load consideration = 0 (not considered) and multiplicity consideration = 0 (not considered) are set. In the example of job class 1 and lower, system load consideration = 1 (considered) Yes), multiplicity consideration = 1 (considered) is set, but for a specific job class, either system load consideration or multiplicity consideration is set to 0 (not considered) or 1 (considered) It is also possible to do. This allows the system to be flexible.

ジョブ実行閾値記憶手段6には、該当するジョブを実行するか否かを判断する際に用いるシステム負荷やシステム全体のジョブ多重度の閾値が記憶される。ジョブ実行閾値記憶手段6は、ジョブスケジューリングプログラム1の設定ファイルに、これら閾値を記憶させることにより実現することができる。図4は、ジョブ実行閾値の例である。図4の例では、システム負荷閾値として、CPU負荷(%)、ロードアベレージ、物理メモリ使用量(%)、仮想メモリ使用量(%)、ディスク負荷(%)といった項目が設けられている。また、全体多重度は、システム全体のジョブ実行多重度の閾値を示す。例えば、システム負荷考慮有りで、CPU負荷が80%を超えている場合は、該当するジョブの実行が抑止される。同様に、(ジョブ実行)多重度考慮有りで、ジョブ実行多重度が15を超えている場合は、該当するジョブの実行が抑止される。   The job execution threshold value storage means 6 stores a system load used when determining whether or not to execute the corresponding job and a threshold value of job multiplicity of the entire system. The job execution threshold value storage means 6 can be realized by storing these threshold values in the setting file of the job scheduling program 1. FIG. 4 is an example of the job execution threshold. In the example of FIG. 4, items such as CPU load (%), load average, physical memory usage (%), virtual memory usage (%), and disk load (%) are provided as system load thresholds. The overall multiplicity indicates a threshold for job execution multiplicity of the entire system. For example, if the system load is taken into consideration and the CPU load exceeds 80%, the execution of the corresponding job is suppressed. Similarly, when (job execution) multiplicity is considered and the job execution multiplicity exceeds 15, execution of the corresponding job is suppressed.

システム情報取得手段7は、上記したCPU負荷、ロードアベレージ、物理メモリ使用量、仮想メモリ使用量、ディスク負荷といったシステム負荷状況や、同時に実行しているジョブの数を取得(判別)して、ジョブスケジューリングプログラム1に渡す手段である。具体的には、コンピュータ100に搭載されているOS(オペレーティングシステム)の該当する機能や専用プログラムにより実現することができる。   The system information acquisition means 7 acquires (discriminates) the system load status such as CPU load, load average, physical memory usage, virtual memory usage, disk load and the number of jobs being executed at the same time. Means for passing to the scheduling program 1. Specifically, it can be realized by a corresponding function of an OS (Operating System) installed in the computer 100 or a dedicated program.

続いて、本実施形態の動作について図面を参照して詳細に説明する。図5は、ジョブスケジューリングプログラム1により、所定の時間間隔で実行される処理を表したフローチャートである。   Next, the operation of this embodiment will be described in detail with reference to the drawings. FIG. 5 is a flowchart showing processing executed at predetermined time intervals by the job scheduling program 1.

図5を参照すると、コンピュータ100は、ジョブ実行管理テーブル4に、新規ジョブが登録されているか否かを確認する(ステップS1)。   Referring to FIG. 5, the computer 100 checks whether a new job is registered in the job execution management table 4 (step S1).

ジョブ実行管理テーブル4に、新規ジョブが登録されている場合は(ステップS1の「Yes」)、コンピュータ100は、ジョブ実行管理テーブル4から、優先度の最も高い実行待ちジョブを選択し、ジョブクラステーブル5から該当するジョブクラスのデータの読み込みを行う(ステップS2、S3)。   If a new job is registered in the job execution management table 4 (“Yes” in step S1), the computer 100 selects the job waiting for execution with the highest priority from the job execution management table 4, and sets the job class. Data of the corresponding job class is read from the table 5 (steps S2 and S3).

前記読み込んだジョブクラスが、最優先のジョブクラスの場合は、コンピュータ100は、即座にジョブ実行を行う(ステップS4の「Yes」)。   If the read job class is the highest priority job class, the computer 100 immediately executes the job (“Yes” in step S4).

前記読み込んだジョブクラスが、最優先のジョブクラス以外である場合(ステップS4の「No」)、コンピュータ100は、ジョブ実行閾値記憶手段6からジョブ実行閾値を読み出すとともに、システム情報取得手段7からシステム負荷状況や、同時に実行しているジョブの数を取得する(ステップS5)。   When the read job class is other than the highest priority job class (“No” in step S4), the computer 100 reads out the job execution threshold value from the job execution threshold value storage unit 6 and from the system information acquisition unit 7 to the system The load status and the number of jobs executed simultaneously are acquired (step S5).

次に、コンピュータ100は、ジョブクラステーブル5のシステム負荷考慮設定を確認した上で、読み出したシステム負荷状況が、ジョブ実行閾値に設定された各項目の閾値を上回っているか否かを確認する(ステップS6)。ここで、ジョブ実行閾値に設定された各項目の閾値を上回っている項目があれば、コンピュータ100は、該当するジョブを実行せずに、ステップS1に戻る(ステップS6の「No」)。   Next, after confirming the system load consideration setting in the job class table 5, the computer 100 confirms whether or not the read system load status exceeds the threshold of each item set as the job execution threshold ( Step S6). Here, if there is an item that exceeds the threshold value of each item set as the job execution threshold value, the computer 100 returns to step S1 without executing the corresponding job (“No” in step S6).

次に、コンピュータ100は、ジョブクラステーブル5の多重度考慮設定を確認した上で、同時に実行しているジョブの数が、ジョブ実行閾値に設定された全体多重度を上回っているか否かを確認する(ステップS7)。ここで、同時に実行しているジョブの数が全体多重度を上回っている場合、コンピュータ100は、該当するジョブを実行せずに、ステップS1に戻る(ステップS7の「No」)。   Next, the computer 100 confirms the multiplicity consideration setting in the job class table 5 and confirms whether or not the number of jobs being simultaneously executed exceeds the total multiplicity set in the job execution threshold. (Step S7). If the number of jobs being executed simultaneously exceeds the total multiplicity, the computer 100 returns to step S1 without executing the corresponding job (“No” in step S7).

次に、コンピュータ100は、ジョブ実行管理テーブル4に、より優先度の高いジョブが登録されていないこと、及び、同時に実行しているジョブの数がジョブクラステーブル5の該当ジョブクラスの実行多重度を上回っているか否かを確認する(ステップS8)。ここで、ジョブ実行管理テーブル4に、より優先度の高いジョブが登録されている場合や、同時に実行しているジョブの数が該当するジョブクラスの実行多重度を上回っている場合は、コンピュータ100は、該当するジョブを実行せずに、ステップS1に戻る(ステップS8の「No」)。   Next, the computer 100 confirms that no job with higher priority is registered in the job execution management table 4, and the number of jobs executed simultaneously is the execution multiplicity of the corresponding job class in the job class table 5. It is confirmed whether or not it exceeds (step S8). If a job having a higher priority is registered in the job execution management table 4 or if the number of jobs being executed simultaneously exceeds the execution multiplicity of the corresponding job class, the computer 100 Returns to step S1 without executing the corresponding job (“No” in step S8).

上記ステップS4で最優先のジョブクラスであることを確認できた場合、及び、上記ステップS6〜8のすべてのジョブ実行条件を満たすことが確認できた場合、コンピュータ100は、該当するジョブを、別プロセスとして実行する(ステップS9)。   If it can be confirmed in step S4 that the job class has the highest priority, and if all the job execution conditions in steps S6 to S8 are confirmed, the computer 100 classifies the corresponding job separately. The process is executed (step S9).

以上のように、本実施形態によれば、システム管理者の負担を増大させることなく、優先したいジョブを先に動かすことができる。また、本実施形態によれば、ジョブ運用の柔軟性も向上する。これらの効果が得られる理由は、各ジョブクラスの優先順位及びクラス毎の実行多重度を設定可能としたジョブクラステーブルを用意し、ジョブに付与されたジョブクラスを参照して、自動的にジョブを実行するか否かを判断するよう構成したことにある。   As described above, according to this embodiment, it is possible to move a job to be prioritized first without increasing the burden on the system administrator. Further, according to the present embodiment, the flexibility of job operation is also improved. The reason why these effects can be obtained is to prepare a job class table that can set the priority of each job class and the execution multiplicity for each class, and automatically refer to the job class assigned to the job Is configured to determine whether or not to execute.

また、本実施形態では、システム全体の負荷状態も監視項目に入れているため、システムのパフォーマンスを最適化することができる。   In the present embodiment, since the load state of the entire system is also included in the monitoring items, the system performance can be optimized.

[具体的実施態様1]
続いて、上記本発明の第1の実施形態の作用効果をより具体的に説明すべく、図6〜図11を用いて詳細に説明する。
[Specific Embodiment 1]
Subsequently, in order to more specifically describe the operation and effect of the first embodiment of the present invention, it will be described in detail with reference to FIGS.

図6は、ジョブ実行閾値の別の具体例である。図4に示したジョブ実行閾値との相違点は、全体多重度閾値が、説明を短くするため、4となっている点である。   FIG. 6 is another specific example of the job execution threshold. The difference from the job execution threshold value shown in FIG. 4 is that the overall multiplicity threshold value is 4 to shorten the description.

図7は、ジョブクラステーブルの別の具体例である。図3に示したジョブクラステーブルとの相違点は、ジョブクラスとして0〜9の10段階が設けられている点、優先度がジョブクラスと一致している点などである。   FIG. 7 is another specific example of the job class table. The difference from the job class table shown in FIG. 3 is that 10 levels of 0 to 9 are provided as job classes, and the priority is the same as the job class.

いま、図8に示すとおり、ジョブ実行管理テーブル4に、ジョブC、D、E、Fの4つ実行中のジョブが登録されている状態で、ジョブA、ジョブBの新規ジョブが登録されたものとする。   As shown in FIG. 8, new jobs A and B are registered in the job execution management table 4 with four jobs C, D, E, and F being registered. Shall.

コンピュータ100は、ジョブ実行管理テーブル4に登録されているジョブの中から、優先度の高いジョブAを選択し、ジョブクラステーブル5から該当するジョブクラス(0)のデータの読み込みを行う。   The computer 100 selects the job A having a high priority from the jobs registered in the job execution management table 4 and reads the data of the corresponding job class (0) from the job class table 5.

ジョブAは、最優先のジョブクラス(0)であるため、図9に示すとおり、システム負荷状況やシステム全体の実行多重度を考慮することなく即座に実行される。   Since job A is the highest priority job class (0), as shown in FIG. 9, the job A is immediately executed without considering the system load status and the execution multiplicity of the entire system.

次に、コンピュータ100は、ジョブ実行管理テーブル4に登録されているジョブの中から、ジョブBを選択し、ジョブクラステーブル5から該当するジョブクラス(3)のデータの読み込みを行う。   Next, the computer 100 selects the job B from the jobs registered in the job execution management table 4 and reads the data of the corresponding job class (3) from the job class table 5.

ジョブBは、最優先のジョブクラスでないため、コンピュータ100は、ジョブ実行閾値記憶手段6からジョブ実行閾値(CPU負荷閾値=80(%)、ロードアベレージ閾値=4、物理メモリ使用量閾値=80(%)、仮想メモリ使用量閾値=80(%)、ディスク負荷閾値=80(%)、全体多重度閾値=4)を読み出すとともに、システム情報取得手段7からシステム負荷状況等を取得する。   Since job B is not the highest-priority job class, the computer 100 stores the job execution threshold (CPU load threshold = 80 (%), load average threshold = 4, physical memory usage threshold = 80 ( %), Virtual memory usage threshold = 80 (%), disk load threshold = 80 (%), overall multiplicity threshold = 4), and system load status is acquired from the system information acquisition means 7.

ここでは、システム負荷状況が上述したジョブ実行閾値を上回っていないものとする。しかしながら、図9に示すとおり、同時に実行しているジョブの数がジョブC、D、E、F、Aの5つであり、システム全体の実行多重度閾値=4を上回っているため、ジョブBの実行は抑止される。   Here, it is assumed that the system load status does not exceed the above-described job execution threshold. However, as shown in FIG. 9, the number of jobs being executed simultaneously is five (jobs C, D, E, F, and A), which exceeds the execution multiplicity threshold = 4 of the entire system. Execution is suppressed.

所定の時間後に、図10に示すように、実行しているジョブC、Dが終了したものとする。これにより、図10に示すとおり、同時に実行しているジョブの数がジョブE、F、Aの3つとなり、ジョブ実行閾値により定められたジョブ実行条件を満たされることになった。   Assume that jobs C and D that are being executed are completed after a predetermined time, as shown in FIG. As a result, as shown in FIG. 10, the number of jobs executed simultaneously is three, jobs E, F, and A, and the job execution conditions determined by the job execution threshold are satisfied.

次に、コンピュータ100は、ジョブ実行管理テーブル4に、より優先度の高いジョブが登録されておらず、及び、同時に実行している該当ジョブクラスのジョブの数が1つ(ジョブE)であり、ジョブクラステーブル5の該当ジョブクラス(3)の実行多重度=2(図7参照)を上回っていないと判断する。   Next, the computer 100 has no job of higher priority registered in the job execution management table 4 and the number of jobs of the corresponding job class being executed simultaneously is one (job E). It is determined that the execution multiplicity of the job class (3) in the job class table 5 is not more than 2 (see FIG. 7).

以上の結果、コンピュータ100は、図11に示すとおり、ジョブBを別プロセスとして実行する。   As a result, the computer 100 executes the job B as a separate process as shown in FIG.

以上、本発明の好適な実施形態及びその具体的実施態様を説明したが、本発明は、上記した実施形態やその具体的実施態様に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。   The preferred embodiments of the present invention and specific embodiments thereof have been described above, but the present invention is not limited to the above-described embodiments and specific embodiments, and the basic technical idea of the present invention. Further modifications, substitutions and adjustments can be made without departing from the scope of the present invention.

例えば、図5に示したフローチャートのステップS6〜S8は、順序を変えることができる。また、図2〜図4、図6〜図11に例示したテーブルの項目の一部を省略したり、追加することもできる。例えば、図4、図6の例では、ディスク負荷閾値を用いているが、その他入出力の状態によるジョブ実行条件(閾値)を設けてもよい。   For example, the order of steps S6 to S8 in the flowchart shown in FIG. 5 can be changed. Also, some of the table items illustrated in FIGS. 2 to 4 and FIGS. 6 to 11 may be omitted or added. For example, although the disk load threshold is used in the examples of FIGS. 4 and 6, other job execution conditions (thresholds) depending on the input / output state may be provided.

また、例えば、同一や隣接するジョブクラスの新規ジョブが複数登録されている場合には、ジョブの実行見込時間やジョブの種類等のその他の優先度を求めるための情報を用いて、所定のスコア計算を行って、先に実行すべきジョブを決定するようにしてもよい。   Further, for example, when a plurality of new jobs of the same or adjacent job class are registered, a predetermined score is obtained using information for obtaining other priorities such as an estimated execution time of the job and a job type. Calculation may be performed to determine a job to be executed first.

1 ジョブスケジューリングプログラム
2 実行ジョブ
3 ジョブサブミットプログラム
4 ジョブ実行管理テーブル
5 ジョブクラステーブル
6 ジョブ実行閾値記憶手段
7 システム情報取得手段
100 コンピュータ
DESCRIPTION OF SYMBOLS 1 Job scheduling program 2 Execution job 3 Job submission program 4 Job execution management table 5 Job class table 6 Job execution threshold storage means 7 System information acquisition means 100 Computer

Claims (8)

同時に実行しているジョブの数を判別する手段と、
ジョブの実行優先度を示すジョブクラス毎に、同時に実行可能なジョブの数を示すジョブ実行多重度を設定したジョブクラステーブルと、前記ジョブクラスを指定して実行要求を受けたジョブを管理するジョブ実行管理テーブルと、システム全体のジョブ実行多重度とをそれぞれ記憶する手段と、を備え、
前記ジョブ管理テーブルに登録された実行待ちジョブの中から、前記システム全体及びジョブクラス毎のジョブ実行多重度を超えない範囲で、実行優先度の高いジョブを選択して実行するジョブスケジューリングシステム。
A means of determining the number of jobs running simultaneously;
For each job class that indicates the job execution priority, a job class table that sets a job execution multiplicity that indicates the number of jobs that can be executed simultaneously, and a job that manages the job that has received an execution request by specifying the job class Means for storing the execution management table and the job execution multiplicity of the entire system,
A job scheduling system that selects and executes a job with a high execution priority within a range that does not exceed the job execution multiplicity for the entire system and each job class from among the execution waiting jobs registered in the job management table.
更に、システムの負荷状況を監視する手段を備え、
システムの負荷が大きい場合は、ジョブ実行多重度を超えていない場合であっても、ジョブの実行を抑止する請求項1に記載のジョブスケジューリングシステム。
Furthermore, a means for monitoring the load status of the system is provided,
The job scheduling system according to claim 1, wherein when the system load is large, job execution is suppressed even when the job execution multiplicity is not exceeded.
ジョブクラス毎に、当該ジョブクラスのジョブの実行判断に、ジョブ実行多重度を用いるか否かを設定可能である請求項1又は2に記載のジョブスケジューリングシステム。   The job scheduling system according to claim 1 or 2, wherein for each job class, it is possible to set whether or not to use job execution multiplicity for job execution determination of the job class. ジョブクラス毎に、当該ジョブクラスのジョブの実行判断に、システムの負荷を用いるか否かを設定可能である請求項2又は3に記載のジョブスケジューリングシステム。   4. The job scheduling system according to claim 2 or 3, wherein for each job class, it is possible to set whether or not to use a system load for determining execution of a job of the job class. ジョブを実行するか否かの判定を行う度に、前記ジョブクラステーブルを読み出す請求項2から4いずれか一のジョブスケジューリングシステム。   The job scheduling system according to any one of claims 2 to 4, wherein the job class table is read each time a determination is made as to whether or not to execute a job. 前記システムの負荷状況として、CPU使用率、メモリ使用率、ロードアベレージ、入出力の状態のいずれか一以上の項目を監視する請求項2から5いずれか一のジョブスケジューリングシステム。   The job scheduling system according to any one of claims 2 to 5, wherein at least one of a CPU usage rate, a memory usage rate, a load average, and an input / output state is monitored as the load status of the system. ジョブの実行優先度を示すジョブクラス毎に、同時に実行可能なジョブの数を示すジョブ実行多重度を設定したジョブクラステーブルと、前記ジョブクラスを指定して実行要求を受けたジョブを管理するジョブ実行管理テーブルと、システム全体のジョブ実行多重度とをそれぞれ記憶する工程と、
同時に実行しているジョブの数を判別する工程と、
前記ジョブ管理テーブルに登録された実行待ちジョブの中から、前記システム全体及びジョブクラス毎のジョブ実行多重度を超えない範囲で、実行優先度の高いジョブを選択して実行する工程と、を含むジョブスケジューリング方法。
For each job class that indicates the job execution priority, a job class table that sets a job execution multiplicity that indicates the number of jobs that can be executed simultaneously, and a job that manages the job that has received an execution request by specifying the job class Storing each of the execution management table and the job execution multiplicity of the entire system;
Determining the number of jobs running simultaneously;
Selecting and executing a job having a high execution priority within a range not exceeding the job execution multiplicity for the entire system and each job class from among the execution waiting jobs registered in the job management table. Job scheduling method.
同時に実行しているジョブの数を判別する手段と、
ジョブの実行優先度を示すジョブクラス毎に、同時に実行可能なジョブの数を示すジョブ実行多重度を設定したジョブクラステーブルと、前記ジョブクラスを指定して実行要求を受けたジョブを管理するジョブ実行管理テーブルと、システム全体のジョブ実行多重度とを参照して、前記ジョブ管理テーブルに登録された実行待ちジョブの中から、前記システム全体及びジョブクラス毎のジョブ実行多重度を超えない範囲で、実行優先度の高いジョブを選択して実行する手段と、の前記各手段としてコンピュータを機能させるジョブスケジューリングプログラム。
A means of determining the number of jobs running simultaneously;
For each job class that indicates the job execution priority, a job class table that sets a job execution multiplicity that indicates the number of jobs that can be executed simultaneously, and a job that manages the job that has received an execution request by specifying the job class With reference to the execution management table and the job execution multiplicity of the entire system, the job execution multiplicity of the entire system and job class is not exceeded from among the execution waiting jobs registered in the job management table. A job scheduling program for causing a computer to function as each of the means.
JP2009030449A 2009-02-12 2009-02-12 System, method and program for scheduling job Pending JP2010186347A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009030449A JP2010186347A (en) 2009-02-12 2009-02-12 System, method and program for scheduling job

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009030449A JP2010186347A (en) 2009-02-12 2009-02-12 System, method and program for scheduling job

Publications (1)

Publication Number Publication Date
JP2010186347A true JP2010186347A (en) 2010-08-26

Family

ID=42766964

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009030449A Pending JP2010186347A (en) 2009-02-12 2009-02-12 System, method and program for scheduling job

Country Status (1)

Country Link
JP (1) JP2010186347A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014049112A (en) * 2012-08-29 2014-03-17 Fujitsu Ltd Information processing device, program, and job control method
US9658883B2 (en) 2013-08-30 2017-05-23 Fujitsu Limited Method and apparatus for controlling job schedule
JP2020024481A (en) * 2018-08-06 2020-02-13 京セラドキュメントソリューションズ株式会社 Processing execution system and processing execution program

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05197570A (en) * 1992-01-21 1993-08-06 Nec Software Kansai Ltd Dynamic scheduling device for job
JP2001195267A (en) * 2000-01-07 2001-07-19 Hitachi Ltd Control computer system and task control method
JP2001256207A (en) * 2000-03-08 2001-09-21 Mitsubishi Electric Corp Computer system and recording medium

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05197570A (en) * 1992-01-21 1993-08-06 Nec Software Kansai Ltd Dynamic scheduling device for job
JP2001195267A (en) * 2000-01-07 2001-07-19 Hitachi Ltd Control computer system and task control method
JP2001256207A (en) * 2000-03-08 2001-09-21 Mitsubishi Electric Corp Computer system and recording medium

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014049112A (en) * 2012-08-29 2014-03-17 Fujitsu Ltd Information processing device, program, and job control method
US9658883B2 (en) 2013-08-30 2017-05-23 Fujitsu Limited Method and apparatus for controlling job schedule
JP2020024481A (en) * 2018-08-06 2020-02-13 京セラドキュメントソリューションズ株式会社 Processing execution system and processing execution program
JP7128443B2 (en) 2018-08-06 2022-08-31 京セラドキュメントソリューションズ株式会社 Process execution system and process execution program

Similar Documents

Publication Publication Date Title
JP5324934B2 (en) Information processing apparatus and information processing method
US8424007B1 (en) Prioritizing tasks from virtual machines
JP5040773B2 (en) Memory buffer allocation device and program
KR101644800B1 (en) Computing system and method
JP5050601B2 (en) Resource allocation method for job, resource allocation method for job, and program
JP2007041720A (en) Job step execution program and job step execution method
KR101640848B1 (en) Job Allocation Method on Multi-core System and Apparatus thereof
US20140068613A1 (en) Non-transitory computer-readable storage medium, information processing apparatus and scheduling method
JP5803972B2 (en) Multi-core processor
JP2015194923A (en) Parallel computer system, control program of job management apparatus and control method of parallel computer system
Bok et al. An efficient MapReduce scheduling scheme for processing large multimedia data
US20150026694A1 (en) Method of processing information, storage medium, and information processing apparatus
US9128754B2 (en) Resource starvation management in a computer system
JP2010186347A (en) System, method and program for scheduling job
JP2011165105A (en) Input/output control device, and input/output control method
JP5444900B2 (en) Job execution management system, job execution management method, job execution management program
US9367361B2 (en) Information processing device, method for processing information, and non-transitory computer-readable recording medium having stored therein information processing program
EP3200083B1 (en) Resource scheduling method and related apparatus
JP6156379B2 (en) Scheduling apparatus and scheduling method
JP6285850B2 (en) Process migration method and cluster system
JP6826186B2 (en) Scheduling independent and dependent actions for processing
US9459916B2 (en) System and method for controlling execution of jobs performed by plural information processing devices
WO2007049543A1 (en) Calculating apparatus
WO2018198745A1 (en) Calculation resource management device, calculation resource management method, and computer-readable recording medium
JP2017068877A (en) Job net management system and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120112

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130417

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130423

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130813