JP5050601B2 - Resource allocation method for job, resource allocation method for job, and program - Google Patents
Resource allocation method for job, resource allocation method for job, and program Download PDFInfo
- Publication number
- JP5050601B2 JP5050601B2 JP2007077633A JP2007077633A JP5050601B2 JP 5050601 B2 JP5050601 B2 JP 5050601B2 JP 2007077633 A JP2007077633 A JP 2007077633A JP 2007077633 A JP2007077633 A JP 2007077633A JP 5050601 B2 JP5050601 B2 JP 5050601B2
- Authority
- JP
- Japan
- Prior art keywords
- job
- exception
- priority
- ready queue
- instruction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 302
- 238000013468 resource allocation Methods 0.000 title claims description 49
- 230000008569 process Effects 0.000 claims description 250
- 230000004044 response Effects 0.000 claims description 5
- 239000000284 extract Substances 0.000 claims 2
- 238000004364 calculation method Methods 0.000 description 14
- 238000007726 management method Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000010365 information processing Effects 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Stored Programmes (AREA)
Description
本発明は、ジョブへの資源割当方式に関し、特に複数のジョブを単一システムで実行する場合に負荷のバランスを調整するジョブへの資源割当方式、ジョブへの資源割当方法およびプログラムに関する。 The present invention relates to a resource allocation method for a job, and more particularly to a resource allocation method for a job, a resource allocation method for a job, and a program for adjusting a load balance when a plurality of jobs are executed in a single system.
従来のジョブへの資源割当の方法として、当該ジョブに対するCPUの割り当て時間を保証するスケジュール方法を提供するものがある(例えば、特許文献1)。この従来のスケジュール方法は、CPU割り当て保証対象ジョブを予め定め、当該ジョブのCPU使用時間を計測し、予め定めた単位時間内に一定時間以上のCPUが割り当てられていなかった場合、優先的にCPUを割り当てるものである。これを実現するために、ジョブ開始時に当該ジョブがCPU割り当て保証対象ジョブであるか否かを判断し、CPU割り当て保証対象ジョブであると判断された場合は、当該ジョブのジョブ管理テーブルをCPU割り当て保証ジョブ管理テーブルに登録し、次に、当該ジョブが共用資源待ちになるか否かを判断し、共用資源待ちになると判断された場合には、先に共用資源を確保しているジョブがCPU割り当て保証対象ジョブであるか否かを判断し、CPU割り当て保証対象ジョブでないと判断した場合には一時優先フラグを設定した当該ジョブのジョブ管理テーブルをCPU割り当て保証ジョブ管理テーブルに登録し、共用資源を解放させる処理を行う。また、タイマ処理部から起動されたCPU割り当て保証制御部が、当該ジョブが起動されてからのCPU使用時間、CPU割り当て保証時間、CPU割り当て監視時間を参照して優先スケジュールキューを更新し、その後、スケジューラにて当該ジョブへのCPU割り当て処理を行う構成を有している。 As a conventional method for allocating resources to a job, there is a method for providing a schedule method for guaranteeing the CPU allocation time for the job (for example, Patent Document 1). In this conventional scheduling method, a CPU allocation guarantee target job is determined in advance, the CPU usage time of the job is measured, and if a CPU for a predetermined time or more is not allocated within a predetermined unit time, the CPU is preferentially used. Is assigned. To achieve this, it is determined whether the job is a CPU allocation guarantee target job at the start of the job. If it is determined that the job is a CPU allocation guarantee target job, the job management table of the job is assigned to the CPU allocation Register in the guaranteed job management table, and then determine whether the job is waiting for shared resources. If it is determined that the job is waiting for shared resources, the job that previously secured the shared resources It is determined whether or not the job is an allocation guarantee target job. If it is determined that the job is not a CPU allocation guarantee target job, the job management table of the job with the temporary priority flag set is registered in the CPU allocation guarantee job management table, and the shared resource Process to release. Further, the CPU allocation guarantee control unit activated from the timer processing unit updates the priority schedule queue with reference to the CPU usage time, CPU allocation guarantee time, and CPU allocation monitoring time after the job is activated, The scheduler is configured to perform CPU allocation processing for the job.
しかしながら、この従来の方法では、ジョブをスケジューリングしてCPUを割り当てるためには、上述したようにジョブ管理テーブルを作成してCPU割り当て保証ジョブ管理テーブルに登録するというような煩雑な処理を実行する必要があり、その結果としてオーバヘッドが大きく汎用性に欠けるという問題があった。 However, in this conventional method, in order to schedule a job and assign a CPU, it is necessary to execute a complicated process such as creating a job management table and registering it in the CPU assignment guaranteed job management table as described above. As a result, there is a problem that the overhead is large and the versatility is lacking.
本発明の目的は、複数のジョブを単一のシステムで実行する場合において、オーバヘッドの少ないシンプルな構成で汎用性に優れたジョブへの資源割当方式、ジョブへの資源割当方法およびプログラムを提供することにある。 SUMMARY OF THE INVENTION An object of the present invention is to provide a resource allocation method for a job, a resource allocation method for a job, and a program which are excellent in versatility with a simple configuration with little overhead when a plurality of jobs are executed by a single system. There is.
本発明の第1のジョブへの資源割当方式は、情報処理システムにおいて、予め定められたジョブ毎のプロセッサ優先割り当て時間に基づいてジョブの切替を通知するタイマと、プロセスの命令を実行する命令実行手段と、前記タイマからの通知に基づいて優先ジョブとして選択したジョブに対応するプロセスを含むレディーキューから、先頭のプロセスを取り出して前記命令実行手段に割り当てて当該プロセスの命令を実行させるディスパッチャと、を備えた。 A resource allocation method for a first job according to the present invention includes a timer for notifying job switching based on a predetermined processor priority allocation time for each job and an instruction execution for executing a process instruction in an information processing system. A dispatcher that takes out the first process from the ready queue including the process corresponding to the job selected as the priority job based on the notification from the timer, assigns it to the instruction execution means, and executes the instruction of the process; Equipped with.
本発明の第2のジョブへの資源割当方式は、前記第1のジョブへの資源割当方式に於いて、前記ディスパッチャは、前記優先ジョブとして選択したジョブの前記レディーキューが空であった場合は、次の優先ジョブを選択する。 The resource allocation method for the second job of the present invention is the resource allocation method for the first job, in which the dispatcher has the ready queue of the job selected as the priority job empty. Select the next priority job.
本発明の第3のジョブへの資源割当方式は、前記第1または第2のジョブへの資源割当方式に於いて、前記プロセッサ優先割り当て時間は、一定時間の周期を前記ジョブ毎のシステム割り当て割合で分配した時間である。 The resource allocation method for a third job according to the present invention is the resource allocation method for the first or second job, wherein the processor preferential allocation time has a fixed time period as a system allocation ratio for each job. It is the time distributed by.
本発明の第4のジョブへの資源割当方式は、前記第1乃至第3のいずれかのジョブへの資源割当方式に於いて、前記ディスパッチャは、所定の処理を実行する例外プロセスを含む例外レディーキューに前記例外プロセスが存在する場合には、前記優先ジョブよりも前記例外プロセスに対応する最優先ジョブを優先して、前記例外レディーキューの先頭の例外プロセスを取り出して前記命令実行手段に割り当てて当該例外プロセスの命令を実行させる。 The resource allocation method for a fourth job of the present invention is the resource allocation method for any of the first to third jobs, wherein the dispatcher includes an exception ready including an exception process for executing a predetermined process. If the exception process exists in the queue, the highest priority job corresponding to the exception process is prioritized over the priority job, the exception process at the head of the exception ready queue is taken out and assigned to the instruction execution means. The instruction of the exception process is executed.
本発明の第5のジョブへの資源割当方式は、前記第1乃至第4のいずれかのジョブへの資源割当方式に於いて、前記ディスパッチャは、前記優先ジョブに対応するプロセス間で優先順位が変化した場合は、実行中のプロセスを対応する前記レディーキューに戻し、当該レディーキューの先頭のプロセスを取り出して前記命令実行手段に割り当てて当該プロセスの命令を実行させる。 The resource allocation method for a fifth job of the present invention is the resource allocation method for any one of the first to fourth jobs, wherein the dispatcher has a priority order among processes corresponding to the priority job. If changed, the process being executed is returned to the corresponding ready queue, the process at the head of the ready queue is taken out, assigned to the instruction execution means, and the instruction of the process is executed.
本発明の第6のジョブへの資源割当方式は、前記第4乃至第5のジョブへの資源割当方式に於いて、前記ディスパッチャは、前記最優先ジョブに対応する例外プロセス間で優先順位が変化した場合は、実行中の例外プロセスを対応する前記例外レディーキューに戻し、当該例外レディーキューの先頭の例外プロセスを取り出して前記命令実行手段に割り当てて当該例外プロセスの命令を実行させる。 The resource allocation method for the sixth job of the present invention is the resource allocation method for the fourth to fifth jobs, wherein the dispatcher changes the priority order among the exceptional processes corresponding to the highest priority job. In this case, the exception process being executed is returned to the corresponding exception ready queue, the exception process at the head of the exception ready queue is taken out and assigned to the instruction execution means to execute the instruction of the exception process.
本発明の第7のジョブへの資源割当方式は、前記第1乃至第6のいずれかのジョブへの資源割当方式に於いて、前記タイマは、前記命令実行手段がプロセスの命令を一つ実行する度に、実行中のプロセスに対応するジョブの優先期間の計時値を更新し、当該ジョブの前記プロセッサ優先割り当て時間に達したか否かを確認する。 The resource allocation method for a seventh job according to the present invention is the resource allocation method for any one of the first to sixth jobs, wherein the instruction execution means executes one process instruction by the timer. Each time, the time value of the priority period of the job corresponding to the process being executed is updated, and it is confirmed whether or not the processor priority allocation time of the job has been reached.
本発明の第8のジョブへの資源割当方式は、前記第1乃至第7のいずれかのジョブへの資源割当方式に於いて、前記ジョブの終了、追加の発生に対応して前記プロセッサ優先割り当て時間を再算出する手段を備えた。 The resource allocation method for the eighth job of the present invention is the resource allocation method for any one of the first to seventh jobs, wherein the processor priority allocation is performed in response to the end or addition of the job. A means for recalculating the time was provided.
本発明の第1のジョブへの資源割当方法は、情報処理システムにおけるジョブへの資源割り当て方法であって、予め定められたジョブ毎のプロセッサ優先割り当て時間に基づいてジョブの切替を通知し、前記通知に基づいて優先ジョブとして選択したジョブに対応するプロセスを含むレディーキューから、先頭のプロセスを取り出して当該プロセスの命令を実行する。 A resource allocation method for a job according to a first aspect of the present invention is a resource allocation method for a job in an information processing system, which notifies job switching based on a processor priority allocation time for each predetermined job, The head process is taken out from the ready queue including the process corresponding to the job selected as the priority job based on the notification, and the instruction of the process is executed.
本発明の第2のジョブへの資源割当方法は、前記第1のジョブへの資源割当方法に於いて、前記通知に基づいて優先ジョブとして選択したジョブの前記レディーキューが空であった場合は、次の優先ジョブを選択する。 In the resource allocation method for the second job of the present invention, in the resource allocation method for the first job, when the ready queue of the job selected as the priority job based on the notification is empty Select the next priority job.
本発明の第3のジョブへの資源割当方法は、前記第1または第2のジョブへの資源割当方法に於いて、前記プロセッサ優先割り当て時間は、一定時間の周期を前記ジョブ毎のシステム割り当て割合で分配した時間である。 The resource allocation method to a third job according to the present invention is the resource allocation method to the first or second job, wherein the processor preferential allocation time is a fixed time period and a system allocation ratio for each job. It is the time distributed by.
本発明の第4のジョブへの資源割当方法は、前記第1乃至第3のいずれかのジョブへの資源割当方法に於いて、所定の処理を実行する例外プロセスを含む例外レディーキューに前記例外プロセスが存在する場合には、前記優先ジョブよりも前記例外プロセスに対応する最優先ジョブを優先して、前記例外レディーキューの先頭の例外プロセスを取り出して当該例外プロセスの命令を実行する。 The resource allocation method for a fourth job of the present invention is the resource allocation method for any one of the first to third jobs, wherein the exception is added to the exception ready queue including an exception process for executing a predetermined process. If there is a process, the highest priority job corresponding to the exception process is prioritized over the priority job, the exception process at the head of the exception ready queue is taken out, and the exception process instruction is executed.
本発明の第5のジョブへの資源割当方法は、前記第1乃至第4のいずれかのジョブへの資源割当方法に於いて、前記優先ジョブに対応するプロセス間で優先順位が変化した場合は、実行中のプロセスを対応する前記レディーキューに戻し、当該レディーキューの先頭のプロセスを取り出して当該プロセスの命令を実行する。 In the resource allocation method for a fifth job according to the present invention, in the resource allocation method for any of the first to fourth jobs, when the priority order changes between processes corresponding to the priority job. The process being executed is returned to the corresponding ready queue, the process at the head of the ready queue is taken out, and the instruction of the process is executed.
本発明の第6のジョブへの資源割当方法は、前記第1乃至第5のいずれかのジョブへの資源割当方法に於いて、前記最優先ジョブに対応する例外プロセス間で優先順位が変化した場合は、実行中の例外プロセスを対応する前記例外レディーキューに戻し、当該例外レディーキューの先頭の例外プロセスを取り出して当該例外プロセスの命令を実行する。 The resource allocation method to the sixth job of the present invention is the resource allocation method to any one of the first to fifth jobs, wherein the priority order is changed between exceptional processes corresponding to the highest priority job. In this case, the exception process being executed is returned to the corresponding exception ready queue, the exception process at the head of the exception ready queue is taken out, and the instruction of the exception process is executed.
本発明の第7のジョブへの資源割当方法は、前記第1乃至第6のいずれかのジョブへの資源割当方法に於いて、前記プロセスの命令を一つ実行する度に、実行中のプロセスに対応するジョブの優先期間の計時値を更新し、当該ジョブの前記プロセッサ優先割り当て時間に達したか否かを確認する。 According to a seventh method of allocating resources to a job of the present invention, in the resource allocating method to any one of the first to sixth jobs, a process being executed every time one instruction of the process is executed. Is updated, and it is checked whether or not the processor priority allocation time of the job has been reached.
本発明の第8のジョブへの資源割当方法は、前記第1乃至第7のいずれかのジョブへの資源割当方法に於いて、前記ジョブの終了、追加の発生に対応して前記プロセッサ優先割り当て時間を再算出する手段を備えた。 The resource allocation method to the eighth job of the present invention is the resource allocation method to any one of the first to seventh jobs, wherein the processor priority allocation in response to the end or addition of the job. A means for recalculating the time was provided.
本発明のプログラムは、情報処理システムに、予め定められたジョブ毎のプロセッサ優先割り当て時間に基づいてジョブの切替を通知し、前記通知に基づいて優先ジョブとして選択したジョブに対応するプロセスを含むレディーキューから、先頭のプロセスを取り出して当該プロセスの命令を実行する処理を行わせる。 The program of the present invention notifies the information processing system of job switching based on a predetermined processor priority allocation time for each job and includes a process corresponding to the job selected as the priority job based on the notification. The first process is taken out from the queue, and processing for executing the instruction of the process is performed.
本発明によれば、複数のジョブを単一のシステムで実行する場合において、特定のジョブの負荷が増大した場合でも、他のジョブの性能低下や実行出来ない状況が発生することを防止する、オーバヘッドの少ないシンプルな構成で汎用性に優れたジョブへの資源割当方式を提供することが可能になる。その理由は、あらかじめ定められたジョブ毎のプロセッサ優先割り当て時間に基づいて、ジョブの優先期間の切替を通知し、当該通知に基づいて、優先期間に実行されるジョブとして選択されたジョブの、プロセッサが実行可能なプロセスを待ち行列にしたレディーキューの先頭からプロセスを取り出して、プロセッサに割り当てて実行させるようにしたからである。 According to the present invention, in the case where a plurality of jobs are executed in a single system, even when the load of a specific job increases, it is possible to prevent the performance degradation of other jobs and the situation where the jobs cannot be executed. It is possible to provide a resource allocation method for jobs with excellent versatility with a simple configuration with little overhead. The reason is that notification of switching of the priority period of the job is made based on the processor priority allocation time for each predetermined job, and the processor of the job selected as the job to be executed in the priority period based on the notification This is because the process is taken out from the head of the ready queue in which executable processes are queued, assigned to the processor and executed.
次に、本発明について図面を参照して詳細に説明する。 Next, the present invention will be described in detail with reference to the drawings.
図1を参照すると、本発明の第1の実施の形態は、命令実行手段111と、ディスパッチャ112と、タイマ113と、レディーキュー記憶部114と、割り当て時間記憶部115とで構成されている。
Referring to FIG. 1, the first embodiment of the present invention includes an
命令実行手段111は、ディスパッチャ112が選択した実行可能プロセスを構成する命令を実行する。
The
ディスパッチャ112は、図3に示す実行可能プロセス群311の中から、命令を実行すべき、当該実行可能プロセスを一つ選択する。ディスパッチャ112は、タイマ113にジョブの優先期間の割り当て時間を送信する。ディスパッチャ112は、タイマ113から切り替え指示を受信すると、当該優先期間のジョブを切り替える。
The
タイマ113は、当該割り当て時間を受信すると、ジョブの優先期間を計時し、当該優先期間が割り当て時間に達するとディスパッチャ112に切り替え指示を出力する。
When the
レディーキュー記憶部114は、ジョブ毎に実行可能プロセスを待ち行列にしたレディーキュー群を記憶する。
The ready
図3を参照すると、レディーキュー群303は、レディーキュー304〜309およびレディーキュー310を含む。レディーキュー304〜309は、それぞれジョブA〜Fに対応し、実行可能プロセス群311の中で対応するジョブA〜Fの配下となる実行可能プロセスの待ち行列を構成する。例えば、レディーキュー306は、ジョブCの配下となる実行可能プロセスの待ち行列を構成する。
Referring to FIG. 3, the
レディーキュー310は、最優先ジョブに対応し、配下となる実行可能例外プロセスの待ち行列を構成する。最優先ジョブとは、ジョブA〜Fに対応していないシステム共通処理、あるいは、ジョブA〜Fに対応しているが緊急性を要する処理のプロセスを例外プロセスとして定義し、例外プロセスの集合を示す。
The
レディーキュー310に実行可能プロセスが繋げられると、ディスパッチャ112はその先頭に繋がれた実行可能プロセスを最優先で選択する。命令実行手段111は、選択された実行可能プロセスの命令を実行する。最優先ジョブには、ジョブA〜Fへの割り当て割合202〜207と対応するものは定義されないため、プロセッサ優先割り当て時間に相当するものはない。
When an executable process is connected to the
実行可能プロセス群311は、ディスパッチャ112から選択され、命令実行手段111により実行されるのを待っているプロセス群である。
The executable process group 311 is a process group selected from the
一般的に、プロセスがレディーキューに繋がって待ち行列を構成し、レディーキューから取り出されて実行される処理は、当業者にとって周知の技術であるが、本実施の形態の理解をより容易にする上で有用な点について説明する。本実施の形態においては、命令実行手段111による実行状態にあるプロセスを実行中プロセスと呼ぶ。ある時点での実行中プロセスは一つだけである。プロセスは、ジョブA〜F、あるいは、最優先ジョブ内での実行順序に関する優先順位を持っている。
In general, processes that are connected to a ready queue to form a queue and are taken out of the ready queue and executed are techniques well known to those skilled in the art, but make it easier to understand the present embodiment. The useful points will be described. In the present embodiment, a process in an execution state by the
レディーキュー304〜309およびレディーキュー310は、各々のレディーキューにおいて、この優先順位に従った、先入れ先出し方式により実行可能プロセスの待ち行列を構成する。優先順位が高いプロセスは低いプロセスより対応するレディーキューの先頭側に繋がれ、同一優先順位のプロセス同士であれば、時間的に先に繋がれたプロセスが対応するレディーキューの先頭側に繋がれる。
Each of the
従って、レディーキュー304〜309およびレディーキュー310の先頭に繋がれた実行可能プロセスは、そのレディーキュー304〜309およびレディーキュー310を構成する実行可能プロセスの中では、一番優先度が高く、命令実行手段111による実行状態となり、実行中プロセスと成り得るプロセスである。
Therefore, the executable process connected to the heads of the
図2は、本実施の形態が動作するシステム構成の例である。本実施の形態は、プロセッサ131と、メモリ132と、入出力制御部133と、サービスプロセッサ134と、周辺装置群135と、コンソール136を有している。
FIG. 2 is an example of a system configuration in which the present embodiment operates. The present embodiment includes a
プロセッサ131は、本実施の形態においては、プログラムの指示に従い演算をはじめとするデータ処理を実行するものである。命令実行手段111、ディスパッチャ112、タイマ113が、それぞれの対応するプログラムと、プロセッサ131とによって実現されている。
In the present embodiment, the
メモリ132は、本実施の形態においては、プログラム、および、当該プログラムのワークエリア、バッファ等を記憶するものであり、レディーキュー記憶部114と、割り当て時間記憶部115とを少なくとも有している。
In this embodiment, the
入出力制御部133、サービスプロセッサ134、周辺装置群135、および、コンソール136は、一般のコンピュータシステムを構成する周知の技術であり、本実施の形態においては特別な位置づけを持たないため、説明を省略する。
The input /
図4は、本発明が本実施の形態を用いて適用されるシステムにおける、プロセス識別番号101の構造を示す図である。ジョブ識別番号102は、各ジョブに対応したシステム内でユニークな番号である。ジョブ内のプロセス識別番号103は、各プロセスに対応したジョブ内でユニークな番号である。システム内のプロセス識別番号101は、ジョブ識別番号102とジョブ内のプロセス識別番号103を組み合わせた番号であり、各プロセスに対応したシステム内でユニークな番号である。本発明が本実施の形態を用いて適用されるシステムにおいて実行される各ジョブおよび各プロセスは、システム内のプロセス識別番号101、ジョブ識別番号102、ジョブ内のプロセス識別番号103で識別され、管理および制御される。
FIG. 4 is a diagram showing the structure of the process identification number 101 in the system to which the present invention is applied using this embodiment. The
次に、図1〜図11を参照して、本発明の第1の実施の形態の動作について、具体的な実施例を示して詳細に説明する。 Next, the operation of the first exemplary embodiment of the present invention will be described in detail with reference to specific examples with reference to FIGS.
図5は、本発明が本実施の形態を用いて適用されるシステムにおける、プロセッサ優先割り当て時間算出の基となる周期201と、システム割り当て割合202〜207との例を示したものである。周期201は、システム割り当てを繰り返す一定時間の周期である。システム割り当て割合202〜207は、それぞれジョブA〜F毎に対応し、周期201内での各ジョブへのシステム割り当て割合を示すものである。例えば、周期を500μS、ジョブAに対するシステム割り当て割合202を20%とすると、ジョブAの優先期間であるプロセッサ優先割り当て時間は、500μS×0.2=100μSである。
FIG. 5 shows an example of the
図6は、本発明が本実施の形態を用いて適用されるシステムにおける、各ジョブに対する命令実行手段111の割り当てと、ディスパッチャ112、タイマ113の関係を示したイメージである。
FIG. 6 is an image showing the assignment of the instruction execution means 111 to each job and the relationship between the
ディスパッチャ112は、割り当て時間記憶部115の割り当て時間テーブル402をジョブ識別番号102に基づいて参照し、ジョブ識別番号102に対応する割り当て時間を取得する。ディスパッチャ112は、取得した割り当て時間を、タイマ113に出力する。
The
タイマ113は、割り当て時間を取得して、ジョブ識別番号102に対応するジョブの優先期間の計時を開始する。タイマ113は、優先期間の計時が割り当て時間に達すると、ディスパッチャ112に優先ジョブの切替指示405を出力する。ディスパッチャ112は、切り替え指示405を取得すると、優先ジョブを切り替える。即ち、切り替え指示405は、命令実行手段111により実行すべき実行可能プロセスの切替指示となる。
The
実行期間406〜419は、対応するジョブが優先期間となり命令実行手段111を割り当てられていることを表示している。実行期間406〜411では、ジョブA〜Fの割り当て時間に対応して命令実行手段111が割り当てられている。ジョブAの実行期間412と414の間に最優先ジョブの実行期間413が存在するが、これは実行期間412中において、最優先ジョブのレディーキュー310に実行可能プロセスが繋げられ、その先頭の実行可能プロセスが最優先で、命令実行手段111を割り当てられている状態を表現したものである。レディーキュー310に繋げられた実行可能プロセスが存在しなくなると(レディーキュー310が空になると)、中断されたジョブAの実行期間412の続きとして、実行期間414となる。実行期間414〜417までは、ジョブA〜Dの割り当て時間に対応して命令実行手段111が割り当てられている。実行期間417と418の間にジョブEの実行期間が存在しないが、これはこの時点で、ジョブEのレディーキュー308が空であることを表現している。ジョブFの実行期間418が終了すると、ジョブAの実行期間419になる。
図7は、本発明が本実施の形態を用いて適用されるシステムにおける、ジョブへの資源割当の基本の動作を示すフローチャートである。 FIG. 7 is a flowchart showing the basic operation of resource allocation to a job in a system to which the present invention is applied using this embodiment.
以下の説明において、命令実行手段111の状態は、命令実行手段111による実行状態にあるプロセスである実行中プロセスが、命令実行手段111上にない状態(空き状態)と、命令実行手段111上に取り込んで、命令実行手段111上に存在している状態(プロセス状態)がある。プロセス状態では、一つだけ命令実行手段111上に存在している実行中プロセスを実行する。命令実行手段111に取り込む実行中プロセスは、レディーキュー群303に繋がれた実行可能プロセス群311の中から、その時点で最優先の実行可能プロセスが、ディスパッチャ112により一つだけ選択される。
In the following description, the state of the
以下の説明において、レディーキューm、レディーキューnは、レディーキュー304〜レディーキュー309のいずれかのレディーキューであることを示す。
In the following description, the ready queue m and the ready queue n indicate that they are any ready queues of the
ディスパッチャ112は、命令実行手段111上に最優先ジョブに属する実行中プロセスが存在するか否かを確認し、存在すればステップ511に分岐し、否であればステップ502に進む(ステップ501)。
The
ディスパッチャ112は、最優先ジョブのレディーキュー310に実行可能プロセスが存在するか否かを確認し、存在すればステップ514に分岐し、否であればステップ503に進む(ステップ502)。
The
ディスパッチャ112は、タイマ113から優先ジョブの切り替え指示405があるかどうかを確認する。処理は、優先ジョブの切り替え指示405が存在すればステップ518に分岐し、否であればステップ504に進む(ステップ503)。
The
ディスパッチャ112は、命令実行手段111上に実行中プロセスが存在するか否かを確認し、存在すればステップ505に進み、否であればステップ523に分岐する(ステップ504)。
The
ディスパッチャ112は、同一のジョブ内でプロセススイッチ要因があるか確認する。プロセススイッチ要因があればステップ506に進み、否であればステップ507に進む(ステップ505)。プロセススイッチとは、命令実行手段111上の実行中プロセスを実行可能プロセス群311の中に戻し、実行可能プロセス群311の中から規定に従った一つの実行可能プロセスを選択し、命令実行手段111上の実行中プロセスとする処理を言う。
The
ディスパッチャ112は、命令実行手段111上の実行中プロセスを対応するレディーキューmに戻すことにより実行可能プロセスとし、当該レディーキューmの先頭に存在する実行可能プロセスを命令実行手段111上に取り込み実行中プロセスとする。これにより、同一のジョブ内でのプロセススイッチが実施され、ステップ507に進む(ステップ506)。
The
命令実行手段111は、命令実行手段111上の実行中プロセスの命令を一つ実行する。この命令はプロセスを構成する命令群のひとつであり、予め定められた規則に従って命令群の中から選択された命令である。その後、処理は、ステップ508に進む(ステップ507)。
The
タイマ113は、命令実行手段111上の実行中プロセスが属するジョブの計時値を更新し、当該ジョブに与えられた割り当て時間を計測する。その後、処理は、ステップ509に進む(ステップ508)。
The
ディスパッチャ112は、命令実行手段111上の実行中プロセスは継続して実行可能か否かを確認する。ステップ507の命令の実行結果によっては、該実行中プロセスが、実行可能状態から他の状態に遷移する規則になっているためである。処理は、継続して実行可能であればステップ501に分岐し、否であればステップ510に進む(ステップ509)。
The
ディスパッチャ112は、命令実行手段111上の実行中プロセスを、実行中の状態から規則により規定された適当な状態に遷移させる。これにより、命令実行手段111上には実行中プロセスが存在しなくなる。その後、処理は、ステップ501に分岐する(ステップ510)。
The
図8は、命令実行手段111上で最優先ジョブに属する実行中プロセスが存在した場合の動作を示すフローチャートである。ディスパッチャ112は、最優先ジョブ内でプロセススイッチ要因があるか確認する。処理は、要因があればステップ512に進み、否であればステップ513に進む(ステップ511)。
FIG. 8 is a flowchart showing an operation in the case where there is an executing process belonging to the highest priority job on the
ディスパッチャ112は、命令実行手段111上の実行中プロセスを最優先ジョブのレディーキュー310に戻すことにより実行可能プロセスとし、同レディーキュー310の先頭に存在する実行可能プロセスを命令実行手段111上に取り込み、実行中プロセスとする(ステップ512)。
The
ディスパッチャ112は、命令実行手段111上の実行中プロセスの一つの命令を実行する。本ステップ513での実行中プロセスは最優先ジョブに属している。その後、処理は、ステップ509に進む。最優先ジョブにはプロセッサ優先割り当て時間に相当するものが無いため、ステップ508は実行しない(ステップ513)。
The
図9は、命令実行手段111上に最優先ジョブに属する実行中プロセスは存在せず、かつ最優先ジョブのレディーキュー310には実行可能プロセスが存在する場合の動作を示すフローチャートである。ディスパッチャ112は、命令実行手段111上にジョブA〜Fに属する実行中プロセスが存在するか否かを確認し、存在すれば、ステップ515に進み、否であればステップ516に進む(ステップ514)。
FIG. 9 is a flowchart showing an operation when there is no executing process belonging to the highest priority job on the
ディスパッチャ112は、命令実行手段111上のジョブA〜Fに属する実行中プロセスを対応するレディーキューmに戻し実行可能プロセスとする。その後、処理は、ステップ516に進む(ステップ515)。
The
ディスパッチャ112は、最優先ジョブのレディーキュー310の先頭に存在する実行可能プロセスを命令実行手段111上に取り込み、実行中プロセスとする(ステップ516)。
The
ディスパッチャ112は、ステップ516で取り込んだ実行中プロセスの一つの命令を実行する。その後、処理は、ステップ509に分岐する。最優先ジョブにはプロセッサ優先割り当て時間に相当するものが無いため、ステップ508は実行しない(ステップ517)。
The
図10は、最優先ジョブに属する実行中プロセスも実行可能プロセスも存在せず、かつタイマ113から優先期間の切り替え指示405がある場合の動作を示すフローチャートである。ディスパッチャ112は、命令実行手段111上に実行中プロセスが存在するか否かを確認する。この実行中プロセスはジョブA〜Fの何れかに属しているものである。処理は、命令実行手段111上に実行中プロセスが存在すればステップ519に進み、否であればステップ520に進む(ステップ518)。
FIG. 10 is a flowchart showing an operation when there is no executing process or executable process belonging to the highest priority job and there is a priority period switching instruction 405 from the
ディスパッチャ112は、命令実行手段111上の実行中プロセスを対応するレディーキューmに戻す。この実行中プロセスは、優先期間が終了したジョブに属したものである。その後、処理は、ステップ520に進む(ステップ519)。
The
ディスパッチャ112は、優先期間を次のジョブに切り替え、当該ジョブに対応した割り当て時間をタイマ113に出力する。対応する優先期間の優先ジョブの切替指示405はリセットされる。その後、処理は、ステップ521に進む(ステップ520)。
The
ディスパッチャ112は、優先期間の切替先のジョブに対応したレディーキューn(n=304〜309)に実行可能プロセスが存在するか否かを確認し、存在すればステップ522に進み、否であればステップ501に分岐する(ステップ521)。
The
ディスパッチャ112は、レディーキューnの先頭に存在する実行可能プロセスを命令実行手段111上に取り込み、実行中プロセスとする。その後、処理は、ステップ507に分岐する(ステップ522)。
The
図11は、最優先ジョブに属する実行中プロセスおよび実行可能プロセスが存在せず、タイマ113から優先期間の切り替え指示405も無く、かつ、命令実行手段111上にジョブA〜Fに属する実行中プロセスも無い場合の動作を示すフローチャートである。ディスパッチャ112は、優先期間をアサインされたジョブに対応したレディーキューmに実行可能プロセスが存在するか否かを確認し、存在する場合はステップ524に進む。否であれば、処理は、ステップ520に分岐し、優先期間を次のジョブに切り替える(ステップ523)。
FIG. 11 shows that there is no executing process and executable process belonging to the highest priority job, there is no priority period switching instruction 405 from the
ディスパッチャ112は、優先期間をアサインされたジョブに対応したレディーキューmの先頭に存在する実行可能プロセスを命令実行手段111上に取り込み、実行中プロセスとする。その後、処理は、ステップ507に分岐する(ステップ524)。
The
このようにして、ディスパッチャ112は、上記に述べた規則に従い、あるジョブの優先割り当て時間内で、規則に従い、当該ジョブのに対応するレディーキューの先頭から当該ジョブに属するプロセスを取り込み、命令実行手段111上の実行中プロセスとする。
In this way, the
本発明の第1の実施の形態によれば、あらかじめ定められたジョブ毎のシステム割り当て割合に基づいたプロセッサ割り当て時間をジョブ毎の優先期間とし、ジョブ毎に対応するレディーキューには、各ジョブに属する実行可能プロセスを繋ぎ、ジョブ毎の優先期間において、ジョブ毎に対応するレディーキューの先頭に繋がれた実行可能プロセスを選択し、プロセッサに割り当て実行させることができるようにしたことにより、各ジョブに対するプロセッサの割り当て時間は、予め設定された各ジョブへのシステム割り当て割合とほぼ同じになり、複数のジョブを単一のシステムで実行する場合において、特定のジョブの負荷が増大した場合でも、他のジョブが実行出来ない状況やシステムの割り当て割合が減少する状況を防止することが可能になるという効果を有している。 According to the first embodiment of the present invention, a processor allocation time based on a predetermined system allocation ratio for each job is set as a priority period for each job, and a ready queue corresponding to each job is assigned to each job. By connecting the executable processes that belong to each other and selecting the executable process connected to the head of the ready queue corresponding to each job in the priority period for each job, it can be assigned to the processor and executed. The processor allocation time for the system is almost the same as the preset system allocation ratio for each job, and when multiple jobs are executed on a single system, even if the load of a specific job increases, To prevent the situation where the job cannot be executed or the system allocation ratio decreases It has the advantage of being ability.
また、本発明の第1の実施の形態によれば、一つのジョブが、優先ジョブの期間であっても、実行すべき仕事が無くなり、優先ジョブのレディーキューが空であった場合、他のジョブが優先ジョブに切り替わるようにしたことにより、特定のジョブの負荷が軽くなり、ジョブのシステム使用時間が予め定めたシステム割り当て割合に満たない場合は、システム時間を無駄にすることなく、他のジョブにシステムを割り当てることが可能になるという効果を有している。 Further, according to the first embodiment of the present invention, even if one job is in the priority job period, when there is no work to be executed and the ready queue of the priority job is empty, By switching the job to the priority job, the load of a specific job is reduced, and if the system usage time of the job is less than the predetermined system allocation ratio, the system time is not wasted, This has the effect that it is possible to assign a system to a job.
さらに、本発明の第1の実施の形態によれば、システム共通処理や緊急性を要するジョブを最優先ジョブと定義し、最優先ジョブに対応するレディーキューを備え、レディーキューに実行可能プロセスが繋がれた場合、即ちこの最優先ジョブで実行すべき仕事が発生すると、最優先でシステムを割り当てるようにしたことにより、最優先ジョブについては、一般のジョブが優先ジョブである期間か否かに関わらず、最優先でシステムを割り当てることが可能になるという効果を有している。 Furthermore, according to the first embodiment of the present invention, a job requiring system common processing or urgency is defined as the highest priority job, and a ready queue corresponding to the highest priority job is provided, and an executable process is provided in the ready queue. When connected, that is, when a job to be executed in the highest priority job occurs, the system is assigned with the highest priority, so that the highest priority job is determined as to whether a general job is a priority job or not. Regardless, the system can be assigned with the highest priority.
次に本発明の第2の実施の形態について図面を参照して詳細に説明する。 Next, a second embodiment of the present invention will be described in detail with reference to the drawings.
図12は、本発明の第2の実施の形態の構成を示すブロック図である。本発明の第2の実施の形態においては、本発明の第1の実施の形態の構成を示すブロック図である図1に対して、割り当て時間算出手段116が追加されていることが、本発明の第1の実施の形態と異なる。 FIG. 12 is a block diagram showing the configuration of the second exemplary embodiment of the present invention. In the second embodiment of the present invention, the allocation time calculation means 116 is added to FIG. 1 which is a block diagram showing the configuration of the first embodiment of the present invention. This is different from the first embodiment.
割り当て時間算出手段116は、例えば図2に示すサービスプロセッサ134や、コンソール136から入力された、図5に示す周期201と、ジョブ毎のシステム割り当て割合202〜207を取得する。そして、割り当て時間算出手段116は、図5に示す周期201と、ジョブ毎のシステム割り当て割合202〜207に基づいて、ジョブ毎のプロセッサ優先割り当て時間を算出し、図6割り当て時間テーブル402に格納する。
The allocation
第2の実施の形態の動作について、図5に示す例により、具体的な実施例を詳細に説明する。割り当て時間算出手段116は、図示しない何らかの手段から、図5に示す周期201=T[μs]として『500』を、ジョブAのシステム割り当て割合202=Ra[%]として『20』を、ジョブBのシステム割り当て割合203=Rb[%]として『10』、ジョブCのシステム割り当て割合204=Rc[%]として『30』を、ジョブDのシステム割り当て割合205=Rd[%]として『12』を、ジョブEのシステム割り当て割合206=Re[%]として『18』を、ジョブFのシステム割り当て割合207=Rf[%]として『10』、を取得する。そして、割り当て時間算出手段116は、これらに基づいて、ジョブAのプロセッサ優先割り当て時間=500[μs]×0.2=100[μs]を、ジョブBのプロセッサ優先割り当て時間=500[μs]×0.1=50[μs]を、ジョブCのプロセッサ優先割り当て時間=500[μs]×0.3=150[μs]を、ジョブDのプロセッサ優先割り当て時間=500[μs]×0.12=60[μs]を、ジョブEのプロセッサ優先割り当て時間=500[μs]×0.18=90[μs]を、ジョブFのプロセッサ優先割り当て時間=500[μs]×0.1=10[μs]を算出する。そして、割り当て時間算出手段116は、図6に示す割り当て時間テーブル402に格納する。
The operation of the second embodiment will be described in detail with reference to the example shown in FIG. The allocation
さらに、割り当て時間算出手段116は、ジョブの終了、ジョブの追加が発生した場合にプロセッサ優先割り当て時間を再算出するための再算出機能を有する。 Furthermore, the allocation time calculation means 116 has a recalculation function for recalculating the processor priority allocation time when a job ends or a job is added.
以下に、図5に示す状態に対して、ジョブGが追加された場合の、プロセッサ優先割り当て時間を再算出する動作について具体的に説明する。ディスパッチャ112は、ジョブの追加を検出すると割り当て時間算出手段116にプロセッサ優先割り当て時間の再算出を指示する。割り当て時間算出手段116は、ジョブGのシステム割り当て割合Rg[%]=『10』を取得する。ここで、図5に示す周期201=『500[μs]』は、既存のジョブA〜Fのシステム割り当て割合の合計『100%』で配分されている。このため、割り当て時間算出手段116は、ジョブGのシステム割り当て割合を合わせて、全体が100%になるようにジョブA〜Fのシステム割り当て割合を再計算する。割り当て時間算出手段116は、ジョブAのシステム割り当て割合202=Ra[%]=20[%]÷1.1=18[%]、ジョブBのシステム割り当て割合203=Rb[%]=10[%]÷1.1=9[%]、ジョブC以下も同様であり、ジョブGのシステム割り当て割合Rg[%]=10[%]÷1.1=9[%]を算出する。
The operation for recalculating the processor priority allocation time when job G is added to the state shown in FIG. 5 will be specifically described below. When the
そして、割り当て時間算出手段116は、この再計算した各ジョブのシステム割り当て割合に基づいて、各ジョブのプロセッサ優先割り当て時間を再算出する。
Then, the allocation
尚、以上の例では、周期を変えずにシステム割り当て割合を再計算する場合を説明したが、周期201=『500[μs]』に対して、ジョブGのシステム割り当て割合Rg[%]=『10』に当たる分のプロセッサ優先割り当て時間『50μs』を周期に追加して周期201=『550[μs]』として再算出しても良い。
In the above example, the case where the system allocation ratio is recalculated without changing the period has been described. However, for the
また、ジョブが終了した場合も、容易に同様の方法を適用できる。 Also, the same method can be easily applied when a job is completed.
本発明の第2の実施の形態によれば、割り当ての周期とジョブ毎のシステム割り当て割合に基づいて、また、ジョブの終了、追加の発生に対応してジョブ毎のプロセッサ優先割り当て時間を算出するようにしたことにより、プロセッサ優先割り当て時間をあらかじめ計算する手間を省略できる汎用的な、ジョブへの資源割当方式を提供することが可能になるという効果を有している。
According to the second embodiment of the present invention, the processor priority allocation time for each job is calculated based on the allocation cycle and the system allocation ratio for each job, and in response to the end or addition of the job. By doing so, there is an effect that it is possible to provide a general-purpose resource allocation method for jobs that can save the effort of calculating the processor priority allocation time in advance.
本発明は、一般の情報処理装置で活用可能であるが、特に一つのプロセッサ上で複数の機能を処理する場合などに有効である。 The present invention can be used in a general information processing apparatus, but is particularly effective when a plurality of functions are processed on one processor.
本発明の活用例として、一つのプロセッサ上において、ネットワーク、ディスク、テープ、コンソールなどの入出力処理を行わせる場合、各処理に対して、予め定めた割合で効率良くプロセッサを使用させることが出来る。 As an application example of the present invention, when input / output processing of a network, a disk, a tape, a console, etc. is performed on one processor, the processor can be used efficiently at a predetermined rate for each processing. .
101 システム内のプロセス識別番号
102 ジョブ識別番号
103 ジョブ内のプロセス識別番号
111 命令実行手段
112 ディスパッチャ
113 タイマ
114 レディーキュー記憶部
115 割り当て時間記憶部
116 割り当て時間算出手段
131 プロセッサ
132 メモリ
133 入出力制御部
134 サービスプロセッサ
135 周辺装置群
136 コンソール
201 周期
202〜207 システム割り当て割合
304〜309 レディーキュー
310 レディーキュー
311 実行可能プロセス群
402 割り当て時間テーブル
405 優先ジョブの切替指示
406〜419 実行期間
DESCRIPTION OF SYMBOLS 101 Process identification number in
Claims (11)
プロセスの命令を実行する命令実行手段と、
前記タイマからの通知に基づいて優先ジョブとして選択したジョブに対応するプロセスを含むレディーキューから、先頭のプロセスを取り出して前記命令実行手段に割り当てて当該プロセスの命令を実行させるディスパッチャと、
前記ジョブの終了、追加の発生に対応して前記プロセッサ優先割り当て時間を前記ジョブ毎のシステム割り当て割合に基づいて再算出する手段と、を含み、
前記ディスパッチャは、前記命令実行手段が前記プロセスの命令を一つ実行する度に、所定の処理を実行する例外プロセスを含む例外レディーキューに前記例外プロセスが存在するかを確認し、前記例外レディーキューに前記例外プロセスが存在する場合には、前記優先ジョブよりも前記例外プロセスに対応する最優先ジョブを優先して、前記例外レディーキューの先頭の例外プロセスを取り出して前記命令実行手段に割り当てて当該例外プロセスの命令を実行させる
ジョブへの資源割当方式。 A timer for notifying job switching based on a processor priority allocation time in which a predetermined period of time is distributed at a system allocation ratio for each job;
An instruction execution means for executing an instruction of the process;
A dispatcher that takes out the first process from the ready queue including the process corresponding to the job selected as the priority job based on the notification from the timer, assigns it to the instruction execution means, and executes the instruction of the process;
Means for recalculating the processor priority allocation time based on the system allocation ratio for each job in response to the end of the job and the additional occurrence ,
The dispatcher checks whether the exception process exists in an exception ready queue including an exception process that executes a predetermined process each time the instruction execution unit executes one instruction of the process, and the exception ready queue If the exception process exists, the highest priority job corresponding to the exception process is prioritized over the priority job, and the exception process at the head of the exception ready queue is extracted and assigned to the instruction execution means. A resource allocation method for jobs that execute instructions of exceptional processes .
ことを特徴とする請求項1記載のジョブへの資源割当方式。 The resource allocation method for a job according to claim 1, wherein the dispatcher selects the next priority job when the ready queue of the job selected as the priority job is empty.
ことを特徴とする請求項1又は2記載のジョブへの資源割当方式。 When the priority order changes between processes corresponding to the priority job, the dispatcher returns the process being executed to the corresponding ready queue, extracts the head process of the ready queue, and assigns it to the instruction execution unit. Te resource allocation scheme to claim 1 or 2 Symbol placement job, characterized in that to execute the instructions of the process.
ことを特徴とする請求項1乃至3のいずれか1項に記載のジョブへの資源割当方式。 When the priority changes between the exception processes corresponding to the highest priority job, the dispatcher returns the exception process being executed to the corresponding exception ready queue and extracts the exception process at the head of the exception ready queue. The resource allocation method for a job according to any one of claims 1 to 3, wherein an instruction of the exception process is executed by being assigned to the instruction execution means.
ことを特徴とする請求項1乃至4のいずれかに記載のジョブへの資源割当方式。 The timer updates the time value of the priority period of the job corresponding to the process being executed each time the instruction execution means executes one instruction of the process, and whether the processor priority allocation time of the job has been reached. resource allocation scheme to a job according to any one of claims 1 to 4, characterized in that to check whether.
予め定められた一定時間の周期をジョブ毎のシステム割り当て割合で分配したプロセッサ優先割り当て時間に基づいてジョブの切替を通知し、
前記通知に基づいて優先ジョブとして選択したジョブに対応するプロセスを含むレディーキューから、先頭のプロセスを取り出して当該プロセスの命令を実行し、
前記ジョブの終了、追加の発生に対応して前記プロセッサ優先割り当て時間を前記ジョブ毎のシステム割り当て割合に基づいて再算出し、
前記命令実行手段が前記プロセスの命令を一つ実行する度に、所定の処理を実行する例外プロセスを含む例外レディーキューに前記例外プロセスが存在するかを確認し、前記例外レディーキューに前記例外プロセスが存在する場合には、前記優先ジョブよりも前記例外プロセスに対応する最優先ジョブを優先して、前記例外レディーキューの先頭の例外プロセスを取り出して前記命令実行手段に割り当てて当該例外プロセスの命令を実行する
ジョブへの資源割当方法。 Computer system
Notification of job switching based on the processor priority allocation time in which a predetermined period of time is distributed at a system allocation ratio for each job,
From the ready queue including the process corresponding to the job selected as the priority job based on the notification, the head process is taken out and the instruction of the process is executed.
Completion of the job, out again calculated on the basis of the corresponding additional generating said processor priority allocation time to the system allocation ratio for each of the jobs,
Each time the instruction execution unit executes one instruction of the process, it checks whether the exception process exists in an exception ready queue including an exception process that executes a predetermined process, and the exception process is executed in the exception ready queue. The priority job corresponding to the exception process is prioritized over the priority job, the exception process at the head of the exception ready queue is taken out and assigned to the instruction execution means, and the instruction of the exception process is assigned. To allocate resources to jobs that execute .
ことを特徴とする請求項6記載のジョブへの資源割当方法。 Wherein when the ready queue of the job selected as the priority job based on the notification is empty, the resource allocation method to claim 6 Symbol mounting job and selects the next priority job.
ことを特徴とする請求項6又は7記載のジョブへの資源割当方法。 When the priority order changes between processes corresponding to the priority job, the process being executed is returned to the corresponding ready queue, the process at the head of the ready queue is taken out, and the instruction of the process is executed. resource allocation method to claim 6 or 7 Symbol mounting job to.
ことを特徴とする請求項6乃至8のいずれか1項に記載のジョブへの資源割当方法。 When the priority changes between the exception processes corresponding to the highest priority job, the exception process being executed is returned to the corresponding exception ready queue, the exception process at the head of the exception ready queue is taken out, and the exception process resource allocation method to the job according to any one of claims 6 to 8, wherein the executing instructions.
ことを特徴とする請求項6乃至9のいずれか1項に記載のジョブへの資源割当方法。 Each time one instruction of the process is executed, the time value of the priority period of the job corresponding to the process being executed is updated to check whether or not the processor priority allocation time of the job has been reached. resource allocation method to the job according to any one of claims 6乃 optimum 9,.
予め定められた一定時間の周期をジョブ毎のシステム割り当て割合で分配したプロセッサ優先割り当て時間に基づいてジョブの切替を通知し、
前記通知に基づいて優先ジョブとして選択したジョブに対応するプロセスを含むレディーキューから、先頭のプロセスを取り出し、
前記ジョブの終了、追加の発生に対応して前記プロセッサ優先割り当て時間を前記ジョブ毎のシステム割り当て割合に基づいて再算出し、
前記命令実行手段が前記プロセスの命令を一つ実行する度に、所定の処理を実行する例外プロセスを含む例外レディーキューに前記例外プロセスが存在するかを確認し、前記例外レディーキューに前記例外プロセスが存在する場合には、前記優先ジョブよりも前記例外プロセスに対応する最優先ジョブを優先して、前記例外レディーキューの先頭の例外プロセスを取り出して前記命令実行手段に割り当てて当該例外プロセスの命令を実行する、処理を行わせる
ことを特徴とするプログラム。 Computer system,
Notification of job switching based on the processor priority allocation time in which a predetermined period of time is distributed at a system allocation ratio for each job,
From the ready queue including the process corresponding to the job selected as the priority job based on the notification, the first process is taken out,
Recalculating the processor priority allocation time in response to the end of the job and the occurrence of addition based on the system allocation ratio for each job ,
Each time the instruction execution unit executes one instruction of the process, it checks whether the exception process exists in an exception ready queue including an exception process that executes a predetermined process, and the exception process is executed in the exception ready queue. The priority job corresponding to the exception process is prioritized over the priority job, the exception process at the head of the exception ready queue is taken out and assigned to the instruction execution means, and the instruction of the exception process is assigned. A program characterized by causing a process to be executed .
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007077633A JP5050601B2 (en) | 2007-03-23 | 2007-03-23 | Resource allocation method for job, resource allocation method for job, and program |
US12/045,763 US20080235695A1 (en) | 2007-03-23 | 2008-03-11 | Resource allocation system for jobs, resource allocation method and resource allocation program for jobs |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007077633A JP5050601B2 (en) | 2007-03-23 | 2007-03-23 | Resource allocation method for job, resource allocation method for job, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008242510A JP2008242510A (en) | 2008-10-09 |
JP5050601B2 true JP5050601B2 (en) | 2012-10-17 |
Family
ID=39776019
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007077633A Expired - Fee Related JP5050601B2 (en) | 2007-03-23 | 2007-03-23 | Resource allocation method for job, resource allocation method for job, and program |
Country Status (2)
Country | Link |
---|---|
US (1) | US20080235695A1 (en) |
JP (1) | JP5050601B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7424533B2 (en) | 2019-11-26 | 2024-01-30 | 株式会社鶴見製作所 | non-occlusion pump |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5136658B2 (en) * | 2009-02-09 | 2013-02-06 | 富士通株式会社 | Virtual computer allocation method, allocation program, and information processing apparatus having virtual computer environment |
US8458368B2 (en) * | 2009-05-26 | 2013-06-04 | Oracle America, Inc. | System and method for discovering and protecting shared allocated resources in a shared virtualized I/O device |
US20120079486A1 (en) * | 2010-09-23 | 2012-03-29 | International Business Machines Corporation | Integration of dissimilar job types into an earliest deadline first (edf) schedule |
US9448846B2 (en) * | 2011-12-13 | 2016-09-20 | International Business Machines Corporation | Dynamically configurable hardware queues for dispatching jobs to a plurality of hardware acceleration engines |
US8943505B2 (en) * | 2012-08-24 | 2015-01-27 | National Instruments Corporation | Hardware assisted real-time scheduler using memory monitoring |
US9235905B2 (en) * | 2013-03-13 | 2016-01-12 | Ologn Technologies Ag | Efficient screen image transfer |
US10162683B2 (en) | 2014-06-05 | 2018-12-25 | International Business Machines Corporation | Weighted stealing of resources |
CN107844370B (en) * | 2016-09-19 | 2020-04-17 | 杭州海康威视数字技术股份有限公司 | Real-time task scheduling method and device |
CN107577528B (en) * | 2017-09-01 | 2020-09-08 | 长沙小卡机器人科技有限公司 | Method for parallel running of multitask sequences |
CN111274024B (en) * | 2019-03-19 | 2023-05-30 | 中标软件有限公司 | CFS scheduler-based ready queue average load optimization method and data structure |
US11256547B2 (en) * | 2019-05-31 | 2022-02-22 | Altair Engineering, Inc. | Efficient allocation of cloud computing resources to job requests |
WO2021186747A1 (en) * | 2020-03-20 | 2021-09-23 | 株式会社シナプスイノベーション | Resource allocation method and system |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0269174A (en) * | 1988-09-02 | 1990-03-08 | Sumitomo Heavy Ind Ltd | Measuring device for bioprocess |
US5386561A (en) * | 1992-03-31 | 1995-01-31 | International Business Machines Corporation | Method of integrated system load control through dynamic time-slicing in a virtual storage environment |
US5528513A (en) * | 1993-11-04 | 1996-06-18 | Digital Equipment Corp. | Scheduling and admission control policy for a continuous media server |
JPH09160792A (en) * | 1995-12-11 | 1997-06-20 | Casio Comput Co Ltd | Data processor |
US6061709A (en) * | 1998-07-31 | 2000-05-09 | Integrated Systems Design Center, Inc. | Integrated hardware and software task control executive |
JP2000056992A (en) * | 1998-08-13 | 2000-02-25 | Nec Corp | Task scheduling system, its method and recording medium |
US6757897B1 (en) * | 2000-02-29 | 2004-06-29 | Cisco Technology, Inc. | Apparatus and methods for scheduling and performing tasks |
JP4292705B2 (en) * | 2000-11-24 | 2009-07-08 | パナソニック株式会社 | Task scheduling device |
US20030037091A1 (en) * | 2001-08-09 | 2003-02-20 | Kozo Nishimura | Task scheduling device |
JP2004005227A (en) * | 2002-05-31 | 2004-01-08 | Sony Corp | Arithmetic processing system, exception handling method on computer system, and computer program |
JP4750350B2 (en) * | 2003-03-13 | 2011-08-17 | パナソニック株式会社 | Task switching device, method and program |
JP2004326486A (en) * | 2003-04-25 | 2004-11-18 | Matsushita Electric Ind Co Ltd | Task management device |
JP4606142B2 (en) * | 2004-12-01 | 2011-01-05 | 株式会社ソニー・コンピュータエンタテインメント | Scheduling method, scheduling apparatus, and multiprocessor system |
JP4936517B2 (en) * | 2006-06-06 | 2012-05-23 | 学校法人早稲田大学 | Control method for heterogeneous multiprocessor system and multi-grain parallelizing compiler |
-
2007
- 2007-03-23 JP JP2007077633A patent/JP5050601B2/en not_active Expired - Fee Related
-
2008
- 2008-03-11 US US12/045,763 patent/US20080235695A1/en not_active Abandoned
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7424533B2 (en) | 2019-11-26 | 2024-01-30 | 株式会社鶴見製作所 | non-occlusion pump |
Also Published As
Publication number | Publication date |
---|---|
US20080235695A1 (en) | 2008-09-25 |
JP2008242510A (en) | 2008-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5050601B2 (en) | Resource allocation method for job, resource allocation method for job, and program | |
EP2701074B1 (en) | Method, device, and system for performing scheduling in multi-processor core system | |
CN102473118B (en) | Information processing system | |
JP5598229B2 (en) | Job distributed processing system, information processing apparatus, and program | |
JP5324934B2 (en) | Information processing apparatus and information processing method | |
KR101827289B1 (en) | Task scheduling method for real time operating system | |
EP2562644B1 (en) | Systems and methods for bounding processing times on multiple processing units | |
KR101640848B1 (en) | Job Allocation Method on Multi-core System and Apparatus thereof | |
JP6201530B2 (en) | Information processing system, job management apparatus, control program for job management apparatus, and control method for information processing system | |
KR20110080735A (en) | Computing System and Method | |
KR100791296B1 (en) | Apparatus and method for providing cooperative scheduling in multi-core systems | |
US10606650B2 (en) | Methods and nodes for scheduling data processing | |
JP2012073690A (en) | Job scheduling program, method and device | |
Xu et al. | Prophet: Scheduling executors with time-varying resource demands on data-parallel computation frameworks | |
US20180321973A1 (en) | Method and apparatus for scheduling tasks to a cyclic schedule | |
JP3952058B2 (en) | Transaction load distribution method and method based on estimated expansion rate, and computer-readable recording medium | |
JP2010186347A (en) | System, method and program for scheduling job | |
JP5417626B2 (en) | Management computer, job scheduling method and job scheduling program | |
JP7188472B2 (en) | Computer, scheduling method and program | |
CN110955500B (en) | Scheduling method and device for large-scale concurrent tasks | |
JP4650697B2 (en) | CPU resource management method | |
JP2020021160A (en) | Information processing apparatus, program, and information processing system | |
WO2022185527A1 (en) | Scheduling device, scheduling method, and scheduling program | |
JP7355456B2 (en) | CPU resource management device | |
US20150135188A1 (en) | System and method for controlling execution of jobs performed by plural information processing devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20090513 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100216 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110516 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110524 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110617 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20110705 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120124 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120316 |
|
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: 20120626 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120709 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5050601 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150803 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |