JP7014010B2 - Job execution management system and job execution management method - Google Patents
Job execution management system and job execution management method Download PDFInfo
- Publication number
- JP7014010B2 JP7014010B2 JP2018066353A JP2018066353A JP7014010B2 JP 7014010 B2 JP7014010 B2 JP 7014010B2 JP 2018066353 A JP2018066353 A JP 2018066353A JP 2018066353 A JP2018066353 A JP 2018066353A JP 7014010 B2 JP7014010 B2 JP 7014010B2
- Authority
- JP
- Japan
- Prior art keywords
- job
- execution
- queue
- time
- executed
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Description
本発明は、ジョブ実行管理システム、およびジョブ実行管理方法に関する。 The present invention relates to a job execution management system and a job execution management method.
運用管理分野において、ジョブの実行を管理するジョブ実行管理システムが知られている。ジョブとは、業務などのある目的のために定義された処理手続きのことである。また、ジョブは、例えば、UNIX(登録商標)におけるシェルスクリプトまたはWindows(登録商標)におけるバッチスクリプトで記述される、単一または連続的なプログラムのことである。ジョブ実行管理システムは、1つ以上のジョブの実行順序を示すジョブネットワークとそのバッチジョブを処理するためのプログラム群とを含む。 In the field of operation management, a job execution management system that manages job execution is known. A job is a processing procedure defined for a certain purpose such as business. A job is, for example, a single or continuous program described in a shell script in UNIX® or a batch script in Windows®. The job execution management system includes a job network indicating the execution order of one or more jobs and a group of programs for processing the batch job.
ジョブ実行管理システムは、一般的には、マネージャ装置が、ジョブの定義情報の管理およびジョブネットワークのフロー制御を実行し、エージェント装置に実際のジョブを実行させるシステムである。 The job execution management system is generally a system in which a manager device manages job definition information and controls the flow of a job network, and causes an agent device to execute an actual job.
ジョブを実行する場合、CPU(Central Processing Unit)、メモリ、およびディスク装置などの資源を消費するため、同時に実行できるジョブ数に制限を設け、資源への負荷がかからないようにする実行数制限が実行されている。この実行数制限には、キューが用いられることが多い。キューはいわゆる待ち行列のことであり、ジョブの実行投入速度と実行完了速度が異なる場合に発生する実行待ち状態を制御するための仕組みである。例えば、マネージャ装置から依頼のあったジョブをエージェント装置で実行する際にすでにそのエージェント装置上で他のジョブが実行されていると複数のジョブが同時に実行されることになるため、資源がひっ迫する虞がある。そこで、実行数制限は、同時に実行してもよいジョブの数を制限し、キューの中で順番待ちさせ、その順番が来たら実行させることで資源の枯渇を防いでいる。 When executing a job, resources such as CPU (Central Processing Unit), memory, and disk device are consumed. Therefore, the number of jobs that can be executed at the same time is limited, and the number of executions is limited so that the load on the resources is not applied. Has been done. Queues are often used to limit the number of executions. A queue is a so-called queue, and is a mechanism for controlling the execution wait state that occurs when the job execution input speed and the execution completion speed are different. For example, when a job requested by a manager device is executed on an agent device, if another job is already executed on the agent device, multiple jobs will be executed at the same time, which is resource-intensive. There is a risk. Therefore, the execution number limit limits the number of jobs that may be executed at the same time, waits in a queue, and executes the jobs when the turn comes, thereby preventing resource depletion.
しかしながら、CPUやメモリのように複数のジョブで共有可能な資源だけでなく、共有できない資源、換言すれば、いずれかのジョブにより占有される資源(以下、「排他資源」と呼ぶ)がある。排他資源は、例えば、印刷処理におけるプリンタ、データバックアップ処理におけるバックアップ先の領域やテープ装置、あるいは、地理的に離れた別のデータセンタ内にあるサーバへのデータ送信処理における巨大なデータの送信自体である。なお、巨大なデータの送信に関して、ネットワーク通信自体は共有可能であるが、巨大なデータの送信はネットワークをその送信期間中に実質的に占有することになるので、巨大なデータの送信は、排他資源と見なすことができる。他にも、ジョブの中で利用するアプリケーションの要件によっては排他資源の利用が必要なものがあり得る。 However, there are not only resources that can be shared by a plurality of jobs such as CPU and memory, but also resources that cannot be shared, in other words, resources that are occupied by any of the jobs (hereinafter referred to as "exclusive resources"). Exclusive resources are, for example, the transmission of huge data itself in the data transmission process to a printer in the print process, a backup destination area or tape device in the data backup process, or a server in another geographically distant data center. Is. Regarding the transmission of huge data, the network communication itself can be shared, but since the transmission of huge data substantially occupies the network during the transmission period, the transmission of huge data is exclusive. It can be regarded as a resource. In addition, depending on the requirements of the application used in the job, it may be necessary to use exclusive resources.
特許文献1には、タスク間での実行順序制御を行う場合に、余裕時間に基づいて実行スケジューリングを最適化する技術が記載される。余裕時間とは、共有資源の占有時間長が既知のタスクCが、実行開始予定時刻が決まっているタスクAと共有する資源を占有した場合、タスクCが資源を解放してからタスクAが実行開始されるまでの時間的な余裕を示すものである。
同一の排他資源を利用するジョブが同時に稼働しようとすると競合が発生し、どちらか一方のジョブは待ち合わせしなければならなくなる。このような待ち合わせは処理のボトルネックとなるため、ジョブネットワークのフロー全体の処理時間が伸びることに繋がる。そこで、ジョブ実行管理システムには、ジョブが排他資源をロックして利用できるようにするためのロック制御が必要となる。 If jobs that use the same exclusive resource try to run at the same time, a conflict will occur and one of the jobs will have to wait. Since such a meeting becomes a processing bottleneck, it leads to an increase in the processing time of the entire flow of the job network. Therefore, the job execution management system needs lock control so that the job can lock and use the exclusive resource.
なお、以降で説明するロック制御は、全て「待ち合わせ可能な排他ロック」であるとする。ロックを要求対象となる排他資源が既に他者にロックされていた場合、それを拒否するのではなく、ロックの順番待ち状態にして、順番が来たらロックさせる方式である。また、ロックの種類にはさらに「共有ロック」と「排他ロック」があるが、ここでは「排他ロック」を対象とする。よって、「待ち合わせ可能な排他ロック」が対象とされる。 It should be noted that all the lock controls described below are "exclusive locks that can be waited for". If the exclusive resource for which the lock is requested has already been locked by another person, instead of rejecting it, the lock is placed in a waiting state and locked when the turn comes. In addition, there are further types of locks, "shared lock" and "exclusive lock", but here, "exclusive lock" is targeted. Therefore, the "exclusive lock that can be met" is targeted.
既存のロック制御の例として、以下の第1~第3方式が挙げられる。 Examples of the existing lock control include the following first to third methods.
第1方式は、例えば、エージェント装置に対してあるジョブの実行依頼が行われ、そのジョブがキューイングされた時点で、すなわち、未だジョブが実行されていない時点でロックを獲得する方式である。第1方式の場合、キューの中での順番待ちの最中にロックが獲得できるため、ジョブの実行順が回ってきた段階で即座に排他資源を利用してそのジョブの実行を開始することができる。一方で、第1方式の場合、順番が回ってくるよりも前に排他資源をロックしてしまうため、先行してキューイングされているジョブの実行に時間がかかった場合、別のキューに存在する、すぐにでも実行可能な同一排他資源を利用したいジョブは、ロック待ちの状態となってしまう。 The first method is, for example, a method of acquiring a lock when an agent device is requested to execute a certain job and the job is queued, that is, when the job has not been executed yet. In the case of the first method, the lock can be acquired while waiting in the queue, so it is possible to immediately start the execution of the job by using the exclusive resource when the job execution order comes around. can. On the other hand, in the case of the first method, the exclusive resource is locked before the turn comes, so if it takes a long time to execute the previously queued job, it exists in another queue. Jobs that want to use the same exclusive resource that can be executed immediately will be in a lock wait state.
第2方式は、第1方式とは逆に、キューの中で順番待ちを行い、キューに空きができてジョブが実行できる状態になってから必要な排他資源をロックする方式である。第2方式では、第1方式のようなロック待ち状態は発生しない。しかしながら、すぐにロックが獲得できず待ち合わせしてしまうような場合、そのジョブはすぐに実行開始とはならない。また、そのジョブは既に実行状態になっているため、該当するキューの実行数の制限枠を浪費していることになってしまう。すなわち、第2方式の場合、ロック待ちだが実行されていないジョブが存在することにより、そのキューに並んでいる後続のジョブの実行が阻害されてしまうことがなる。 Contrary to the first method, the second method is a method of waiting in a queue and locking the necessary exclusive resources after the queue is free and the job can be executed. In the second method, the lock waiting state unlike the first method does not occur. However, if the lock cannot be acquired immediately and the job is waited for, the job does not start execution immediately. Moreover, since the job is already in the execution state, the limit frame for the number of executions of the corresponding queue is wasted. That is, in the case of the second method, the existence of a job waiting for a lock but not being executed may hinder the execution of subsequent jobs in the queue.
一方、第3方式は、実行順が回ってきた段階でロックを行う方式である。具体的には、第3方式は、ロックを所望するジョブがすぐにロックできなかった場合にロック要求したまま後続のジョブを先に実行させるとともに、当該ジョブに関してはキュー内の「次に実行順が回ってくる位置」を保つ方式である。第3方式において、ロックが獲得できるまで上記処理が繰り返し実行される。第3方式の場合、すぐにロックが出来ずロック待ちになってしまう場合には、後続ジョブに実行順を譲るので、それによって後続ジョブの実行が全て阻害されてしまうことはない。すなわち、第3方式によって、第2方式のデメリットは解消される。しかしながら、第3方式の場合、ロックを獲得したまま後続ジョブを先に実行させることになるので、先に実行させたジョブが長時間実行中となってしまうジョブであった場合、それによって第1方式の同様のデメリット(すなわち、ロック待ち)が発生してしまう虞がある。 On the other hand, the third method is a method of locking when the execution order has come. Specifically, in the third method, when the job desired to be locked cannot be locked immediately, the subsequent job is executed first with the lock requested, and the job is executed in the "next execution order" in the queue. It is a method to keep the "position where the wheel turns". In the third method, the above process is repeatedly executed until the lock can be acquired. In the case of the third method, if the lock cannot be performed immediately and the lock is waited for, the execution order is handed over to the succeeding job, so that the execution of all the succeeding jobs is not hindered. That is, the third method eliminates the demerits of the second method. However, in the case of the third method, the succeeding job is executed first while the lock is acquired. Therefore, if the previously executed job is a job that has been executed for a long time, the first job is performed accordingly. There is a risk that the same disadvantages of the method (that is, waiting for lock) will occur.
このように、既存のロック制御は、排他資源をロックするタイミングがそれぞれ異なるが、いずれも何らかの問題を有しており、いずれも最適な方式とは言い難い。 As described above, the existing lock controls have different timings for locking the exclusive resources, but they all have some problems, and it is hard to say that they are the optimum methods.
特許文献1において、タスクは「割り込み可能」が前提となっているが、排他資源を利用するジョブは割り込み不可である場合もある。従って、特許文献1の技術を、上記の如きジョブを管理するジョブ実行管理システムにそのまま適用させることはできない。
In
本発明は、上記課題を解決するためになされたものであり、排他資源を利用するジョブが複数ある場合であっても、排他資源のロック待ちを極力回避してジョブネットワーク全体の実行時間をより短くすることができる技術を提供することを目的とする。 The present invention has been made to solve the above problems, and even when there are a plurality of jobs that use the exclusive resource, the execution time of the entire job network is further reduced by avoiding the lock waiting of the exclusive resource as much as possible. The purpose is to provide technology that can be shortened.
本発明のジョブ実行管理システムは、ジョブを管理するマネージャ装置と、前記ジョブを実行する1以上のエージェント装置と、を備え、前記マネージャ装置は、前記エージェント装置のキューにキューイングされている全ての前記ジョブの中から、排他資源のロックが解放されてから最も早く前記排他資源の利用を開始することができる前記ジョブを特定して優先実行させ、前記エージェント装置は、前記排他資源を利用する前記ジョブが前記優先実行されることなく前記キューにて実行順を迎えた場合、前記ジョブの実行位置を、前記キューに空きができたら次に実行される位置に留め置き、先に後続の前記ジョブを実行させる。 The job execution management system of the present invention includes a manager device for managing jobs and one or more agent devices for executing the job, and the manager device is all queued in the queue of the agent device. From the jobs, the job that can start the use of the exclusive resource earliest after the lock of the exclusive resource is released is specified and preferentially executed, and the agent device uses the exclusive resource. When a job reaches the execution order in the queue without being preferentially executed, the execution position of the job is retained at the position where the job is executed next when the queue becomes free, and the subsequent job is first executed. Let it run.
本発明のジョブ実行管理方法は、ジョブを管理するマネージャ装置と、前記ジョブを実行する1以上のエージェント装置と、を備えるジョブ実行管理システムであって、前記マネージャ装置は、前記エージェント装置のキューにキューイングされている全ての前記ジョブの中から、排他資源のロックが解放されてから最も早く前記排他資源の利用を開始することができる前記ジョブを特定して優先実行させ、前記エージェント装置は、前記排他資源を利用する前記ジョブが前記優先実行されることなく前記キューにて実行順を迎えた場合、前記ジョブの実行位置を、前記キューに空きができたら次に実行される位置に留め置き、先に後続の前記ジョブを実行させることを特徴とする。 The job execution management method of the present invention is a job execution management system including a manager device for managing jobs and one or more agent devices for executing the job, and the manager device is placed in a queue of the agent device. From all the queued jobs, the job that can start the use of the exclusive resource earliest after the lock of the exclusive resource is released is specified and preferentially executed, and the agent device sets the agent device. When the job using the exclusive resource reaches the execution order in the queue without being preferentially executed, the execution position of the job is retained at the position where the job is executed next when the queue becomes free. It is characterized in that the subsequent job is executed first.
本発明によれば、排他資源を利用するジョブが複数ある場合であっても、排他資源のロック待ちを極力回避してジョブネットワーク全体の実行時間をより短くすることができる。 According to the present invention, even when there are a plurality of jobs that use the exclusive resource, it is possible to avoid waiting for the lock of the exclusive resource as much as possible and shorten the execution time of the entire job network.
[第1の実施形態]
(構成の説明)
図1は、本発明の第1の実施形態に係るジョブ実行管理システム100の構成例を示すブロック図である。
[First Embodiment]
(Explanation of configuration)
FIG. 1 is a block diagram showing a configuration example of the job
ジョブ実行管理システム100は、ジョブを管理するマネージャ装置102と、ジョブを実行する1以上のエージェント装置104と、を備える。
The job
マネージャ装置102は、エージェント装置104のキューにキューイングされている全てのジョブの中から、排他資源のロックが解放されてから最も早く排他資源の利用を開始することができるジョブを特定して優先実行させる。
The
エージェント装置104は、排他資源を利用するジョブが優先実行されることなくキューにて実行順を迎えた場合、当該ジョブの実行位置を、キューに空きができたら次に実行される位置に留め置き、先に後続のジョブを実行させる。
(動作の説明)
図2は、図1に示すジョブ実行管理システム100の動作例(ジョブ実行管理方法)を示すフローチャートである。
When the job that uses the exclusive resource is not preferentially executed and the execution order is reached in the queue, the
(Explanation of operation)
FIG. 2 is a flowchart showing an operation example (job execution management method) of the job
マネージャ装置102は、エージェント装置104のキューにキューイングされている全てのジョブの中から、排他資源のロックが解放されてから最も早く排他資源の利用を開始することができるジョブを特定して優先実行させる(ステップS50)。
The
エージェント装置104は、排他資源を利用するジョブが優先実行されることなくキューにて実行順を迎えた場合、当該ジョブの実行位置を、キューに空きができたら次に実行される位置に留め置き、先に後続の前記ジョブを実行させる(ステップS51)。
(効果の説明)
以上説明した第1の実施形態によれば、排他資源を利用するジョブが複数ある場合に、その排他資源のロック待ちを極力回避してジョブネットワーク全体の実行時間をより短くすることができる。もちろん、その場合、ユーザが意図的にジョブのスケジューリング時間を調整して実行タイミングが重ならないように調整する必要はない。
When the job that uses the exclusive resource is not preferentially executed and the execution order is reached in the queue, the
(Explanation of effect)
According to the first embodiment described above, when there are a plurality of jobs that use the exclusive resource, it is possible to avoid waiting for the lock of the exclusive resource as much as possible and shorten the execution time of the entire job network. Of course, in that case, it is not necessary for the user to intentionally adjust the job scheduling time so that the execution timings do not overlap.
なお、マネージャ装置102およびエージェント装置104の構成/動作、および優先実行については、以下の第2の実施形態にて詳細に説明する。
[第2の実施形態]
(構成の説明)
図3は、本発明の第2の実施形態に係るジョブ実行管理システム1の構成例を示すブロックである。なお、一般的なジョブ実行管理システムにおいては、スケジュールに従ってジョブネットワークの起動やそのフロー制御を行う制御手段が存在することが一般的である。しかしながら、そのような制御手段は、本実施形態とは直接関連しないため、以下の説明では省略する。
The configuration / operation of the
[Second Embodiment]
(Explanation of configuration)
FIG. 3 is a block showing a configuration example of the job
ジョブ実行管理システム1は、ジョブの定義情報の管理およびジョブネットワークのフロー制御を主に実行するマネージャ装置2と、ジョブを実行するエージェント装置3と、を備える。なお、図3では、エージェント装置3が「3台」の場合が例示されているが、エージェント装置3の数は「2台以下」であってもよいし、「4台以上」であってもよい。
The job
マネージャ装置2は、ジョブ実行制御部10と、ジョブ定義情報DB11と、排他資源管理DB13と、を備える。なお、DBは、DataBaseの略である。
The
ジョブ定義情報DB11は、ジョブ毎に、ジョブ名やスクリプト、ジョブの実行開始から実行終了までの予想時間である予想実行時間、排他資源の名称または識別情報(以下、これらを排他資源名とも呼ぶ)などの情報を、ジョブ定義情報として記録する。
The job
排他資源は、例えば、印刷処理におけるプリンタ、データバックアップ処理におけるバックアップ先の領域やテープ装置、あるいは、地理的に離れた別のデータセンタ内にあるサーバへのデータ送信処理における巨大なデータの送信自体である。もちろん、排他資源は、上記に限定されることはない。 Exclusive resources are, for example, the transmission of huge data itself in the data transmission process to a printer in the print process, a backup destination area or tape device in the data backup process, or a server in another geographically distant data center. Is. Of course, the exclusive resource is not limited to the above.
排他資源管理DB13は、ジョブ実行管理システム1にて使用可能な全ての排他資源名、それら排他資源のロックの有無、ロックされている場合にはロックしているジョブ名、そしてロック待ちとなっているジョブ名などを記録する。
The exclusive
ジョブ実行制御部10は、ジョブ定義情報DB11からジョブ定義情報を読み出し、エージェント装置3に対して、ジョブの実行依頼(キューイングの開始)を送信する。ジョブ実行制御部10は、エージェント装置3からロック獲得要求およびロック解放要求を受信し、これらの要求を排他資源管理DB13に登録する。
The job
ジョブ実行制御部10は、排他資源名で表される排他資源のロックを制御するロック制御機能を有する。ロック制御機能は、排他資源を扱う個々のアプリケーション(エージェント装置3)が有している必要性はなく、マネージャ装置2のみが有していれば良い。この場合、「どの排他資源を利用するか」という情報が、ジョブ定義情報DB11にパラメータとして予め定義される。なお、排他資源名は、単なる文字列情報でよい。例えば、排他資源がプリンタZである場合、「Z」という文字列情報でロックを要求することを予め取り決めておき、ジョブ実行制御部10は、「Z」とのロック要求を受信した場合に排他制御を行う。
The job
エージェント装置3は、ジョブ実行制御部20を備える。ジョブ実行制御部20は、マネージャ装置2から実行を依頼されたジョブのキュー制御及び実行を行う。ジョブ実行制御部20は、マネージャ装置2に対してジョブの実行結果を返却する。ジョブ実行制御部20は、マネージャ装置2に対して、排他資源を使用するジョブが実行される際に「ロック獲得要求」を送信し、当該ジョブの実行が完了した際に「ロック解放要求」を送信する。
The
そして、ジョブ実行管理システム1では、排他資源を利用するジョブの無駄なロック待ち時間を短くするために、優先制御が実行される。優先制御は、ジョブ実行制御部10による第1制御(優先実行)と、ジョブ実行制御部20による第2制御と、を含む。
Then, in the job
第1制御は、以下の制御(1)~(4)を有する。
(1)対象の排他資源を利用するジョブの抽出
ジョブ実行制御部10は、各エージェント装置3にキューイングされているジョブの内、対象の排他資源を利用するジョブを全て抽出する。当該ジョブが同一キュー内に複数存在する場合、ジョブ実行制御部10は、先行してキューイングされたもののみを対象とする。
(2)残り必要時間の算出
ジョブ実行制御部10は、制御(1)のジョブがキューイングされているそれぞれのキューにおいて、そのキューで現在実行中のジョブが終了するのに必要な「残り必要時間」を計算する。残り必要時間の計算は、対象のキュー全てで実施される。
The first control has the following controls (1) to (4).
(1) Extraction of Jobs that Use Target Exclusive Resources The job
(2) Calculation of remaining required time In each queue in which the job of control (1) is queued, the job
残り必要時間は、例えば、実行中のジョブの予想実行時間と、ジョブの実行が始まってからの経過時間とから計算することができる。例えば、残り必要時間は、以下の(式1)で計算することが可能である。 The remaining required time can be calculated from, for example, the expected execution time of the running job and the elapsed time from the start of the job execution. For example, the remaining required time can be calculated by the following (Equation 1).
残り必要時間=予想実行時間-経過時間 (式1)
なお、ジョブの実行時間とは、エージェント装置3上でジョブが開始されてから完了するまでの時間である。そして、予想実行時間は、上記実行時間の予想値である。予測実行時間は、たとえば、過去の実績を用いて見積もることができる。ジョブ実行管理システム1は、日次、週次、あるいは月次といった形で同じ処理を実行させることを特徴とするシステムであるため、前回の実績を参考にすることができるのである。また、入力データ量に応じて処理時間が大きくなる特徴を持つようなジョブの場合、その入力データ量と処理時間との関係性を数式化したデータを用いて、ジョブ実行制御部10は、今回実行しようとしているジョブの入力データ量から予想実行時間を見積もることも可能である。
Remaining required time = expected execution time-elapsed time (Equation 1)
The job execution time is the time from the start to the completion of the job on the
ジョブ実行制御部10は、たとえば、ジョブ定義情報DB11を参照して、予想実行時間を取得する。また、ジョブ実行制御部10は、たとえば、各エージェント装置3に問い合わせすることで、それぞれのジョブの経過時間を取得する。
(3)最も先に空きができるキューの決定
ジョブ実行制御部10は、制御(2)の算出結果である、各キューの残り必要時間同士を比較し、最も先に空きができるキューを決定する。
(4)ジョブの実行優先度の変更
ジョブ実行制御部10は、制御(3)で決定されたキューにキューイングされている、対象の排他資源を利用するジョブのうちで最も先にキューイングされているジョブの実行位置を、該当キュー内において「キューに空きができたら次に実行される位置」に変更する。キューイングされたジョブが1つの場合、最も先にキューイングされたジョブは、その1つのジョブである。
The job
(3) Determination of the queue that can be vacant first The job
(4) Changing the job execution priority The job
図4は、第1制御をイメージ化した図である。 FIG. 4 is an image of the first control.
上記制御(1)~(4)を排他資源に空きができる毎に実行することで、排他資源を利用するジョブを優先的に実行させ、かつ、排他資源のロック待ちが極力発生しないようにすることができる。上記制御(1)~(4)の処理は、「排他資源に空きができた時点で、次に最も早くその排他資源を利用して実行開始できるジョブを探し、そのジョブを優先実行させる」処理と要約することができる。 By executing the above controls (1) to (4) every time an exclusive resource becomes available, the job that uses the exclusive resource is preferentially executed, and the lock wait of the exclusive resource is prevented from occurring as much as possible. be able to. The processes of the above controls (1) to (4) are "when the exclusive resource becomes free, the next job that can be started by using the exclusive resource is searched for and the job is preferentially executed". Can be summarized as.
なお、排他資源を利用するジョブに対して第1制御が実行されることなくキューの実行順を迎えた場合、ジョブ実行制御部20において第2制御が実行される。
When the queue execution order is reached without executing the first control for the job using the exclusive resource, the job
第2制御は、上記の制御(1)~(4)が行われることなく排他資源を利用するジョブがキュー内にて実行順を迎えた場合に、当該ジョブの実行位置を「キューに空きができたら次に実行される位置」に留め置き、先に後続のジョブを実行させる制御である。 In the second control, when a job that uses an exclusive resource reaches the execution order in the queue without performing the above controls (1) to (4), the execution position of the job is set to "there is a free space in the queue". If possible, it is a control that keeps it in the position where it will be executed next and executes the subsequent job first.
第2制御により、排他資源のロック待ちになったジョブによって、該当キュー内の後続のジョブの実行が阻害されることを防ぐことができる。 By the second control, it is possible to prevent the execution of the subsequent job in the corresponding queue from being hindered by the job waiting for the lock of the exclusive resource.
ただし、第2制御を実行する場合、制御(3)および制御(4)の決定に漏れ続けてしまう可能性がある。これを回避するため、制御(3)の判断を左右する制御(2)の計算に補正値が導入される。この補正値は、超過時間(対象のジョブがエージェント装置3にキューイングされた時点からの予想開始時間としたときの超過時間)である。例えば、ジョブがキューイングされた時点で、先にキューイングされていたジョブの予想実行時間からあとどれぐらい待てばキューイングされたジョブの実行が開始されるのかを計算することができる。超過時間は、キューイング時刻を起点とした時の予想開始時間であり、この予想開始時間を超えても実行されていない、すなわち、他のキューの優先制御によってロックを獲得できないまま待ち合わせさせられている時間である。そこで、ジョブ実行制御部10は、制御(2)で算出された「残り必要時間」を制御(3)での比較対象とするのではなく、「残り必要時間」から「超過時間」を差し引いた値(すなわち、補正された値)を制御(3)での比較対象とする。
However, when the second control is executed, there is a possibility that the determination of the control (3) and the control (4) will continue to be missed. In order to avoid this, a correction value is introduced in the calculation of the control (2) that influences the judgment of the control (3). This correction value is the excess time (the excess time when the expected start time from the time when the target job is queued in the agent device 3). For example, when a job is queued, it is possible to calculate how long it should wait from the expected execution time of the previously queued job to start executing the queued job. The excess time is the expected start time starting from the queuing time, and is not executed even after this expected start time, that is, the lock cannot be acquired by the priority control of another queue. It's time to be. Therefore, the job
なお、予想開始時間は、たとえば、以下の(式2)により求めることができる。 The expected start time can be obtained by, for example, the following (Equation 2).
予想開始時間=キューイング済みの未実行のジョブの予想実行時間の総和+現在実行中のジョブの予想実行時間-そのジョブの実行経過時間 (式2)
また「超過時間」は、以下の(式3)により求めることができる。
Estimated start time = Sum of expected execution times of unexecuted jobs that have been queued + Estimated execution time of currently running jobs-Elapsed time of execution of that job (Equation 2)
Further, the "excess time" can be obtained by the following (Equation 3).
超過時間=キューイングされてからの経過時間-予想開始時間 (式3)
以下に、第1制御の具体例が示される。制御(2)の計算結果として「残り必要時間」を計算した際、キューAが20秒、キューBが30秒、キューCが40秒であったと仮定する。補正値なしで考慮すれば、最も早く空きができるキューは、キューAとなる。しかしながら、キューCにキューイングされているジョブC0は、制御(1)~(4)の対象とならずにキューの先頭に到達したが、排他資源も他ジョブがロック中で利用できなかったため、制御(5)により後続のジョブを先に実行させているとする。そして、その待ち時間(超過時間)が、たとえば、30秒であった場合、キューCの補正後の「残り必要時間」は、40-30=10秒となる。従って、制御(3)および制御(4)により決定される、次に実行すべきジョブは、キューCにキューイングされてロック待ちとなっているジョブC0となる。
(動作の説明)
(一般的動作の説明)
図5は、第1制御の一例を示すフローチャートである。
Excess time = elapsed time since queuing-estimated start time (Equation 3)
A specific example of the first control is shown below. When the "remaining required time" is calculated as the calculation result of the control (2), it is assumed that the queue A is 20 seconds, the queue B is 30 seconds, and the queue C is 40 seconds. If no correction value is taken into consideration, the queue that can be vacated earliest is queue A. However, the job C0 queued in the queue C reached the top of the queue without being subject to the controls (1) to (4), but the exclusive resource was also locked and could not be used by another job. It is assumed that the subsequent job is executed first by the control (5). If the waiting time (excess time) is, for example, 30 seconds, the corrected "remaining required time" of the queue C is 40-30 = 10 seconds. Therefore, the job to be executed next, which is determined by the control (3) and the control (4), is the job C0 which is queued in the queue C and is waiting for a lock.
(Explanation of operation)
(Explanation of general operation)
FIG. 5 is a flowchart showing an example of the first control.
本フローチャートに示される処理は、排他資源管理DB13に登録されたいずれかの排他資源のロックが解放された場合、または、排他資源名が設定されたジョブについて、エージェント装置3に対してジョブ実行依頼が行われた場合に実行される。
The process shown in this flowchart is a job execution request to the
なお、対象となる排他資源は、前者の場合はロックが解放された排他資源であり、後者の場合は実行依頼が行われたジョブに設定された排他資源である。以下の説明では、この排他資源名はZとされる。 The target exclusive resource is an exclusive resource whose lock has been released in the former case, and is an exclusive resource set in the job for which the execution request has been made in the latter case. In the following description, this exclusive resource name is Z.
ジョブ実行制御部10は、各エージェント装置3のジョブ実行制御部20に対して問い合わせを行い、各エージェント装置3のキューにキューイングされているジョブの内、排他資源Zを利用する全てのジョブX1を抽出する(ステップS1)。同一キューに排他資源Zを利用するジョブが複数存在する場合は先行してキューイングされたもののみを対象とする。
The job
ジョブX1が1つも存在しない場合(ステップS1においてNo)、本フローチャートの処理は終了となる。 If there is no job X1 (No in step S1), the processing of this flowchart ends.
ジョブX1が1つ以上存在する場合(ステップS1においてYes)、ジョブ実行制御部10は、ジョブX1が所属する各キューにおいて現在実行中のジョブの残り必要時間X2を算出する(ステップS2)。残り必要時間X2の算出方法は上述したとおりである。
When one or more jobs X1 exist (Yes in step S1), the job
ジョブ実行制御部10は、残り必要時間X2を補正して、補正後の残り必要時間X3を算出する(ステップS3)。具体的には、ジョブ実行制御部10は、ジョブX1の予想開始時間に対する超過時間を計算する。予想開始時間および超過時間の計算方法は上述したとおりである。そして、ジョブ実行制御部10は、残り必要時間X2から超過時間を差し引くことで、補正後の残り必要時間X3を算出する。
The job
ジョブ実行制御部10は、各キューの、補正後の残り必要時間X3同士を比較し、最も先に空きができるキューX4を決定する(ステップS4)。ジョブ実行制御部10は、キューX4をもつエージェント装置3のジョブ実行制御部20に対して、ジョブの位置を変更する旨の指示を送信する。
The job
ジョブ実行制御部20は、上記指示に基づいて、キューX4において、排他資源Zを利用するジョブの中で最も先にキューイングされたジョブの位置を、「次に実行できる位置」に変更する(ステップS5)。
Based on the above instruction, the job
図6は、第2制御の一例を示すフローチャートである。 FIG. 6 is a flowchart showing an example of the second control.
ジョブ実行制御部20は、排他資源を利用するジョブが優先実行されることなく(第1制御が実行されることなく)キューにて実行順を迎えたか否かを判定する(ステップS10)。排他資源を利用するジョブが優先実行されることなくキューにて実行順を迎えた場合(ステップS10のYes)、ジョブ実行制御部20は、当該ジョブの実行位置を「キューに空きができたら次に実行される位置」に留め置き、先に後続のジョブを実行させる(ステップS11)。
The job
第1制御が実行されることなくジョブがキューの実行順を迎えていない場合(ステップS10においてNo)、およびステップS11の処理が完了した場合、本フローチャートの処理は終了する。
(具体的動作の説明)
以下、図7~図32を用いて優先制御を具体的に説明する。なお、図7~図32の内の図7~図22は本実施形態を説明するための図であり、図23~図32は本発明を適用していない関連技術の方式を説明するための図である。
When the job has not reached the queue execution order without the first control being executed (No in step S10), and when the process of step S11 is completed, the process of this flowchart ends.
(Explanation of specific operation)
Hereinafter, priority control will be specifically described with reference to FIGS. 7 to 32. 7 to 22 of FIGS. 7 to 32 are diagrams for explaining the present embodiment, and FIGS. 23 to 32 are for explaining the method of the related technology to which the present invention is not applied. It is a figure.
説明の前提は以下のとおりである。
・3台のエージェント装置3があり、それぞれのエージェント装置3には1つだけキュー(キューA、B、C)があるものとする。
・開始時点で、図7に示したようなジョブのキューイングが行われているものとする。図7は、下に行くほど先行してキューイングされたジョブであること、および二重線より下に書かれたジョブが実行状態となっているジョブであることを示している。
・図7において、ジョブ欄における太字は、排他資源Zが設定されたジョブを表す(ジョブA5、B2、C5)
・図7において、「予想」は、予想実行時間を簡略化したものである。
・図7において、「超過」は、超過時間を簡略化したものである。
・説明をより明りょうなものとするため、ステップS1の抽出は完了し、その結果として図7に示すキューA、キューB、キューCが常にヒットしていることとする。
・60秒後にキューAにジョブA7(予想実行時間:20秒)、100秒後にキューCにジョブC6(予想実行時間:20秒)が追加で投入されるとする。
■開始時
開始時点(図7)の状態で排他資源Zに空きが出来たため、優先制御が実行される。ステップS2の結果としての残り必要時間は、それぞれA=10、B=80、C=20である。そして、超過時間は全て0のため、残り必要時間は補正されない。従って、最も早く実行できるキューは、キューAとなる。そして、キューAにあるジョブA5がジョブA1の直後に移動される(図8)。
■開始から10秒後
10秒後、ジョブA1が完了し、排他資源Zを利用するジョブA5が実行開始される(図9)。
■開始から30秒後
図9の状態から20秒後、ジョブA5が完了して、排他資源Zのロックが解放される。このとき、また優先制御が実行される(図10)。
The premise of the explanation is as follows.
-It is assumed that there are three
-At the start, it is assumed that the job queuing as shown in FIG. 7 has been performed. FIG. 7 shows that the lower the job is, the more the job is queued in advance, and the job written below the double line is the job in the execution state.
-In FIG. 7, bold letters in the job column represent jobs for which the exclusive resource Z is set (jobs A5, B2, C5).
-In FIG. 7, "forecast" is a simplification of the expected execution time.
-In FIG. 7, "excess" is a simplification of the excess time.
-In order to make the explanation clearer, it is assumed that the extraction in step S1 is completed, and as a result, the queue A, the queue B, and the queue C shown in FIG. 7 are always hit.
It is assumed that job A7 (estimated execution time: 20 seconds) is additionally input to queue A after 60 seconds, and job C6 (estimated execution time: 20 seconds) is additionally input to queue C after 100 seconds.
■ Start time Since the exclusive resource Z has a vacancy at the start time (Fig. 7), priority control is executed. The remaining required time as a result of step S2 is A = 10, B = 80, and C = 20, respectively. And since the excess time is all 0, the remaining required time is not corrected. Therefore, the queue that can be executed fastest is queue A. Then, the job A5 in the queue A is moved immediately after the job A1 (FIG. 8).
■ 10 seconds after the
■ 30 seconds after the
この場合、比較対象はジョブB2とジョブC5である。超過時間はないため補正なく、最も早く実行されるキューは、キューCである。従って、ジョブC5は、ジョブC2の直後に移動される(図11)。
■開始から50秒後
図11の状態から20秒後、ジョブC2が完了し、排他資源Zを利用するジョブC5の実行が開始される(図12)。
■開始から60秒後
図12の状態から10秒後、キューAに新たにA7(予想実行時間:20秒)がキューイングされる(図13)。
■開始から80秒後
図13の状態から20秒後、ジョブB1が完了する。このとき、次に実行すべきジョブB2は排他資源Zを利用するジョブのため、競合が発生してしまう。そのため、ジョブ実行制御部20は、排他資源Zのロック獲得を要求し(ロック待ち)、先に後続のジョブB3を実行開始させる(図14)。
■開始から90秒後
図14の状態から10秒後、ジョブC5が完了して、排他資源Zのロックが解放される。このとき、また優先制御が実行される(図15)。
In this case, the comparison targets are job B2 and job C5. The earliest executed queue without correction because there is no overtime is queue C. Therefore, the job C5 is moved immediately after the job C2 (FIG. 11).
■ 50 seconds after the
■ 60 seconds after the
■ 80 seconds after the start Job B1 is completed 20 seconds after the state shown in FIG. At this time, since the job B2 to be executed next is a job that uses the exclusive resource Z, a conflict occurs. Therefore, the job
■ 90 seconds after the
この場合、比較対象はジョブA7とジョブB2である。そして、ジョブB2には超過時間がある。これを加味すると、補正後の残り必要時間は、それぞれキューA=0、キューB=30-10=20となり、キューAの方が小さい。よってジョブA7の位置が移動される。この場合、実行中のジョブがないため、そのままジョブA7の実行が開始される(図16)。
■開始から100秒後
図16の状態から10秒後、キューCに新たにC6(予想実行時間:20秒)がキューイングされる(図17)。
■開始から110秒後
図17の状態から10秒後、ジョブA7が完了し、排他資源Zのロックが解放される。このとき、また優先制御が実行される(図18)。
In this case, the comparison targets are job A7 and job B2. And there is an excess time in job B2. Taking this into consideration, the remaining required time after correction is cue A = 0 and cue B = 30-10 = 20, respectively, and cue A is smaller. Therefore, the position of job A7 is moved. In this case, since there is no job being executed, the execution of job A7 is started as it is (FIG. 16).
■ 100 seconds after the
■ 110 seconds after the
この場合、比較対象はジョブB2とジョブC6である。そして、B2には超過時間がある。これを加味すると、補正後の残り必要時間は、キューB=10-30=-20、キューC=0となり、キューBのほうが小さい。よってジョブB2の位置が移動される。この場合、ジョブB2は、既に「次に実行される位置」にいるため、移動処理は不要となる。また、キューCは優先制御の対象とならなかったため、順番通りC4が実行開始される(図19)。
■開始から120秒後
図19の状態から10秒後、ジョブB3が完了し、排他資源Zを利用するジョブB2が実行開始される(図20)。
■開始から160秒後
図20の状態から40秒後、ジョブC4が完了する。このとき、次に実行すべきジョブC6は排他資源Zを利用するジョブのため、競合が発生してしまう。そのため、ジョブ実行制御部20は、排他資源Zのロック獲得を要求する。なお、キューCでは後続で実行できるジョブが存在しないため、キューCは、ジョブC6が「次に実行すべき位置」に滞在したまま、何もジョブを実行しないキューとなる(図21)。
■開始から170秒後
図21の状態から10秒後、ジョブB2が完了し、排他資源Zのロックが解放される。排他資源ZはすでにジョブC6のロック待ちとなっているため、ジョブC6がロックを獲得し、実行状態に遷移する(図22)。
■開始から190秒後
図22の状態から20秒後、ジョブC6が実行完了し、全てのジョブの実行が完了する。
In this case, the comparison targets are job B2 and job C6. And there is an excess time in B2. Taking this into consideration, the remaining required time after correction is cue B = 10-30 = -20, cue C = 0, and cue B is smaller. Therefore, the position of job B2 is moved. In this case, since the job B2 is already in the "position to be executed next", the move process becomes unnecessary. Further, since the queue C was not the target of the priority control, the execution of C4 is started in order (FIG. 19).
■ 120 seconds after the
■ 160 seconds after the start Job C4 is completed 40 seconds after the state shown in FIG. 20. At this time, since the job C6 to be executed next is a job that uses the exclusive resource Z, a conflict occurs. Therefore, the job
■ 170 seconds after the
■ 190 seconds after the start After 20 seconds from the state shown in FIG. 22, job C6 is completed and all jobs are executed.
以上説明したように、本実施形態において、すべてのジョブは、合計190秒で実行完了する。 As described above, in the present embodiment, all the jobs are executed in 190 seconds in total.
次に、本実施形態の効果を示すため、本発明を適用していない関連技術の方式でジョブを実行した場合の動作と合計実行時間とについて説明する。本方式としては、最もデメリットが少ないとされる、第3方式([発明が解決しようとする課題]参照)を採用する。なお、前提条件は上で説明したものと同じとする。また、「超過」列の代わりに「ロック」列を記載しており、ここには排他資源Zのロック獲得の待ち合わせ順が記載される。この値が1になっているジョブが現在排他資源Zをロック中であることが示されている。
■開始時点
開始時点は図7であり、この状態からキューイングされている順に従って実行していく。
■開始から60秒後
図7の状態から60秒後、キューAに新たにジョブA7(予想実行時間:20秒)がキューイングされる(図23)。
■開始から70秒後
図23の状態から10秒後、ジョブA4が完了する。後続のジョブA5は排他資源Zを必要とするジョブのためロックを要求するが、排他資源Zをロックしているジョブは他にないためロックが獲得でき、そのまま実行が開始される(図24)。
■開始から80秒後
図24の状態から10秒後、ジョブB1が完了する。このとき、次に実行すべきジョブB2は排他資源Zを利用するジョブのため、競合が発生してしまう。そのため、排他資源Zのロック獲得要求が実行され、後続のジョブB3の実行が先に開始される(図25)。
■開始から90秒後
図25の状態から10秒後、ジョブA5が完了し、排他資源Zのロックが解放される。排他資源Zは既にジョブB2がロック要求をしているため、ジョブB2が排他資源Zのロックを獲得する(図26)。
■開始から100秒後
図26の状態から10秒後、キューCに新たにC6(予想実行時間:20秒)がキューイングされる(図27)。
■開始から110秒後
図27の状態から10秒後、ジョブA6が完了する。後続のジョブA7は排他資源Zを利用するジョブのため、ロック要求を行うが、ジョブB2が既にロックを獲得しているため、待ち合わせが発生する。なお、キューAでは後続で実行できるジョブが存在しない。従って、キューAは、何もジョブを実行しないキューとなる(図28)。
■開始から120秒後
図28の状態から10秒後、ジョブB3及びジョブC4が完了する。後続のジョブB2は排他資源Zを利用するジョブであるが、既にロック獲得済みのため、そのまま実行開始される。また、後続のジョブC5も同じく排他資源Zを利用するジョブであり、ロックを要求するが、他ジョブが既にロック済みのため、待ち合わせが発生する。また、ジョブC5の後続のジョブC6も排他資源Zを利用するジョブのため、先行させて実行させることもできないため、このままとなり、キューCは、何も実行できないキューとなる(図29)。
■開始から170秒後
図29の状態から50秒後、ジョブB2が完了し、排他資源Zのロックが解放される。続いて、ジョブA7が排他資源Zのロックを獲得し、実行開始される(図30)。
■開始から190秒後
図30の状態から20秒後、ジョブA7が完了し、排他資源Zのロックが解放される。続いて、ジョブC5が排他資源Zのロックを獲得し、実行開始される(図31)。
■開始から230秒後
図31の状態から40秒後、ジョブC5が完了し、排他資源Zのロックが解放される。続いて、ジョブC6が排他資源Zのロックを獲得し、実行開始される(図32)。
■開始から250秒後
図32の状態から20秒後、ジョブC6が完了し、全てのジョブの実行が完了する。
(効果の説明)
以上説明したように、第3方式において、すべてのジョブは、合計250秒で実行完了する。
Next, in order to show the effect of the present embodiment, the operation and the total execution time when the job is executed by the method of the related technology to which the present invention is not applied will be described. As this method, the third method (see [Problems to be Solved by the Invention]), which is said to have the least disadvantages, is adopted. The preconditions are the same as those described above. Further, instead of the "excess" column, the "lock" column is described, and the order of waiting for the lock acquisition of the exclusive resource Z is described here. It is shown that the job whose value is 1 is currently locking the exclusive resource Z.
■ Start time The start time is shown in Fig. 7, and execution is performed according to the queued order from this state.
■ 60 seconds after the start 60 seconds after the state shown in FIG. 7, a new job A7 (estimated execution time: 20 seconds) is queued in the queue A (FIG. 23).
■ 70 seconds after the start Job A4 is completed 10 seconds after the state shown in FIG. 23. Subsequent job A5 requests a lock because it is a job that requires exclusive resource Z, but since there is no other job that locks exclusive resource Z, the lock can be acquired and execution starts as it is (FIG. 24). ..
■ 80 seconds after the start Job B1 is completed 10 seconds after the state shown in FIG. 24. At this time, since the job B2 to be executed next is a job that uses the exclusive resource Z, a conflict occurs. Therefore, the lock acquisition request for the exclusive resource Z is executed, and the subsequent execution of the job B3 is started first (FIG. 25).
■ 90 seconds after the
■ 100 seconds after the
■ 110 seconds after the start Job A6 is completed 10 seconds after the state shown in FIG. 27. Since the subsequent job A7 is a job that uses the exclusive resource Z, a lock request is made, but since the job B2 has already acquired the lock, a wait occurs. In queue A, there is no subsequent job that can be executed. Therefore, the queue A is a queue that does not execute any job (FIG. 28).
■ 120 seconds after the start Job B3 and job C4 are completed 10 seconds after the state shown in FIG. 28. Subsequent job B2 is a job that uses the exclusive resource Z, but since the lock has already been acquired, execution is started as it is. Further, the subsequent job C5 is also a job that uses the exclusive resource Z and requests a lock, but since another job has already been locked, a wait occurs. Further, since the job C6 succeeding the job C5 is also a job that uses the exclusive resource Z, it cannot be executed in advance, so that it remains as it is, and the queue C becomes a queue in which nothing can be executed (FIG. 29).
■ 170 seconds after the
■ 190 seconds after the
■ 230 seconds after the
■ 250 seconds after the start After 20 seconds from the state shown in FIG. 32, the job C6 is completed and the execution of all the jobs is completed.
(Explanation of effect)
As described above, in the third method, all jobs are executed in a total of 250 seconds.
本実施形態と第3方式とを比較すると、250-190=60秒の差がある。すなわち、本実施形態によれば、本実施形態よりも前に使用されている方式の中で最もデメリットが少ないとされる第3方式よりも、ジョブ全体の実行時間が約25%改善されていることがわかる。すなわち、以上説明した第2の実施形態によれば、排他資源を利用するジョブが複数ある場合に、その排他資源のロック待ちを極力回避してジョブネットワーク全体の実行時間をより短くすることができる。もちろん、その場合、ユーザが意図的にジョブのスケジューリング時間を調整して実行タイミングが重ならないように調整する必要はない。 Comparing this embodiment with the third method, there is a difference of 250-190 = 60 seconds. That is, according to the present embodiment, the execution time of the entire job is improved by about 25% as compared with the third method, which is said to have the least demerits among the methods used before the present embodiment. You can see that. That is, according to the second embodiment described above, when there are a plurality of jobs that use the exclusive resource, it is possible to avoid waiting for the lock of the exclusive resource as much as possible and shorten the execution time of the entire job network. .. Of course, in that case, it is not necessary for the user to intentionally adjust the job scheduling time so that the execution timings do not overlap.
以上、各実施形態を用いて本発明を説明したが、本発明の技術的範囲は、上記各実施形態の記載に限定されない。上記各実施形態に多様な変更又は改良を加えることが可能であることは当業者にとって自明である。従って、そのような変更又は改良を加えた形態もまた本発明の技術的範囲に含まれることは説明するまでもない。また、以上説明した各実施形態において使用される、数値や各構成の名称等は例示的なものであり適宜変更可能である。 Although the present invention has been described above using each embodiment, the technical scope of the present invention is not limited to the description of each of the above embodiments. It is obvious to those skilled in the art that various changes or improvements can be made to each of the above embodiments. Therefore, it is needless to say that such modified or improved forms are also included in the technical scope of the present invention. Further, the numerical values and the names of the respective configurations used in the above-described embodiments are exemplary and can be changed as appropriate.
1 ジョブ実行管理システム
2 マネージャ装置
3 エージェント装置
10 ジョブ実行制御部
11 ジョブ定義情報DB
13 排他資源管理DB
20 ジョブ実行制御部
100 ジョブ実行管理システム
102 マネージャ装置
104 エージェント装置
1 Job
13 Exclusive resource management DB
20 Job
Claims (5)
前記ジョブを実行する1以上のエージェント装置と、を備え、
前記マネージャ装置は、前記エージェント装置のキューにキューイングされている全ての前記ジョブの中から、排他資源のロックが解放されてから最も早く前記排他資源の利用を開始することができる前記ジョブを特定して優先実行させ、
前記エージェント装置は、前記排他資源を利用する前記ジョブが前記優先実行されることなく前記キューにて実行順を迎えた場合、前記ジョブの実行位置を、前記キューに空きができたら次に実行される位置に留め置き、先に後続の前記ジョブを実行させる
ことを特徴とするジョブ実行管理システム。 A manager device that manages jobs and
It comprises one or more agent devices that execute the job.
The manager device identifies the job that can start using the exclusive resource earliest after the lock of the exclusive resource is released from all the jobs queued in the queue of the agent device. And give priority to execution
When the job using the exclusive resource reaches the execution order in the queue without being preferentially executed, the agent device is executed next when the execution position of the job becomes available in the queue. A job execution management system characterized in that the following jobs are executed first by keeping them in a certain position.
全ての前記エージェント装置のそれぞれの前記キューにキューイングされている前記ジョブの中で前記排他資源を利用する全ての前記ジョブを抽出し、
抽出した前記ジョブが所属する前記キューにおいて現在実行中の前記ジョブの残り必要時間を算出し、前記残り必要時間から、前記ロックを獲得できないまま待ち合わせさせられている時間である超過時間を差し引くことにより補正後の前記残り必要時間を算出し、
それぞれの前記キューの、補正後の前記残り必要時間同士を比較し、最も先に空きができる前記キューを決定し、
最も先に空きができる前記キューをもつ前記エージェント装置に対して、当該キューにおいて前記排他資源を利用する前記ジョブの中で最も先にキューイングされている前記ジョブの実行位置を、当該キューに空きができたら次に実行される位置に変更する旨を指示する
ことを特徴とする請求項1記載のジョブ実行管理システム。 The manager device is
All the jobs that utilize the exclusive resource are extracted from the jobs queued in the queue of each of the agent devices.
By calculating the remaining required time of the job currently being executed in the queue to which the extracted job belongs, and subtracting the excess time, which is the time for waiting without acquiring the lock, from the remaining required time. Calculate the remaining required time after correction,
The remaining required time after correction of each of the queues is compared with each other to determine the queue that can be vacant first.
For the agent device having the queue that can be freed first, the execution position of the job that is queued first among the jobs that use the exclusive resource in the queue is freed in the queue. The job execution management system according to claim 1, wherein the job execution management system is instructed to change to the position to be executed next when the job execution is completed.
前記マネージャ装置は、前記エージェント装置のキューにキューイングされている全ての前記ジョブの中から、排他資源のロックが解放されてから最も早く前記排他資源の利用を開始することができる前記ジョブを特定して優先実行させ、
前記エージェント装置は、前記排他資源を利用する前記ジョブが前記優先実行されることなく前記キューにて実行順を迎えた場合、前記ジョブの実行位置を、前記キューに空きができたら次に実行される位置に留め置き、先に後続の前記ジョブを実行させる
ことを特徴とするジョブ実行管理方法。 A job execution management system including a manager device that manages a job and one or more agent devices that execute the job.
The manager device identifies the job that can start using the exclusive resource earliest after the lock of the exclusive resource is released from all the jobs queued in the queue of the agent device. And give priority to execution
The agent device is executed next when the job using the exclusive resource reaches the execution order in the queue without being preferentially executed, and the execution position of the job becomes available in the queue. A job execution management method characterized in that the subsequent job is executed first by keeping the position in a certain position.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018066353A JP7014010B2 (en) | 2018-03-30 | 2018-03-30 | Job execution management system and job execution management method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018066353A JP7014010B2 (en) | 2018-03-30 | 2018-03-30 | Job execution management system and job execution management method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019179280A JP2019179280A (en) | 2019-10-17 |
JP7014010B2 true JP7014010B2 (en) | 2022-02-01 |
Family
ID=68278687
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018066353A Active JP7014010B2 (en) | 2018-03-30 | 2018-03-30 | Job execution management system and job execution management method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7014010B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116483544B (en) * | 2023-06-15 | 2023-09-19 | 阿里健康科技(杭州)有限公司 | Task processing method, device, computer equipment and storage medium |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006065566A (en) | 2004-08-26 | 2006-03-09 | Casio Comput Co Ltd | Batch processor and program |
JP2008090507A (en) | 2006-09-29 | 2008-04-17 | Fujitsu Ltd | Scheduling program for job execution, scheduling method for job execution, scheduling apparatus for job execution |
JP2011113290A (en) | 2009-11-26 | 2011-06-09 | Nec Corp | Job flow management apparatus, management method and management program |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6467631A (en) * | 1987-09-08 | 1989-03-14 | Nec Corp | Resources-based job starting system |
JPH01126738A (en) * | 1987-11-12 | 1989-05-18 | Fujitsu Ltd | System for control data set competition in execution of multiple job |
JP2866241B2 (en) * | 1992-01-30 | 1999-03-08 | 株式会社東芝 | Computer system and scheduling method |
JP3027526B2 (en) * | 1995-09-26 | 2000-04-04 | 日立ソフトウエアエンジニアリング株式会社 | Job scheduling method |
-
2018
- 2018-03-30 JP JP2018066353A patent/JP7014010B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006065566A (en) | 2004-08-26 | 2006-03-09 | Casio Comput Co Ltd | Batch processor and program |
JP2008090507A (en) | 2006-09-29 | 2008-04-17 | Fujitsu Ltd | Scheduling program for job execution, scheduling method for job execution, scheduling apparatus for job execution |
JP2011113290A (en) | 2009-11-26 | 2011-06-09 | Nec Corp | Job flow management apparatus, management method and management program |
Also Published As
Publication number | Publication date |
---|---|
JP2019179280A (en) | 2019-10-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9588809B2 (en) | Resource-based scheduler | |
US7322033B2 (en) | Distributed control method and apparatus | |
US11032212B2 (en) | Systems and methods for provision of a guaranteed batch | |
US8239869B2 (en) | Method, system and apparatus for scheduling computer micro-jobs to execute at non-disruptive times and modifying a minimum wait time between the utilization windows for monitoring the resources | |
EP2388699A1 (en) | Information processing device and information processing method | |
JP5347451B2 (en) | Multiprocessor system, conflict avoidance program, and conflict avoidance method | |
US20080086733A1 (en) | Computer micro-jobs | |
US6721948B1 (en) | Method for managing shared tasks in a multi-tasking data processing system | |
JP5605131B2 (en) | Job scheduling program, method, and apparatus | |
JP7014010B2 (en) | Job execution management system and job execution management method | |
AU2007261607B2 (en) | Resource-based scheduler | |
US20180039520A1 (en) | Methods and Nodes for Scheduling Data Processing | |
US20020124043A1 (en) | Method of and system for withdrawing budget from a blocking task | |
JP4682513B2 (en) | Task management system | |
JP2008225641A (en) | Computer system, interrupt control method and program | |
JP5480322B2 (en) | Performance control method, system and program thereof | |
JP2001022601A (en) | Job execution control method and parallel computer system | |
JP2000259591A (en) | Distributed processing job execution method and network system | |
CN105204939B (en) | A kind of processing method of interrupt requests | |
JP2012008838A (en) | Print document conversion device and program | |
CN110968418A (en) | Signal-slot-based large-scale constrained concurrent task scheduling method and device | |
JPH1040117A (en) | System for changing task execution priority at the high load in on-line processing system | |
CN111858013A (en) | Workflow job scheduling control method | |
CN117667332A (en) | Task scheduling method and system | |
JPH05120042A (en) | Computer system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210215 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20211020 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20211208 |
|
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: 20211221 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220103 |