Nothing Special   »   [go: up one dir, main page]

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 PDF

Info

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
Application number
JP2007077633A
Other languages
Japanese (ja)
Other versions
JP2008242510A (en
Inventor
幹雄 伊藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2007077633A priority Critical patent/JP5050601B2/en
Priority to US12/045,763 priority patent/US20080235695A1/en
Publication of JP2008242510A publication Critical patent/JP2008242510A/en
Application granted granted Critical
Publication of JP5050601B2 publication Critical patent/JP5050601B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling 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.

特開2000−148512JP 2000-148512 A

しかしながら、この従来の方法では、ジョブをスケジューリングして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 instruction execution unit 111, a dispatcher 112, a timer 113, a ready queue storage unit 114, and an allocated time storage unit 115.

命令実行手段111は、ディスパッチャ112が選択した実行可能プロセスを構成する命令を実行する。   The instruction execution unit 111 executes instructions constituting the executable process selected by the dispatcher 112.

ディスパッチャ112は、図3に示す実行可能プロセス群311の中から、命令を実行すべき、当該実行可能プロセスを一つ選択する。ディスパッチャ112は、タイマ113にジョブの優先期間の割り当て時間を送信する。ディスパッチャ112は、タイマ113から切り替え指示を受信すると、当該優先期間のジョブを切り替える。   The dispatcher 112 selects one of the executable processes that should execute the instruction from the group of executable processes 311 shown in FIG. The dispatcher 112 transmits a job priority period allocation time to the timer 113. When receiving the switching instruction from the timer 113, the dispatcher 112 switches the job in the priority period.

タイマ113は、当該割り当て時間を受信すると、ジョブの優先期間を計時し、当該優先期間が割り当て時間に達するとディスパッチャ112に切り替え指示を出力する。   When the timer 113 receives the allocation time, the timer 113 measures the priority period of the job, and outputs a switching instruction to the dispatcher 112 when the priority period reaches the allocation time.

レディーキュー記憶部114は、ジョブ毎に実行可能プロセスを待ち行列にしたレディーキュー群を記憶する。   The ready queue storage unit 114 stores a ready queue group in which executable processes are queued for each job.

図3を参照すると、レディーキュー群303は、レディーキュー304〜309およびレディーキュー310を含む。レディーキュー304〜309は、それぞれジョブA〜Fに対応し、実行可能プロセス群311の中で対応するジョブA〜Fの配下となる実行可能プロセスの待ち行列を構成する。例えば、レディーキュー306は、ジョブCの配下となる実行可能プロセスの待ち行列を構成する。   Referring to FIG. 3, the ready queue group 303 includes ready queues 304 to 309 and a ready queue 310. The ready queues 304 to 309 correspond to jobs A to F, respectively, and constitute a queue of executable processes subordinate to the corresponding jobs A to F in the executable process group 311. For example, the ready queue 306 constitutes a queue of executable processes under the job C.

レディーキュー310は、最優先ジョブに対応し、配下となる実行可能例外プロセスの待ち行列を構成する。最優先ジョブとは、ジョブA〜Fに対応していないシステム共通処理、あるいは、ジョブA〜Fに対応しているが緊急性を要する処理のプロセスを例外プロセスとして定義し、例外プロセスの集合を示す。   The ready queue 310 corresponds to the highest priority job and constitutes a queue of executable exception processes under the ready queue 310. The highest priority job is a system common process that does not correspond to jobs A to F or a process that corresponds to jobs A to F but requires urgency is defined as an exception process. Show.

レディーキュー310に実行可能プロセスが繋げられると、ディスパッチャ112はその先頭に繋がれた実行可能プロセスを最優先で選択する。命令実行手段111は、選択された実行可能プロセスの命令を実行する。最優先ジョブには、ジョブA〜Fへの割り当て割合202〜207と対応するものは定義されないため、プロセッサ優先割り当て時間に相当するものはない。   When an executable process is connected to the ready queue 310, the dispatcher 112 selects the executable process connected to the head thereof with the highest priority. The instruction execution unit 111 executes an instruction of the selected executable process. Since the highest priority jobs corresponding to the assignment ratios 202 to 207 to the jobs A to F are not defined, there is no job corresponding to the processor priority allocation time.

実行可能プロセス群311は、ディスパッチャ112から選択され、命令実行手段111により実行されるのを待っているプロセス群である。   The executable process group 311 is a process group selected from the dispatcher 112 and waiting to be executed by the instruction execution unit 111.

一般的に、プロセスがレディーキューに繋がって待ち行列を構成し、レディーキューから取り出されて実行される処理は、当業者にとって周知の技術であるが、本実施の形態の理解をより容易にする上で有用な点について説明する。本実施の形態においては、命令実行手段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 instruction execution unit 111 is referred to as an executing process. There is only one process running at any given time. The process has a priority regarding the execution order in the jobs A to F or the highest priority job.

レディーキュー304〜309およびレディーキュー310は、各々のレディーキューにおいて、この優先順位に従った、先入れ先出し方式により実行可能プロセスの待ち行列を構成する。優先順位が高いプロセスは低いプロセスより対応するレディーキューの先頭側に繋がれ、同一優先順位のプロセス同士であれば、時間的に先に繋がれたプロセスが対応するレディーキューの先頭側に繋がれる。   Each of the ready queues 304 to 309 and the ready queue 310 constitutes a queue of executable processes in a first-in first-out manner according to the priority order in each ready queue. A process with higher priority is connected to the head of the corresponding ready queue than a process with lower priority. If processes with the same priority are connected, the process connected earlier in time is connected to the head of the corresponding ready queue. .

従って、レディーキュー304〜309およびレディーキュー310の先頭に繋がれた実行可能プロセスは、そのレディーキュー304〜309およびレディーキュー310を構成する実行可能プロセスの中では、一番優先度が高く、命令実行手段111による実行状態となり、実行中プロセスと成り得るプロセスである。   Therefore, the executable process connected to the heads of the ready queues 304 to 309 and the ready queue 310 has the highest priority among the executable processes constituting the ready queues 304 to 309 and the ready queue 310, and the instructions It is a process that can be executed by the execution means 111 and can be an executing process.

図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 processor 131, a memory 132, an input / output control unit 133, a service processor 134, a peripheral device group 135, and a console 136.

プロセッサ131は、本実施の形態においては、プログラムの指示に従い演算をはじめとするデータ処理を実行するものである。命令実行手段111、ディスパッチャ112、タイマ113が、それぞれの対応するプログラムと、プロセッサ131とによって実現されている。   In the present embodiment, the processor 131 executes data processing including calculation in accordance with an instruction of a program. The instruction execution unit 111, the dispatcher 112, and the timer 113 are realized by their corresponding programs and the processor 131.

メモリ132は、本実施の形態においては、プログラム、および、当該プログラムのワークエリア、バッファ等を記憶するものであり、レディーキュー記憶部114と、割り当て時間記憶部115とを少なくとも有している。   In this embodiment, the memory 132 stores a program, a work area of the program, a buffer, and the like, and includes at least a ready queue storage unit 114 and an allocated time storage unit 115.

入出力制御部133、サービスプロセッサ134、周辺装置群135、および、コンソール136は、一般のコンピュータシステムを構成する周知の技術であり、本実施の形態においては特別な位置づけを持たないため、説明を省略する。   The input / output control unit 133, the service processor 134, the peripheral device group 135, and the console 136 are well-known technologies that constitute a general computer system, and are not particularly positioned in the present embodiment. Omitted.

図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 job identification number 102 is a unique number in the system corresponding to each job. The process identification number 103 in the job is a unique number in the job corresponding to each process. The process identification number 101 in the system is a number obtained by combining the job identification number 102 and the process identification number 103 in the job, and is a unique number in the system corresponding to each process. Each job and each process executed in a system to which the present invention is applied using this embodiment are identified by a process identification number 101, a job identification number 102, and a process identification number 103 in the system. And controlled.

次に、図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 period 201 and the system allocation ratios 202 to 207 as a basis for calculating the processor priority allocation time in the system to which the present invention is applied using the present embodiment. A period 201 is a period of a certain time for repeating the system assignment. The system allocation ratios 202 to 207 correspond to the jobs A to F, respectively, and indicate the system allocation ratio to each job within the period 201. For example, if the cycle is 500 μS and the system allocation ratio 202 for job A is 20%, the processor priority allocation time that is the priority period of job A is 500 μS × 0.2 = 100 μS.

図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 dispatcher 112 and the timer 113 in the system to which the present invention is applied using the present embodiment.

ディスパッチャ112は、割り当て時間記憶部115の割り当て時間テーブル402をジョブ識別番号102に基づいて参照し、ジョブ識別番号102に対応する割り当て時間を取得する。ディスパッチャ112は、取得した割り当て時間を、タイマ113に出力する。   The dispatcher 112 refers to the allocation time table 402 of the allocation time storage unit 115 based on the job identification number 102 and acquires the allocation time corresponding to the job identification number 102. The dispatcher 112 outputs the acquired allocation time to the timer 113.

タイマ113は、割り当て時間を取得して、ジョブ識別番号102に対応するジョブの優先期間の計時を開始する。タイマ113は、優先期間の計時が割り当て時間に達すると、ディスパッチャ112に優先ジョブの切替指示405を出力する。ディスパッチャ112は、切り替え指示405を取得すると、優先ジョブを切り替える。即ち、切り替え指示405は、命令実行手段111により実行すべき実行可能プロセスの切替指示となる。   The timer 113 acquires the allocated time and starts measuring the priority period of the job corresponding to the job identification number 102. The timer 113 outputs a priority job switching instruction 405 to the dispatcher 112 when the timing of the priority period reaches the allocated time. When the dispatcher 112 acquires the switching instruction 405, the dispatcher 112 switches the priority job. That is, the switching instruction 405 is an instruction for switching an executable process to be executed by the instruction execution unit 111.

実行期間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になる。   Execution periods 406 to 419 indicate that the corresponding job becomes a priority period and the instruction execution unit 111 is assigned. In the execution periods 406 to 411, the instruction execution unit 111 is assigned corresponding to the assignment time of the jobs A to F. The execution period 413 of the highest priority job exists between the execution periods 412 and 414 of the job A. In the execution period 412, an executable process is connected to the ready queue 310 of the highest priority job, and the execution of the top execution is performed. This represents a state where the possible process has the highest priority and the instruction execution means 111 is assigned. When there is no executable process connected to the ready queue 310 (when the ready queue 310 becomes empty), an execution period 414 follows the execution period 412 of the suspended job A. In the execution periods 414 to 417, the instruction execution means 111 is assigned corresponding to the assignment time of the jobs A to D. There is no execution period of job E between the execution periods 417 and 418, which represents that the ready queue 308 of job E is empty at this point. When the execution period 418 of the job F ends, the execution period 419 of the job A starts.

図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 instruction execution unit 111 is defined as a state in which an executing process, which is a process being executed by the instruction execution unit 111, is not on the instruction execution unit 111 (empty state) and on the instruction execution unit 111. There is a state (process state) that is taken in and exists on the instruction execution means 111. In the process state, only one executing process existing on the instruction execution unit 111 is executed. As the executing process to be fetched into the instruction execution unit 111, only one executable process having the highest priority at that time is selected by the dispatcher 112 from the executable process group 311 connected to the ready queue group 303.

以下の説明において、レディーキュー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 ready queue 304 to the ready queue 309.

ディスパッチャ112は、命令実行手段111上に最優先ジョブに属する実行中プロセスが存在するか否かを確認し、存在すればステップ511に分岐し、否であればステップ502に進む(ステップ501)。   The dispatcher 112 checks whether there is an executing process belonging to the highest priority job on the instruction execution unit 111, and if there is, branches to step 511, and if not, proceeds to step 502 (step 501).

ディスパッチャ112は、最優先ジョブのレディーキュー310に実行可能プロセスが存在するか否かを確認し、存在すればステップ514に分岐し、否であればステップ503に進む(ステップ502)。   The dispatcher 112 checks whether or not there is an executable process in the ready queue 310 of the highest priority job. If there is an executable process, the dispatcher 112 branches to step 514. If not, the dispatcher 112 proceeds to step 503 (step 502).

ディスパッチャ112は、タイマ113から優先ジョブの切り替え指示405があるかどうかを確認する。処理は、優先ジョブの切り替え指示405が存在すればステップ518に分岐し、否であればステップ504に進む(ステップ503)。   The dispatcher 112 checks whether there is a priority job switching instruction 405 from the timer 113. The process branches to step 518 if the priority job switching instruction 405 exists, and proceeds to step 504 if not (step 503).

ディスパッチャ112は、命令実行手段111上に実行中プロセスが存在するか否かを確認し、存在すればステップ505に進み、否であればステップ523に分岐する(ステップ504)。   The dispatcher 112 checks whether or not there is a process being executed on the instruction execution unit 111, and if there is, the process proceeds to step 505, and if not, the process branches to step 523 (step 504).

ディスパッチャ112は、同一のジョブ内でプロセススイッチ要因があるか確認する。プロセススイッチ要因があればステップ506に進み、否であればステップ507に進む(ステップ505)。プロセススイッチとは、命令実行手段111上の実行中プロセスを実行可能プロセス群311の中に戻し、実行可能プロセス群311の中から規定に従った一つの実行可能プロセスを選択し、命令実行手段111上の実行中プロセスとする処理を言う。   The dispatcher 112 checks whether there is a process switch factor in the same job. If there is a process switch factor, the process proceeds to step 506, and if not, the process proceeds to step 507 (step 505). The process switch returns the process being executed on the instruction execution unit 111 to the executable process group 311, selects one executable process according to the regulation from the executable process group 311, and executes the instruction execution unit 111. This is the process to be executed above.

ディスパッチャ112は、命令実行手段111上の実行中プロセスを対応するレディーキューmに戻すことにより実行可能プロセスとし、当該レディーキューmの先頭に存在する実行可能プロセスを命令実行手段111上に取り込み実行中プロセスとする。これにより、同一のジョブ内でのプロセススイッチが実施され、ステップ507に進む(ステップ506)。   The dispatcher 112 makes an executable process on the instruction execution unit 111 return to the corresponding ready queue m to be an executable process, and the executable process existing at the head of the ready queue m is loaded into the instruction execution unit 111 and is being executed. Let it be a process. Thereby, the process switch in the same job is implemented, and the process proceeds to Step 507 (Step 506).

命令実行手段111は、命令実行手段111上の実行中プロセスの命令を一つ実行する。この命令はプロセスを構成する命令群のひとつであり、予め定められた規則に従って命令群の中から選択された命令である。その後、処理は、ステップ508に進む(ステップ507)。   The instruction execution unit 111 executes one instruction of the process being executed on the instruction execution unit 111. This instruction is one of the instruction groups constituting the process, and is an instruction selected from the instruction group according to a predetermined rule. Thereafter, the process proceeds to step 508 (step 507).

タイマ113は、命令実行手段111上の実行中プロセスが属するジョブの計時値を更新し、当該ジョブに与えられた割り当て時間を計測する。その後、処理は、ステップ509に進む(ステップ508)。   The timer 113 updates the time value of the job to which the executing process on the instruction execution unit 111 belongs, and measures the allocated time given to the job. Thereafter, the process proceeds to step 509 (step 508).

ディスパッチャ112は、命令実行手段111上の実行中プロセスは継続して実行可能か否かを確認する。ステップ507の命令の実行結果によっては、該実行中プロセスが、実行可能状態から他の状態に遷移する規則になっているためである。処理は、継続して実行可能であればステップ501に分岐し、否であればステップ510に進む(ステップ509)。   The dispatcher 112 checks whether or not the process being executed on the instruction execution unit 111 can be continuously executed. This is because, depending on the execution result of the instruction in step 507, the in-execution process has a rule for transition from an executable state to another state. If the process can be continued, the process branches to step 501; otherwise, the process proceeds to step 510 (step 509).

ディスパッチャ112は、命令実行手段111上の実行中プロセスを、実行中の状態から規則により規定された適当な状態に遷移させる。これにより、命令実行手段111上には実行中プロセスが存在しなくなる。その後、処理は、ステップ501に分岐する(ステップ510)。   The dispatcher 112 causes the running process on the instruction execution unit 111 to transition from the running state to an appropriate state defined by the rules. As a result, there is no executing process on the instruction execution unit 111. Thereafter, the process branches to step 501 (step 510).

図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 instruction execution unit 111. The dispatcher 112 checks whether there is a process switch factor in the highest priority job. If there is a factor, the process proceeds to step 512, and if not, the process proceeds to step 513 (step 511).

ディスパッチャ112は、命令実行手段111上の実行中プロセスを最優先ジョブのレディーキュー310に戻すことにより実行可能プロセスとし、同レディーキュー310の先頭に存在する実行可能プロセスを命令実行手段111上に取り込み、実行中プロセスとする(ステップ512)。   The dispatcher 112 makes an executable process on the instruction execution unit 111 return to the ready queue 310 of the highest priority job, and makes the executable process existing at the head of the ready queue 310 on the instruction execution unit 111. The process is being executed (step 512).

ディスパッチャ112は、命令実行手段111上の実行中プロセスの一つの命令を実行する。本ステップ513での実行中プロセスは最優先ジョブに属している。その後、処理は、ステップ509に進む。最優先ジョブにはプロセッサ優先割り当て時間に相当するものが無いため、ステップ508は実行しない(ステップ513)。   The dispatcher 112 executes one instruction of the process being executed on the instruction execution unit 111. The process being executed in this step 513 belongs to the highest priority job. Thereafter, the processing proceeds to step 509. Since there is no highest priority job corresponding to the processor priority allocation time, step 508 is not executed (step 513).

図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 instruction execution unit 111 and there is an executable process in the ready queue 310 of the highest priority job. The dispatcher 112 checks whether or not there is an executing process belonging to the jobs A to F on the instruction execution unit 111, and if there is, the process proceeds to step 515, and if not, the process proceeds to step 516 (step 514). .

ディスパッチャ112は、命令実行手段111上のジョブA〜Fに属する実行中プロセスを対応するレディーキューmに戻し実行可能プロセスとする。その後、処理は、ステップ516に進む(ステップ515)。   The dispatcher 112 returns the executing process belonging to the jobs A to F on the instruction execution unit 111 to the corresponding ready queue m to be an executable process. Thereafter, the process proceeds to step 516 (step 515).

ディスパッチャ112は、最優先ジョブのレディーキュー310の先頭に存在する実行可能プロセスを命令実行手段111上に取り込み、実行中プロセスとする(ステップ516)。   The dispatcher 112 fetches the executable process existing at the head of the ready queue 310 of the highest priority job into the instruction execution unit 111 and sets it as an executing process (step 516).

ディスパッチャ112は、ステップ516で取り込んだ実行中プロセスの一つの命令を実行する。その後、処理は、ステップ509に分岐する。最優先ジョブにはプロセッサ優先割り当て時間に相当するものが無いため、ステップ508は実行しない(ステップ517)。   The dispatcher 112 executes one instruction of the executing process fetched in step 516. Thereafter, the process branches to step 509. Since there is no highest priority job corresponding to the processor priority allocation time, step 508 is not executed (step 517).

図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 timer 113. The dispatcher 112 checks whether there is a process being executed on the instruction execution unit 111. This executing process belongs to one of jobs A to F. The process proceeds to step 519 if there is an executing process on the instruction execution unit 111, and proceeds to step 520 if not (step 518).

ディスパッチャ112は、命令実行手段111上の実行中プロセスを対応するレディーキューmに戻す。この実行中プロセスは、優先期間が終了したジョブに属したものである。その後、処理は、ステップ520に進む(ステップ519)。   The dispatcher 112 returns the executing process on the instruction execution unit 111 to the corresponding ready queue m. This running process belongs to a job whose priority period has ended. Thereafter, the process proceeds to step 520 (step 519).

ディスパッチャ112は、優先期間を次のジョブに切り替え、当該ジョブに対応した割り当て時間をタイマ113に出力する。対応する優先期間の優先ジョブの切替指示405はリセットされる。その後、処理は、ステップ521に進む(ステップ520)。   The dispatcher 112 switches the priority period to the next job, and outputs the allocated time corresponding to the job to the timer 113. The priority job switching instruction 405 for the corresponding priority period is reset. Thereafter, the process proceeds to step 521 (step 520).

ディスパッチャ112は、優先期間の切替先のジョブに対応したレディーキューn(n=304〜309)に実行可能プロセスが存在するか否かを確認し、存在すればステップ522に進み、否であればステップ501に分岐する(ステップ521)。   The dispatcher 112 checks whether there is an executable process in the ready queue n (n = 304 to 309) corresponding to the job to which the priority period is switched, and if there is, the process proceeds to step 522. The process branches to step 501 (step 521).

ディスパッチャ112は、レディーキューnの先頭に存在する実行可能プロセスを命令実行手段111上に取り込み、実行中プロセスとする。その後、処理は、ステップ507に分岐する(ステップ522)。   The dispatcher 112 fetches the executable process existing at the head of the ready queue n onto the instruction execution unit 111 and sets it as a process being executed. Thereafter, the process branches to step 507 (step 522).

図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 timer 113, and the executing process belonging to jobs A to F on the instruction execution unit 111. It is a flowchart which shows the operation | movement when there is not. The dispatcher 112 checks whether there is an executable process in the ready queue m corresponding to the job to which the priority period is assigned, and proceeds to Step 524 if it exists. If not, the process branches to step 520, and the priority period is switched to the next job (step 523).

ディスパッチャ112は、優先期間をアサインされたジョブに対応したレディーキューmの先頭に存在する実行可能プロセスを命令実行手段111上に取り込み、実行中プロセスとする。その後、処理は、ステップ507に分岐する(ステップ524)。   The dispatcher 112 fetches the executable process existing at the head of the ready queue m corresponding to the job assigned the priority period into the instruction execution unit 111 and sets it as an executing process. Thereafter, the process branches to step 507 (step 524).

このようにして、ディスパッチャ112は、上記に述べた規則に従い、あるジョブの優先割り当て時間内で、規則に従い、当該ジョブのに対応するレディーキューの先頭から当該ジョブに属するプロセスを取り込み、命令実行手段111上の実行中プロセスとする。   In this way, the dispatcher 112 fetches the process belonging to the job from the head of the ready queue corresponding to the job in accordance with the rule within the priority allocation time of the job according to the rule described above, and executes the instruction execution means. It is assumed that the running process on 111.

本発明の第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 time calculation unit 116 acquires, for example, the period 201 illustrated in FIG. 5 and the system allocation ratios 202 to 207 for each job input from the service processor 134 illustrated in FIG. 2 or the console 136. Then, the allocation time calculation means 116 calculates the processor priority allocation time for each job based on the cycle 201 shown in FIG. 5 and the system allocation ratios 202 to 207 for each job, and stores them in the allocation time table 402 in FIG. .

第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 time calculation unit 116 sets “500” as the period 201 = T [μs] shown in FIG. 5 and “20” as the system allocation rate 202 = Ra [%] of the job A from any unit (not shown). System allocation rate 203 = Rb [%] of the job D, “30” as the system allocation rate 204 of the job C = Rc [%], and “12” as the system allocation rate 205 of the job D = Rd [%] Then, “18” is acquired as the system allocation ratio 206 of job E = Re [%], and “10” is acquired as the system allocation ratio 207 of job F = Rf [%]. Based on these, the allocation time calculation unit 116 sets the processor priority allocation time for job A = 500 [μs] × 0.2 = 100 [μs] and the processor priority allocation time for job B = 500 [μs] ×. 0.1 = 50 [μs], processor C processor priority allocation time = 500 [μs] × 0.3 = 150 [μs], job D processor priority allocation time = 500 [μs] × 0.12 = 60 [μs], job E processor priority allocation time = 500 [μs] × 0.18 = 90 [μs], job F processor priority allocation time = 500 [μs] × 0.1 = 10 [μs] Is calculated. The allocation time calculation means 116 stores the allocation time in the allocation time table 402 shown in FIG.

さらに、割り当て時間算出手段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 dispatcher 112 detects the addition of a job, it instructs the allocation time calculation unit 116 to recalculate the processor priority allocation time. The allocation time calculation unit 116 acquires the system allocation ratio Rg [%] = “10” of job G. Here, the cycle 201 = “500 [μs]” shown in FIG. 5 is distributed as the total “100%” of the system allocation ratios of the existing jobs A to F. For this reason, the allocation time calculation unit 116 recalculates the system allocation ratios of jobs A to F so that the total system allocation ratio of job G is 100%. The allocation time calculation means 116 is configured so that the system allocation ratio 202 of job A = Ra [%] = 20 [%] ÷ 1.1 = 18 [%], and the system allocation ratio of job B 203 = Rb [%] = 10 [%]. ] ÷ 1.1 = 9 [%], the same applies to job C and the following, and the system allocation ratio Rg [%] = 10 [%] ÷ 1.1 = 9 [%] of job G is calculated.

そして、割り当て時間算出手段116は、この再計算した各ジョブのシステム割り当て割合に基づいて、各ジョブのプロセッサ優先割り当て時間を再算出する。   Then, the allocation time calculation unit 116 recalculates the processor priority allocation time of each job based on the recalculated system allocation ratio of each job.

尚、以上の例では、周期を変えずにシステム割り当て割合を再計算する場合を説明したが、周期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 period 201 = “500 [μs]”, the system allocation ratio Rg [%] of the job G = “ The processor preferential allocation time “50 μs” corresponding to “10” may be added to the cycle and recalculated as cycle 201 = “550 [μs]”.

また、ジョブが終了した場合も、容易に同様の方法を適用できる。   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. .

本発明の第1の実施の形態の構成を示すブロック図である。It is a block diagram which shows the structure of the 1st Embodiment of this invention. 本発明の第1および第2の実施の形態のシステム構成を示す図である。It is a figure which shows the system configuration | structure of the 1st and 2nd embodiment of this invention. 本発明の第1の実施の形態におけるレディーキュー群および実行可能プロセス群のイメージを示す図である。It is a figure which shows the image of the ready queue group and executable process group in the 1st Embodiment of this invention. 本発明の第1の実施の形態におけるプロセス識別番号の構造を示す図である。It is a figure which shows the structure of the process identification number in the 1st Embodiment of this invention. 本発明の第1の実施の形態における周期201と、システム割り当て時間との例である。It is an example of the period 201 in the 1st Embodiment of this invention, and system allocation time. 本発明の第1の実施の形態における各ジョブに対するプロセッサの割り当てと、ディスパッチャ、タイマの関係のイメージを示す図である。It is a figure which shows the assignment of the processor with respect to each job in the 1st Embodiment of this invention, and the relationship between a dispatcher and a timer. 本発明の第1の実施の形態におけるジョブへの資源割当の基本の動作を示すフローチャートである。It is a flowchart which shows the basic operation | movement of the resource allocation to the job in the 1st Embodiment of this invention. 本発明の第1の実施の形態におけるプロセッサ上で最優先ジョブに属する実行中プロセスが存在した場合の動作を示すフローチャートである。It is a flowchart which shows operation | movement when the process under execution which belongs to the highest priority job exists on the processor in the 1st Embodiment of this invention. 本発明の第1の実施の形態におけるプロセッサ上に最優先ジョブに属する実行中プロセスは存在せず、かつ最優先ジョブのレディーキューには実行可能プロセスが存在する場合の動作を示すフローチャートである。6 is a flowchart showing an operation when there is no executing process belonging to the highest priority job on the processor and there is an executable process in the ready queue of the highest priority job in the first embodiment of the present invention. 本発明の第1の実施の形態における最優先ジョブに属する実行中プロセスも実行可能プロセスも存在せず、かつタイマから優先期間の切り替え指示がある場合の動作を示すフローチャートである。7 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 from the timer according to the first embodiment of the present invention. 本発明の第1の実施の形態における最優先ジョブに属する実行中プロセスおよび実行可能プロセスが存在せず、タイマから優先期間の切り替え指示も無く、かつ、プロセッサ上にジョブA〜Fに属する実行中プロセスも無い場合の動作を示すフローチャートである。There is no executing process and executable process belonging to the highest priority job in the first embodiment of the present invention, there is no priority period switching instruction from the timer, and an execution belonging to jobs A to F on the processor It is a flowchart which shows operation | movement when there is no process. 本発明の第2の実施の形態の構成を示すブロック図である。It is a block diagram which shows the structure of the 2nd Embodiment of this invention.

符号の説明Explanation of symbols

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 system 102 Job identification number 103 Process identification number in job 111 Instruction execution means 112 Dispatcher 113 Timer 114 Ready queue memory | storage part 115 Allocation time memory | storage part 116 Allocation time calculation means 131 Processor 132 Memory 133 Input / output control part 134 Service Processor 135 Peripheral Device Group 136 Console 201 Period 202 to 207 System Allocation Ratio 304 to 309 Ready Queue 310 Ready Queue 311 Executable Process Group 402 Allocation Time Table 405 Priority Job Switching Instruction 406 to 419 Execution Period

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 .
JP2007077633A 2007-03-23 2007-03-23 Resource allocation method for job, resource allocation method for job, and program Expired - Fee Related JP5050601B2 (en)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7424533B2 (en) 2019-11-26 2024-01-30 株式会社鶴見製作所 non-occlusion pump

Families Citing this family (12)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (1)

* Cited by examiner, † Cited by third party
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