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

JP2013117806A - Cpu allocation time management device and cpu allocation time management program - Google Patents

Cpu allocation time management device and cpu allocation time management program Download PDF

Info

Publication number
JP2013117806A
JP2013117806A JP2011264273A JP2011264273A JP2013117806A JP 2013117806 A JP2013117806 A JP 2013117806A JP 2011264273 A JP2011264273 A JP 2011264273A JP 2011264273 A JP2011264273 A JP 2011264273A JP 2013117806 A JP2013117806 A JP 2013117806A
Authority
JP
Japan
Prior art keywords
cpu
cycle
unit
execution
time management
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2011264273A
Other languages
Japanese (ja)
Inventor
Shinichi Ochiai
真一 落合
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2011264273A priority Critical patent/JP2013117806A/en
Publication of JP2013117806A publication Critical patent/JP2013117806A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a device for executing an appropriate control according to a function request when there is CPU free time, in a device for executing a CPU allocation time management system for controlling the upper limit of the CPU allocation time for each task group.SOLUTION: A group 1 comprises tasks 1a, 1b, 1c, 1d. A group 2 comprises tasks 2a, 2b, 2c, 2d. A CPU allocation time management device 1000 ends execution of only the tasks 1a, 1b at the time (a) after the lapse of the CPU allocation time set for the group 1 in a CPU time management cycle T3. Further, the CPU allocation time management device 1000 ends execution of the tasks 2a-2d at the time (b) leaving the residual time before the lapse of the CPU allocation time set for the group 2 in the CPU time management cycle T3. The CPU allocation time management device 1000 executes the tasks 1a, 1b not executed yet in the residual time for the group 2 in the CPU time management cycle T3.

Description

この発明は、複数のタスクを実行するOSにおいて、複数のタスクから構成されるタスクグループに対し、そのタスクグループが使用できるCPU時間の上限を設定するCPU割当時間管理方式に関する。   The present invention relates to a CPU allocated time management method for setting an upper limit of CPU time that can be used by a task group composed of a plurality of tasks in an OS executing a plurality of tasks.

異なる複数の機能を同時(マルチタスク)に実行する情報処理装置の場合、それぞれの機能を予測可能な性能で実行を続けることが必要となる。このような性能予測性を実現するために、機能を構成するタスク群でタスクグループを構成し、そのタスクグループが使用できるCPU時間の上限を制限することにより、それぞれの機能が適切な割合のCPU時間を使用するように制限するCPU割当時間管理方式がある。例えば従来の一つのCPU割当時間管理方式では、機能毎に仮想計算機を構成し、各仮想計算機にCPU割当時間の上限を示すサービス率を設定し、仮想計算機のCPU使用時間を監視して、サービス率以下とすることで、一つの機能が全てのCPU時間を占有しないようにしている。   In the case of an information processing apparatus that executes a plurality of different functions simultaneously (multitask), it is necessary to continue the execution of each function with predictable performance. In order to realize such performance predictability, a task group is composed of task groups that constitute functions, and the upper limit of the CPU time that can be used by the task group is limited. There is a CPU allocation time management method that limits use of time. For example, in one conventional CPU allocation time management method, a virtual machine is configured for each function, a service rate indicating the upper limit of the CPU allocation time is set for each virtual computer, and the CPU usage time of the virtual computer is monitored to By making the ratio below, one function does not occupy all CPU time.

さらに、CPU割当時間の上限に到達したことでCPU時間が割り当てられない時間が長く発生し、機能の応答が大きく遅延することを防ぐために、仮想計算機のCPU使用時間の増加率を計測して、割当時間内でのCPU空き時間を分散させる制御を行っていた(例えば、特許文献1)。また、一時的に負荷が高い状態にある機能(タスクグループ、仮想計算機)に対して短期間でのCPU割当時間の上限制限を行うとCPU使用時間が超過してしまう場合があるという課題がある。この課題に対して、別の方式では、短期間でのCPU割当時間管理と長期間でのCPU割当時間管理とを選択可能とし、一時的に負荷が高い処理は長期間でのCPU割当時間管理を使用することにより、一時的なCPU割当時間超過を許容するということを行っていた(例えば、特許文献2)。   Furthermore, in order to prevent the CPU time from being allocated for a long time due to reaching the upper limit of the CPU allocation time, and to prevent the response of the function from being greatly delayed, the increase rate of the CPU usage time of the virtual machine is measured, Control was performed to distribute CPU idle time within the allocated time (for example, Patent Document 1). In addition, there is a problem that if the upper limit of the CPU allocation time in a short period is limited for functions (task groups, virtual machines) that are temporarily in a high load state, the CPU usage time may be exceeded. . In response to this problem, another method enables selection of CPU allocation time management in a short period and CPU allocation time management in a long period of time, and processing that is temporarily high in load is managed in a long period of time. Has been used to allow a temporary CPU allocation time to be exceeded (for example, Patent Document 2).

特開2008−186210号公報JP 2008-186210 A 特開平9−81401号公報Japanese Patent Laid-Open No. 9-81401

しかしながら、従来の技術では各機能が使用するCPU時間の上限制御はできるものの、各機能がCPU割当時間を使い切らず、CPUに空き時間が生じた場合に、そのCPU空き時間を要求に応じて利用可能なように制御することができないという課題があった。特定のタスクグループに対してCPU割当時間管理を行わないように設定すれば、そのタスクグループはCPU空き時間を自由に使用することができる。しかし、この場合、CPU負荷が高い場合にもそのタスクグループのCPU時間の上限が制限できず、他のタスクグループのCPU時間に影響を及ぼすという課題がある。したがって、CPU割当時間管理を行った上で、CPU空き時間の割り当てを制御する方式が必要になる。   However, although the conventional technology can control the upper limit of the CPU time used by each function, when each function does not use up the CPU allocated time and the CPU has a free time, the CPU free time is used upon request. There was a problem that it could not be controlled as possible. If it is set not to perform CPU allocation time management for a specific task group, the task group can freely use the CPU idle time. However, in this case, even when the CPU load is high, there is a problem that the upper limit of the CPU time of the task group cannot be limited, which affects the CPU time of other task groups. Therefore, a system for controlling the allocation of the CPU free time after performing the CPU allocation time management is required.

この発明は、タスクグループ毎(周期内処理単位ごと)にCPU割当時間の上限制御を行うCPU割当時間管理方式を実行する装置であって、CPU空き時間がある場合に、機能要求に応じて適切な制御を行うCPU割当時間管理方式を実行する装置の提供を目的とする。   The present invention is a device that executes a CPU allocation time management system that performs upper limit control of CPU allocation time for each task group (for each processing unit in a cycle), and is suitable for function requests when there is CPU idle time. It is an object of the present invention to provide an apparatus that executes a CPU allocated time management system that performs various controls.

この発明のPU割当時間管理装置は、
CPU(Central Processing Unit)に対して設定された実行周期ごとにスケジューリングされた実行周期内におけるCPUの処理単位であって、実行周期内において認められるCPUの連続使用時間の上限値を示すCPU割当時間が設定された処理単位である周期内処理単位を、CPU割当時間以内でCPUに実行させる第1実行部と、
いずれかの実行周期において複数の周期内処理単位がCPUに実行されるときに、そのCPU割当時間の間にCPUによる実行の終了しない周期内処理単位である周期内未終了単位が発生すると共に、周期内未終了単位が発生した実行周期中に、周期内未終了単位の後に実行された周期内処理単位であって、そのCPU割当時間よりも短い時間で実行の終了した周期内処理単位である周期内早期終了単位が発生する場合には、周期内早期終了単位の実行の終了に引き続いて周期内未終了単位をCPUに実行させる第2実行部と
を備えたことを特徴とする。
The PU allocation time management device of the present invention is:
CPU allocated time indicating the upper limit value of the continuous use time of the CPU, which is a processing unit of the CPU within the execution cycle scheduled for each execution cycle set for the CPU (Central Processing Unit). A first execution unit that causes a CPU to execute an intra-period processing unit that is a processing unit for which the CPU is set within a CPU allocation time;
When a plurality of in-cycle processing units are executed by the CPU in any execution cycle, an in-cycle unfinished unit that is an in-cycle processing unit in which execution by the CPU does not end occurs during the CPU allocation time, An in-cycle processing unit that is executed after an in-cycle unfinished unit during the execution cycle in which the in-cycle unfinished unit is generated, and that is executed within a period shorter than the CPU allocation time. And a second execution unit that causes the CPU to execute the unfinished unit within the cycle following the end of the execution of the early termination unit within the cycle when the early termination unit within the cycle occurs.

この発明により、タスクグループ毎にCPU割当時間の上限制御を行うCPU割当時間管理方式を実行する装置であって、CPU空き時間がある場合に、機能要求に応じて適切な制御を行うCPU割当時間管理方式を実行する装置を提供することができる。   According to the present invention, an apparatus that executes a CPU allocation time management system that performs upper limit control of CPU allocation time for each task group, and that performs appropriate control in response to a function request when there is CPU idle time An apparatus for executing a management method can be provided.

実施の形態1におけるCPU割当時間管理装置1000のブロック図。1 is a block diagram of a CPU allocation time management apparatus 1000 according to Embodiment 1. FIG. 実施の形態1におけるOS101が行う初期設定のフローチャート。5 is a flowchart of initial setting performed by the OS 101 according to the first embodiment. 実施の形態1におけるハード制限モードの動作を説明する図。FIG. 6 illustrates an operation in a hardware restriction mode according to the first embodiment. 実施の形態1におけるソフト制限モードの動作を説明する図。FIG. 6 is a diagram for explaining an operation in a soft restriction mode in the first embodiment. 実施の形態1におけるCPUスケジューリング機能部111の動作フロー。4 is an operation flow of the CPU scheduling function unit 111 according to the first embodiment. 実施の形態1における空きリソース管理機能部121の動作フロー。The operation | movement flow of the free resource management function part 121 in Embodiment 1. FIG. 実施の形態2におけるCPU割当時間管理装置1000のブロック図。FIG. 10 is a block diagram of a CPU allocation time management apparatus 1000 according to the second embodiment. 実施の形態3におけるCPU割当時間管理装置1000のブロック図。FIG. 10 is a block diagram of a CPU allocation time management apparatus 1000 according to the third embodiment. 実施の形態4におけるCPU割当時間管理装置1000の外観図。FIG. 14 is an external view of a CPU allocation time management apparatus 1000 according to the fourth embodiment. 実施の形態4におけるCPU割当時間管理装置1000のハードウェア構成図。FIG. 10 is a hardware configuration diagram of a CPU allocation time management apparatus 1000 according to the fourth embodiment.

実施の形態1.
図1は、CPU割当時間管理方式を実行するCPU割当時間管理装置1000示す構成図である。図1は、以下のとおりである。
(1)101は、OS(実行周期設定部)である。
(2)タスクグループ201、202は、OS101上で動作するタスクを機能毎に集め、CPU割当時間管理を行う単位となるタスクグループ(単にグループともいう)である。各グループ(周期内処理単位の一例)には一つまたは複数のタスクが含まれる。また、グループは2つ以上、複数のグループが存在して良い。
(3)CPUスケジューリング機能部111(第1実行部)は、OS101内でCPUスケジューリングを行う。
(4)CPU割当時間表112は、CPUスケジューリング機能部111がグループ毎のCPU割当時間情報を記録するための表である。CPU割当時間表112には、グループ毎のCPU時間制限であるCPU割当時間と管理周期時間内(CPU時間管理周期内)でCPUを使用したCPU使用時間が記録される。CPU割当時間は、そのタスクグループに関して、管理周期時間内において認められるCPUの連続使用時間の上限値を示す。図1では、CPU時間を管理周期時間内での割合としてパーセントで示した例であるが、実際の時間単位で記録しても良い。
(5)スケジューリングキュー113は、CPUスケジューリング機能部111が実行可能タスクを選択するためのスケジューリングキューである。ここまで述べたものは従来方式にもある構成要素である。
Embodiment 1 FIG.
FIG. 1 is a configuration diagram showing a CPU allocation time management apparatus 1000 that executes the CPU allocation time management method. FIG. 1 is as follows.
(1) 101 is an OS (execution cycle setting unit).
(2) The task groups 201 and 202 are task groups (also simply referred to as groups) that are units for collecting the tasks operating on the OS 101 for each function and managing the CPU allocation time. Each group (an example of an intra-cycle processing unit) includes one or a plurality of tasks. There may be two or more groups and a plurality of groups.
(3) The CPU scheduling function unit 111 (first execution unit) performs CPU scheduling in the OS 101.
(4) The CPU allocation time table 112 is a table for the CPU scheduling function unit 111 to record CPU allocation time information for each group. The CPU allocation time table 112 records the CPU allocation time which is the CPU time limit for each group and the CPU usage time using the CPU within the management cycle time (within the CPU time management cycle). The CPU allocation time indicates the upper limit value of the continuous use time of the CPU that is permitted within the management cycle time for the task group. Although FIG. 1 shows an example in which the CPU time is shown as a percentage in the management cycle time, it may be recorded in actual time units.
(5) The scheduling queue 113 is a scheduling queue for the CPU scheduling function unit 111 to select an executable task. What has been described so far is a component also in the conventional system.

実施の形態1では上記の構成に加え、新たに次の構成要素を追加する。
(1)空きリソース管理機能部121(第2実行部)は、CPU空き時間の割当制御を行う。
(2)空きリソースプール122は、空きリソース管理機能部121がCPU時間をリザーブするリソースプールである。空きリソースプール122にはCPU時間を無限ループで消費するタスクとしてアイドルタスクが含まれる。
(3)リソース制限モード123は、空きCPU時間割当方針を設定するモードである。リソース制限モード123には、空きCPU時間があってもグループに割当を行わない「ハード制限モード」と、空きCPU時間がある場合その割当を行う「ソフト制限モード」の設定を可能にする。
(4)空きリソース利用可能グループ設定124は、「ソフト制限モード」を設定した場合に、空きCPU時間を利用することができるグループ(未終了実行対象)を登録する。空きリソース利用可能グループ設定124には、複数のグループを登録しても良い。
(5)CPU時間管理周期設定125は、CPU割当時間を管理する単位周期であるCPU時間管理周期(実行周期)を登録する。CPUスケジューリング機能部111、および空きリソース管理機能部121は、このCPU時間管理周期設定125に登録された時間(周期)で、CPU割当時間、CPU使用時間、CPU空き時間が割り当て通りになることを管理する。
(6)割当オーバタスクキュー126は、CPU割当時間を越えてCPUを要求するタスクを登録するキューである。
In the first embodiment, in addition to the above configuration, the following components are newly added.
(1) The free resource management function unit 121 (second execution unit) performs allocation control of CPU free time.
(2) The free resource pool 122 is a resource pool in which the free resource management function unit 121 reserves CPU time. The free resource pool 122 includes idle tasks as tasks that consume CPU time in an infinite loop.
(3) The resource limit mode 123 is a mode for setting a free CPU time allocation policy. In the resource limit mode 123, it is possible to set a “hard limit mode” in which no allocation is made to a group even if there is a free CPU time, and a “soft limit mode” in which the allocation is performed when there is a free CPU time.
(4) The free resource available group setting 124 registers a group (unfinished execution target) that can use the free CPU time when the “soft restriction mode” is set. A plurality of groups may be registered in the free resource available group setting 124.
(5) The CPU time management cycle setting 125 registers a CPU time management cycle (execution cycle) that is a unit cycle for managing the CPU allocation time. The CPU scheduling function unit 111 and the free resource management function unit 121 indicate that the CPU allocation time, the CPU usage time, and the CPU free time become as allocated in the time (cycle) registered in the CPU time management cycle setting 125. to manage.
(6) The allocation overtask queue 126 is a queue for registering a task that requests the CPU beyond the CPU allocation time.

次に動作について説明する。
図2は、OS101が行うCPU割当時間管理方式の初期設定の動作である。図2の動作の主体はOS101である。
(1)まずS101で従来のCPU割当時間管理方式と同様に、CPU割当時間管理の単位となるグループ群201、202、・・・を作成する。ここで作成したグループに対するCPU割当時間を、CPU割当時間表112の対応するエントリに登録する。
(2)次にS102で空きCPU時間リザーブ用のタスクとしてアイドルタスクを作成し、空きリソースプール122に登録する。さらに空きリソースプール122に対するCPU割当時間を管理するためにCPU割当時間表112に空きリソースプール122を登録する。
(3)次にS103でリソース制限モード123の初期値設定を行う。空きCPU時間が生じた場合でもCPU割当時間を超えたグループへのCPUスケジューリングを行わない場合は「ハード制限モード」に設定し、空きCPU時間が生じた場合にCPU割当時間を超えたグループへのCPUスケジューリングを行う場合は「ソフト制限モード」に設定する。
(4)次にS104で空きリソース利用可能グループ設定124に空きCPU時間の利用を許可するグループ群を設定する。空きCPU時間の利用を許可するグループは複数登録しても良い。この設定は「ハード制限モード」では影響を与えないこととする。
(5)次にS105で、CPU時間管理周期設定125にCPU割当時間の管理を行う単位周期時間(実行周期)を設定する。この時間は、CPU割当時間の上限確認、CPU使用時間の積算、CPU空き時間の有無確認を行う時間周期となる。この時間を短くすることにより、短い周期でCPU割当時間制御が行われるようになる。これらの初期設定の動作により、空きリソース管理機能部121の持つCPU割当時間管理パラメータの初期設定が行われ、その設定に基づきCPUスケジューリング機能部111と空きリソース管理機能部121が動作するようになる。
Next, the operation will be described.
FIG. 2 shows the initial setting operation of the CPU allocation time management method performed by the OS 101. The subject of the operation in FIG.
(1) First, in S101, group groups 201, 202,... Serving as a unit of CPU allocation time management are created in the same manner as in the conventional CPU allocation time management method. The CPU allocation time for the group created here is registered in the corresponding entry of the CPU allocation time table 112.
(2) Next, in S102, an idle task is created as a task for free CPU time reservation, and is registered in the free resource pool 122. Further, in order to manage the CPU allocation time for the free resource pool 122, the free resource pool 122 is registered in the CPU allocation time table 112.
(3) Next, in S103, the initial value of the resource restriction mode 123 is set. If CPU scheduling is not performed for a group that exceeds the CPU allocation time even when there is an empty CPU time, set to “hard limit mode”. When CPU scheduling is performed, the “soft limit mode” is set.
(4) Next, in S104, a group group that permits the use of the free CPU time is set in the free resource available group setting 124. A plurality of groups permitting the use of the free CPU time may be registered. This setting has no effect in the “hard limit mode”.
(5) Next, in S105, a unit cycle time (execution cycle) for managing the CPU allocation time is set in the CPU time management cycle setting 125. This time is a time period for checking the upper limit of the CPU allocation time, accumulating the CPU usage time, and checking whether there is a CPU idle time. By reducing this time, the CPU allocation time control is performed in a short cycle. With these initial setting operations, the CPU allocation time management parameters of the free resource management function unit 121 are initialized, and the CPU scheduling function unit 111 and the free resource management function unit 121 operate based on the settings. .

次に、図3、図4を用いて、リソース制限モード123の「ハード制限モード」、「ソフト制限モード」を説明する。図3、図4はグループの実行状況を示す図あり、横軸はCPU時間である。この例ではグループ1、グループ2と二つのタスクグループを作成した場合を示している。   Next, the “hard limit mode” and the “soft limit mode” of the resource limit mode 123 will be described with reference to FIGS. 3 and 4 are diagrams showing the execution status of the group, and the horizontal axis represents the CPU time. This example shows a case where two task groups, group 1 and group 2, are created.

(ハード制限モード)
図3は、リソース制限モードを「ハード制限モード」に設定した場合である。CPU割当時間はCPU時間管理周期設定125に設定されたCPU時間管理周期をベースに管理されている。最初の周期T1ではグループ1、グループ2共CPU割当時間を全て使い切っているが、2番目の周期T2ではグループ1はCPU割当時間を使い切っていない。しかし、リソース制限モードが「ハード制限モード」に設定されているため、CPU空き時間は他のグループに割り当てられることなく、空きリソースプールのアイドルタスクによりリザーブされる。また3番目の周期T3ではグループ2がCPU割当時間を使い切っていないが、同様にCPU空き時間は他のグループに割り当てられることなく、アイドルタスクによりリザーブされる。これによって、グループ1、グループ2共、CPU割当時間の上限により実行性能の一定性を実現できる。
(Hard limit mode)
FIG. 3 shows a case where the resource limit mode is set to “hard limit mode”. The CPU allocation time is managed based on the CPU time management period set in the CPU time management period setting 125. In the first period T1, both the group 1 and group 2 CPU allocation times are used up, but in the second period T2, group 1 does not use up the CPU allocation time. However, since the resource limit mode is set to the “hard limit mode”, the CPU free time is reserved by the idle task of the free resource pool without being assigned to another group. Further, in the third period T3, the group 2 does not use up the CPU allocation time, but similarly, the CPU idle time is reserved by the idle task without being allocated to other groups. As a result, both the group 1 and the group 2 can realize the uniformity of the execution performance by the upper limit of the CPU allocation time.

(ソフト制限モード)
図4は、リソース制限モードを「ソフト制限モード」に設定した場合である。図3と同じ状況で効果を見ると、2番目の周期T2ではグループ1はCPU割当時間を使い切っていないが、「空きリソース利用可能グループ設定」にグループ2が設定されていないため、グループ2はこのCPU空き時間を利用することができず、アイドルタスクによりリザーブされる。しかし、3番目の周期T3でグループ2(周期内早期終了単位の例)のCPU割当時間に空き時間ができると、「リソース制限モード」が「ソフト制限モード」に設定されていて、かつ、「空きリソース利用可能グループ設定」が「グループ1」に設定されている。したがって、グループ1(周期内未終了単位の例)はCPU空き時間を利用することができ、グループ1がCPU割当時間を越えて実行される。これによって、グループ2は実行性能の一定性を実現できるのに対し、グループ1はCPU割当時間以上のCPU時間を使用した高速な実行を行うことができる。
(Soft restriction mode)
FIG. 4 shows a case where the resource limit mode is set to “soft limit mode”. Looking at the effect in the same situation as in FIG. 3, in the second period T2, group 1 does not use up the CPU allocation time, but group 2 is not set in “free resource available group setting”. The CPU idle time cannot be used and is reserved by the idle task. However, if there is a free time in the CPU allocation time of group 2 (an example of early termination unit in the cycle) in the third cycle T3, “resource limit mode” is set to “soft limit mode” and “ “Available resource available group setting” is set to “Group 1”. Therefore, the group 1 (an example of the unfinished unit in the cycle) can use the CPU idle time, and the group 1 is executed exceeding the CPU allocation time. As a result, group 2 can achieve constant execution performance, while group 1 can perform high-speed execution using CPU time equal to or greater than the CPU allocation time.

なお、図3、図4では、グループ1、グループ2が順番にかつ連続的にスケジューリングされるように模式的に示した。しかしこれは一例であり、実際にはグループ1、グループ2内のタスクは、OS101のタスクスケジューリングにより、タスクの実行順序やタスクスイッチの粒度について、きめ細かくスケジューリングすることができる。   In FIGS. 3 and 4, the group 1 and the group 2 are schematically shown so as to be scheduled sequentially and continuously. However, this is only an example, and in reality, tasks in the group 1 and group 2 can be finely scheduled with respect to task execution order and task switch granularity by the task scheduling of the OS 101.

次に、図5を参照して、CPUスケジューリング機能部111の動作を説明する。
図5は、CPU割当時間管理方式のCPUスケジューリング機能部111の動作である。つまり、図5の動作の主体は、CPUスケジューリング機能部111である。以下の図5、図6の説明では、図4のようにグループ1と、グループ2とを想定し、グループ1はタスク1a〜1dを有し、グループ2はタスク2a〜2dを有するとする。
(1)まずS200でCPUスケジューリング機能部111は、OS101の持つタスクスケジューリングに従い、実行するタスクを選択し実行する。OSには様々なタスクスケジューリング方式があり、CPU割当時間管理装置1000が実行するCPU割当時間管理方式では、そのタスクスケジューリング方式をそのまま使用する。グループのCPU使用時間がCPU割当時間に到達しない限り、CPU割当時間管理装置1000のCPU割当時間管理方式は、OSのタスクスケジューリングに影響を与えない。
(2)次にS201で、各グループ内のタスクが使用したCPU時間を積算し、CPU割当時間表112の該当するグループのCPU使用時間に記録する。図4のように、グループ1から実行される場合は、グループ1のCPU使用時間が記録される。
(3)次にS202でグループのCPU使用時間がCPU割当時間に到達し、かつ、そのグループ内に実行可能なタスクがあるか確認する。実行可能なタスクがある場合は、S203でそのタスクをスケジューリングキュー113から外し、割当オーバタスクキュー126に登録する。例えば、図4の3番目の周期T3において、グループ1用のCPU割当時間に到達し、かつ、タスク1c、タスク1dがまだ実行されておらずスケジューリングキュー113に存在するような状況である。この場合、CPUスケジューリング機能部111は、タスク1c、タスク1dをスケジューリングキュー113から外し、割当オーバタスクキュー126に登録する。
(4)S204では、ここまでのS200からS203までの処理の実行でCPU時間管理周期設定125に登録された管理周期時間が経過したか確認する。現在、図4の3番目の周期T3の時刻(a)とする。
(5)CPU時間管理周期Tが経過した場合は、S205でCPU割当時間管理表112の全グループのCPU使用時間をゼロリセットすると共に、割当オーバタスクキュー126に登録されているタスクを、スケジューリングキュー113に戻す。
この後、S200に戻る。
(6)S204でCPU時間管理周期Tが経過していない場合は、S206でスケジューリングキュー113に登録されているタスクが空きリソースプール122のアイドルタスクのみであるか確認する。スケジューリングキュー113にアイドルタスク以外のタスクが登録されている場合は、S200に戻る。S206からS200に戻るのは、図4の時刻(a)の後に、タスク2a〜2dがスケジューリングキュー113に登録されているような場合である。
(7)S206でスケジューリングキューに登録されたタスクがアイドルタスクのみの場合は、S300で空きリソース管理機能部121を呼び出して実行する。S300の動作の詳細は図6で説明する。例えば、図4の時刻(b)の状態のようにタスク2a〜2dが実行済の場合である。
Next, the operation of the CPU scheduling function unit 111 will be described with reference to FIG.
FIG. 5 shows the operation of the CPU scheduling function unit 111 in the CPU allocation time management method. That is, the subject of the operation in FIG. 5 is the CPU scheduling function unit 111. In the following description of FIG. 5 and FIG. 6, it is assumed that group 1 and group 2 are assumed as shown in FIG. 4, and group 1 has tasks 1a to 1d, and group 2 has tasks 2a to 2d.
(1) First, in S200, the CPU scheduling function unit 111 selects and executes a task to be executed according to the task scheduling of the OS 101. The OS has various task scheduling methods. In the CPU allocation time management method executed by the CPU allocation time management apparatus 1000, the task scheduling method is used as it is. As long as the CPU usage time of the group does not reach the CPU allocation time, the CPU allocation time management method of the CPU allocation time management apparatus 1000 does not affect the task scheduling of the OS.
(2) Next, in S201, the CPU time used by the tasks in each group is integrated and recorded in the CPU usage time of the corresponding group in the CPU allocation time table 112. As shown in FIG. 4, when the program is executed from group 1, the CPU usage time of group 1 is recorded.
(3) Next, in S202, it is confirmed whether the CPU usage time of the group reaches the CPU allocation time and there is an executable task in the group. If there is an executable task, the task is removed from the scheduling queue 113 and registered in the allocation overtask queue 126 in S203. For example, in the third period T3 in FIG. 4, the CPU allocation time for group 1 is reached, and tasks 1c and 1d are not yet executed and exist in the scheduling queue 113. In this case, the CPU scheduling function unit 111 removes the tasks 1c and 1d from the scheduling queue 113 and registers them in the allocation overtask queue 126.
(4) In S204, it is confirmed whether or not the management cycle time registered in the CPU time management cycle setting 125 has elapsed in the execution of the processing from S200 to S203 so far. Currently, the time (a) of the third cycle T3 in FIG. 4 is assumed.
(5) If the CPU time management period T has elapsed, the CPU usage time of all groups in the CPU allocation time management table 112 is reset to zero in S205, and the tasks registered in the allocation overtask queue 126 are transferred to the scheduling queue. Return to 113.
Thereafter, the process returns to S200.
(6) If the CPU time management period T has not elapsed in S204, it is confirmed in S206 whether the tasks registered in the scheduling queue 113 are only idle tasks in the free resource pool 122. If a task other than the idle task is registered in the scheduling queue 113, the process returns to S200. The process returns from S206 to S200 when the tasks 2a to 2d are registered in the scheduling queue 113 after the time (a) in FIG.
(7) If the task registered in the scheduling queue in S206 is only an idle task, the free resource management function unit 121 is called and executed in S300. Details of the operation of S300 will be described with reference to FIG. For example, this is a case where the tasks 2a to 2d have been executed as in the state of time (b) in FIG.

図6は、CPU割当時間管理装置1000の空きリソース管理機能部121の動作である図5のS300の詳細である。図6の動作主体は空きリソース管理機能部121である。
(1)まずS301で、空きリソース管理機能部121は、リソース制限モード123が「ハード制限モード」に設定されているか、「ソフト制限モード」に設定されているかを確認する。「ハード制限モード」に設定されている場合は、空きCPU時間を他のグループに割り当てず、S304で空きリソースプール122のアイドルタスクを実行する。S301でリソース制限モードが「ソフト制限モード」に設定されている場合は、S302に進む。
(2)S302で割当オーバタスクキュー126が空であるか確認する。割当オーバタスクキュー126が空であれば、実行可能状態のタスクが存在しないため、S304でアイドルタスクを実行する。
(3)S302で割当オーバタスクキュー126にタスクが登録されていれば、S303で割当オーバタスクキュー126に登録されているタスクのうち、「空きリソース利用可能グループ設定124」に登録されているグループのタスクを実行する。この時の実行するタスクの選択方法は、OSのタスクスケジューリング方式に従う。この例では、図4の時刻(b)の時点で、タスク1c、1dが割当オーバタスクキュー126に登録されており、グループ1は「空きリソース利用可能グループ設定124」に登録されているとする。
(4)S305では、ここまでのS301からS304までの処理の実行でCPU時間管理周期設定125に登録された管理周期時間が経過したか確認する。CPU管理周期Tが経過していない場合は、S301に戻る。
(5)S305でCPU時間管理周期Tが経過した場合は、S306でCPU割当時間管理表112の全グループのCPU使用時間をゼロリセットすると共に、割当オーバタスクキュー126に登録されているタスクをスケジューリングキュー113に戻す。これにより空きリソース管理機能部121の動作を完了し、図5のS200に戻る。例えばS306でタスク1dが割当オーバタスクキュー126に残っている場合には、空きリソース管理機能部121は、タスク1dをスケジューリングキュー113に戻す。
FIG. 6 shows details of S300 in FIG. 5 which is an operation of the free resource management function unit 121 of the CPU allocation time management apparatus 1000. 6 is the free resource management function unit 121.
(1) First, in S301, the free resource management function unit 121 checks whether the resource limit mode 123 is set to “hard limit mode” or “soft limit mode”. When the “hard limit mode” is set, the idle task of the free resource pool 122 is executed in S304 without assigning the free CPU time to another group. If the resource restriction mode is set to “soft restriction mode” in S301, the process proceeds to S302.
(2) In S302, it is confirmed whether the allocation overtask queue 126 is empty. If the allocation overtask queue 126 is empty, there is no task in an executable state, and an idle task is executed in S304.
(3) If a task is registered in the allocation overtask queue 126 in S302, among the tasks registered in the allocation overtask queue 126 in S303, the group registered in the “free resource available group setting 124” Perform the task. The method for selecting a task to be executed at this time follows the task scheduling method of the OS. In this example, it is assumed that the tasks 1c and 1d are registered in the allocation overtask queue 126 at the time (b) in FIG. 4, and the group 1 is registered in the “free resource available group setting 124”. .
(4) In S305, it is confirmed whether or not the management cycle time registered in the CPU time management cycle setting 125 has passed through the execution of the processing from S301 to S304. If the CPU management cycle T has not elapsed, the process returns to S301.
(5) If the CPU time management period T has elapsed in S305, the CPU usage time of all groups in the CPU allocation time management table 112 is reset to zero in S306, and tasks registered in the allocation overtask queue 126 are scheduled. Return to the queue 113. Thus, the operation of the free resource management function unit 121 is completed, and the process returns to S200 of FIG. For example, when the task 1d remains in the allocation overtask queue 126 in S306, the free resource management function unit 121 returns the task 1d to the scheduling queue 113.

以上のように、この実施の形態1におけるCPU割当時間管理装置1000のCPU割当時間管理方式では、CPU空き時間がある場合に、OSが空きリソース管理機能部121を呼び出し、そこで設定されたパラメータに従い、タスクグループがそのCPU割当時間を越えてCPUを使用することができるかどうかを制御するようにした。このことにより、タスクグループの実行する機能が高速性を要求するのか、性能の一定性を要求するのか要求により、CPU空き時間の割当方法を変えることができる。   As described above, in the CPU allocation time management method of the CPU allocation time management apparatus 1000 according to the first embodiment, when there is CPU free time, the OS calls the free resource management function unit 121 and follows the parameters set there. The task group controls whether or not the CPU can be used beyond its CPU allocation time. As a result, the CPU free time allocation method can be changed depending on whether the function executed by the task group requires high speed or constant performance.

実施の形態2.
図7を参照して実施の形態2のCPU割当時間管理装置1000を説明する。実施の形態2では、実施の形態1のCPU割当時間管理装置1000が、さらに、空きリソース管理パラメータ設定機能部131(機能は後述)を備える構成である。実施の形態2によれば、空きリソース管理パラメータ設定機能部131(周期変更部、モード切替部、未終了実行対象変更部)を設けたことにより、OS上位から空きリソース管理機能部121の使用するパラメータを変更できるようにすることで、CPU割当時間管理装置1000(情報処理装置)の実行時に、CPU割当時間管理の動作を変えることができる。
Embodiment 2. FIG.
A CPU allocation time management apparatus 1000 according to the second embodiment will be described with reference to FIG. In the second embodiment, the CPU allocation time management apparatus 1000 according to the first embodiment further includes a free resource management parameter setting function unit 131 (the function will be described later). According to the second embodiment, by providing the free resource management parameter setting function unit 131 (period change unit, mode switching unit, unfinished execution target change unit), the free resource management function unit 121 is used from the upper OS level. By enabling the parameter to be changed, the CPU allocation time management operation can be changed when the CPU allocation time management apparatus 1000 (information processing apparatus) is executed.

図7は、このような場合の構成図である。空きリソース管理パラメータ設定機能部131は、OS上位からCPU割当時間管理方式の実行時に、空きリソース管理機能部121の使用するパラメータを変更する機能を有する。図7において、図1と同じ番号がついている構成要素は、図1と同じものである。   FIG. 7 is a configuration diagram in such a case. The free resource management parameter setting function unit 131 has a function of changing a parameter used by the free resource management function unit 121 when the CPU allocation time management method is executed from the upper OS. In FIG. 7, the components having the same numbers as those in FIG. 1 are the same as those in FIG.

空きリソース管理パラメータ設定機能部131は、実施の形態1で図2の動作によりOS101が初期設定した空きリソース管理機能部121の以下の(a)〜(c)の設定値(パラメータ)を変更可能である。
すなわち、
(a)リソース制限モード123、
(b)空きリソース利用可能グループ設定124、
(c)CPU時間管理周期設定125
の設定値を、「ユーザ指示、もしくはタスク間呼出し」により、図2の初期設定後に変更する。
The free resource management parameter setting function unit 131 can change the following setting values (parameters) (a) to (c) of the free resource management function unit 121 initially set by the OS 101 by the operation of FIG. 2 in the first embodiment. It is.
That is,
(A) Resource restriction mode 123,
(B) Free resource available group setting 124,
(C) CPU time management cycle setting 125
Is changed after the initial setting in FIG. 2 by “user instruction or inter-task call”.

実施の形態1で説明した図5、図6の動作では、それぞれの設定値(パラメータ(a)〜(c))を動作中に読んで判断を行うようにしているので、これらの設定値を変更することにより、空きリソース管理機能部121の動作を変更することができる。   In the operations of FIGS. 5 and 6 described in the first embodiment, the respective setting values (parameters (a) to (c)) are read during the operation to make a determination. By changing, the operation of the free resource management function unit 121 can be changed.

以上のように実施の形態2のCPU割当時間管理装置1000のCPU割当時間管理方式では、空きリソース管理パラメータ設定機能部131を追加することにより、OS上位から空きリソース管理機能部121の使用するパラメータをCPU割当時間管理装置1000(情報処理装置)の起動時だけでなく、実行時に変更できるようにした。これにより、タスクの機能に対する要求の変更や状態の変化に応じて、空きリソース管理機能部121のCPU空き時間の割当制御を変更することができる。   As described above, in the CPU allocation time management method of the CPU allocation time management apparatus 1000 according to the second embodiment, by adding the free resource management parameter setting function unit 131, the parameters used by the free resource management function unit 121 from the upper level of the OS. Can be changed not only when the CPU allocation time management apparatus 1000 (information processing apparatus) is started but also when it is executed. As a result, the CPU free time allocation control of the free resource management function unit 121 can be changed according to a change in a request for a task function or a change in state.

例えば、通常は「ハード制限モード」で動作させておくが、空きリソース管理パラメータ設定機能部131は「起動時や通常とは異なる処理」が発生した時のみ「ソフト制限モード」に設定を変更して、「起動時や通常とは異なる処理」に関連する機能を実行するタスクグループに空きCPU時間を割り当てるという制御を行うことができる。   For example, although it is normally operated in the “hard limit mode”, the free resource management parameter setting function unit 131 changes the setting to the “soft limit mode” only when “a process different from normal operation” occurs. Thus, it is possible to perform control such that free CPU time is allocated to a task group that executes a function related to “a process different from normal processing at the time of activation”.

実施の形態3.
図8を参照して実施の形態3のCPU割当時間管理装置1000を説明する。上記の実施の形態1のCPU割当時間管理装置1000では、そのCPU割当時間管理方式をOSに適用し、OS上のタスク間のCPU割当時間管理を実現した。この実施の形態3では、実施の形態1のCPU割当時間管理方式を複数のOS(あるいは複数の仮想計算機)を実行させるハイパーバイザに適用し、ハイパーバイザ上のOS間(あるいは仮想計算機間)のCPU割当時間管理を実現する。なお、実施の形態3は実施の形態2と組み合わせることができるのは、実施の形態1と同様である。
Embodiment 3 FIG.
A CPU allocation time management apparatus 1000 according to the third embodiment will be described with reference to FIG. In the CPU allocation time management apparatus 1000 according to the first embodiment, the CPU allocation time management method is applied to the OS, and CPU allocation time management between tasks on the OS is realized. In this third embodiment, the CPU allocation time management method of the first embodiment is applied to a hypervisor that executes a plurality of OSs (or a plurality of virtual machines), and between OSs (or between virtual machines) on a hypervisor. Realizes CPU allocation time management. The third embodiment can be combined with the second embodiment in the same manner as the first embodiment.

図8は、実施の形態3におけるCPU割当時間管理装置1000の構成図である。実施の形態3のCPU割当時間管理装置1000では、実施の形態1で示したOS101の代わりに、ハイパーバイザ501の中に、CPU割当時間管理方式の空きリソース管理機能部121を組み込む。   FIG. 8 is a configuration diagram of the CPU allocation time management apparatus 1000 according to the third embodiment. In the CPU allocation time management apparatus 1000 according to the third embodiment, the free resource management function unit 121 of the CPU allocation time management method is incorporated in the hypervisor 501 instead of the OS 101 shown in the first embodiment.

ハイパーバイザ501は、一つの情報処理装置で複数のOSを実行するためにハードウェア管理と仮想化制御を行う。   The hypervisor 501 performs hardware management and virtualization control in order to execute a plurality of OSs with one information processing apparatus.

601、602は、ハイパーバイザ上で実行するOS(周期内処理単位の一例)である。OSは二つ以上、複数存在しても良い。またOSではなく、ハイパーバイザ上で動作する仮想計算機(VMとも表記する)でも良い。また、仮想計算機(周期内処理単位の一例)の場合は、ハイパーバイザ501の代わりに仮想マシンモニタでもよい。   Reference numerals 601 and 602 denote OSs (an example of an intra-cycle processing unit) executed on the hypervisor. Two or more OSs may exist. Further, instead of the OS, a virtual machine (also referred to as VM) operating on the hypervisor may be used. In the case of a virtual machine (an example of an in-cycle processing unit), a virtual machine monitor may be used instead of the hypervisor 501.

ハイパーバイザ501には、OSまたは仮想計算機に対してCPU割当時間の上限管理を行うCPUスケジューリング機能部111があるものとする。ハイパーバイザがOSまたは仮想計算機に対して行うスケジューリングは、OSがタスクに対して行うスケジューリングと同じであることから、実施の形態1で示した空きリソース管理機能部121を、ハイパーバイザ501のCPUスケジューリング機能と組み合わせて動作させることができる。空きリソース管理機能部121内の構成は、図8で示すように、実施の形態1と同じである。また、CPUスケジューリング機能部111、空きリソース管理機能部121の動作は、図2、図5、図6の各フローチャートで示したものと同じである。   It is assumed that the hypervisor 501 has a CPU scheduling function unit 111 that performs upper limit management of CPU allocation time for the OS or virtual machine. Since the scheduling performed by the hypervisor for the OS or the virtual machine is the same as the scheduling performed by the OS for the task, the free resource management function unit 121 described in the first embodiment is assigned to the CPU scheduling of the hypervisor 501. Can be operated in combination with functions. The configuration in the free resource management function unit 121 is the same as that of the first embodiment as shown in FIG. The operations of the CPU scheduling function unit 111 and the free resource management function unit 121 are the same as those shown in the flowcharts of FIGS. 2, 5, and 6.

(OS等の読み替え)
実施の形態3の場合は、CPUスケジューリングを行うOS101をハイパーバイザ501と読み替え、CPUスケジューリング対象であるタスクを、OS(または仮想計算機)と読み替える。この読み替えにより、ハイパーバイザ501のスケジューリングに対しても、実施の形態1で述べたCPU割当時間管理方式を適用することができる。この読み替えに対応する図8と、実施の形態1の図1との相違箇所は破線で囲んでいる。
(Reading OS etc.)
In the case of the third embodiment, the OS 101 that performs CPU scheduling is replaced with the hypervisor 501, and the task that is subject to CPU scheduling is replaced with the OS (or virtual machine). By this replacement, the CPU allocation time management method described in the first embodiment can be applied to the scheduling of the hypervisor 501. The difference between FIG. 8 corresponding to this replacement and FIG. 1 of the first embodiment is surrounded by a broken line.

以上のように、実施の形態3では、一つの情報処理装置で複数のOS(あるいはVM)を実行するハイパーバイザのCPU割当時間管理に、実施の形態1で述べたCPU割当時間管理方式を組み込むことにより、OS(あるいはVM)に対してCPU空き時間が生じた場合のCPU割当制御を行うことができる。これにより、ハイパーバイザ501上で実行するOSが高速性を要求するのか、性能の一定性を要求するのか要求に合わせて、CPU空き時間の割当方法を変えることができる。   As described above, in the third embodiment, the CPU allocation time management method described in the first embodiment is incorporated in the CPU allocation time management of a hypervisor that executes a plurality of OSs (or VMs) with one information processing apparatus. Thus, CPU allocation control can be performed when CPU free time occurs in the OS (or VM). Thus, the CPU free time allocation method can be changed in accordance with whether the OS executed on the hypervisor 501 requires high speed or constant performance.

実施の形態4.
図9、図10を参照して実施の形態4を説明する。実施の形態4は、コンピュータであるCPU割当時間管理装置1000のハードウェア構成を説明する。図9は、コンピュータであるCPU割当時間管理装置1000の外観の一例を示す図である。図10は、実施の形態1〜3で述べたCPU割当時間管理装置1000のハードウェア資源の一例を示す図である。
Embodiment 4 FIG.
The fourth embodiment will be described with reference to FIGS. In the fourth embodiment, a hardware configuration of a CPU allocation time management apparatus 1000 that is a computer will be described. FIG. 9 is a diagram showing an example of the appearance of a CPU allocation time management apparatus 1000 that is a computer. FIG. 10 is a diagram illustrating an example of hardware resources of the CPU allocation time management apparatus 1000 described in the first to third embodiments.

外観を示す図9において、CPU割当時間管理装置1000は、システムユニット830、CRT(Cathode・Ray・Tube)やLCD(液晶)の表示画面を有する表示装置813、キーボード814(Key・Board:K/B)、マウス815、コンパクトディスク装置818(CDD:Compact Disk Drive)などのハードウェア資源を備え、これらはケーブルや信号線で接続されている。システムユニット830はネットワークに接続している。   In FIG. 9 showing an appearance, a CPU allocation time management apparatus 1000 includes a system unit 830, a display device 813 having a CRT (Cathode / Ray / Tube) or LCD (liquid crystal) display screen, a keyboard 814 (Key / Board: K / B), hardware resources such as a mouse 815, a compact disk device 818 (CDD: Compact Disk Drive), and the like, which are connected by cables and signal lines. The system unit 830 is connected to the network.

またハードウェア資源を示す図10において、CPU割当時間管理装置1000は、プログラムを実行するCPU810(Central Processing Unit)を備えている。CPU810は、バス825を介してROM(Read Only Memory)811、RAM(Random Access Memory)812、表示装置813、キーボード814、マウス815、通信ボード816、CDD818、磁気ディスク装置820と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置820の代わりに、光ディスク装置、フラッシュメモリなどの記憶装置でもよい。   In FIG. 10 showing hardware resources, the CPU allocation time management apparatus 1000 includes a CPU 810 (Central Processing Unit) for executing a program. The CPU 810 is connected to a ROM (Read Only Memory) 811, a RAM (Random Access Memory) 812, a display device 813, a keyboard 814, a mouse 815, a communication board 816, a CDD 818, and a magnetic disk device 820 via a bus 825. Control hardware devices. Instead of the magnetic disk device 820, a storage device such as an optical disk device or a flash memory may be used.

RAM812は、揮発性メモリの一例である。ROM811、CDD818、磁気ディスク装置820等の記憶媒体は、不揮発性メモリの一例である。これらは、「記憶装置」あるいは記憶部、格納部、バッファの一例である。これら記憶装置等は「キュー」を実現する。通信ボード816、キーボード814などは、入力部、入力装置の一例である。また、通信ボード816、表示装置813などは、出力部、出力装置の一例である。通信ボード816は、ネットワークに接続されている。   The RAM 812 is an example of a volatile memory. Storage media such as the ROM 811, the CDD 818, and the magnetic disk device 820 are examples of nonvolatile memories. These are examples of a “storage device” or a storage unit, a storage unit, and a buffer. These storage devices and the like realize a “queue”. The communication board 816, the keyboard 814, and the like are examples of an input unit and an input device. The communication board 816, the display device 813, and the like are examples of an output unit and an output device. The communication board 816 is connected to the network.

磁気ディスク装置820には、オペレーティングシステム821(OS)、ウィンドウシステム822、プログラム群823、ファイル群824が記憶されている。プログラム群823のプログラムは、CPU810、オペレーティングシステム821、ウィンドウシステム822により実行される。   The magnetic disk device 820 stores an operating system 821 (OS), a window system 822, a program group 823, and a file group 824. The programs in the program group 823 are executed by the CPU 810, the operating system 821, and the window system 822.

上記OS821,プログラム群823には、以上の実施の形態の説明において「〜部」として説明した機能を実行するプログラムが記憶されている。プログラムは、CPU810により読み出され実行される。   The OS 821 and the program group 823 store programs that execute the functions described as “˜units” in the description of the above embodiments. The program is read and executed by the CPU 810.

ファイル群824には、以上の実施の形態の説明において、「〜の判定結果」、「〜の算出結果」、「〜の抽出結果」、「〜の生成結果」、「〜の処理結果」として説明した情報や、データや信号値や変数値やパラメータなどが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU810によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのCPUの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。   In the description of the above embodiment, the file group 824 includes “to determination result”, “to calculation result”, “to extraction result”, “to generation result”, and “to processing result”. The described information, data, signal values, variable values, parameters, and the like are stored as items of “˜file” and “˜database”. The “˜file” and “˜database” are stored in a recording medium such as a disk or a memory. Information, data, signal values, variable values, and parameters stored in a storage medium such as a disk or memory are read out to the main memory or cache memory by the CPU 810 via a read / write circuit, and extracted, searched, referenced, compared, and calculated. Used for CPU operations such as calculation, processing, output, printing, and display. Information, data, signal values, variable values, and parameters are temporarily stored in the main memory, cache memory, and buffer memory during the CPU operations of extraction, search, reference, comparison, operation, calculation, processing, output, printing, and display. Is remembered.

また、以上に述べた実施の形態の説明において、データや信号値は、RAM812のメモリ、CDD818のコンパクトディスク、磁気ディスク装置820の磁気ディスク、その他光ディスク、ミニディスク、DVD(Digital・Versatile・Disk)等の記録媒体に記録される。また、データや信号は、バス825や信号線やケーブルその他の伝送媒体によりオンライン伝送される。   In the description of the embodiment described above, the data and signal values are the memory of the RAM 812, the compact disk of the CDD 818, the magnetic disk of the magnetic disk device 820, other optical disks, mini disks, and DVDs (Digital Versatile Disk). Or the like. Data and signals are transmitted on-line via the bus 825, signal lines, cables, and other transmission media.

また、以上の実施の形態の説明において、「〜部」として説明したものは、「〜手段」、であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明したものは、ソフトウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU810により読み出され、CPU810により実行される。すなわち、プログラムは、以上に述べた「〜部」としてコンピュータを機能させるものである。あるいは、以上に述べた「〜部」の手順や方法をコンピュータに実行させるものである。   In the above description of the embodiment, what has been described as “to part” may be “to means”, and “to step”, “to procedure”, and “to processing”. May be. That is, what has been described as “˜unit” may be implemented by software alone, a combination of software and hardware, or a combination of firmware. Firmware and software are stored as programs in a recording medium such as a magnetic disk, a flexible disk, an optical disk, a compact disk, a mini disk, and a DVD. The program is read by the CPU 810 and executed by the CPU 810. That is, the program causes the computer to function as the “˜unit” described above. Alternatively, the computer executes the procedure and method of “to part” described above.

以上の実施の形態では、CPU割当時間管理装置1000を説明したが、CPU割当時間管理装置1000の動作を、コンピュータに実行させるためのプログラムとしても把握できることは以上の説明から当然である。また、以上の実施の形態で説明したCPU割当時間管理装置1000の動作を、CPU割当時間管理装置1000の各部が行うCPU割当時間管理と把握することも可能である。   Although the CPU allocation time management apparatus 1000 has been described in the above embodiment, it is obvious from the above description that the operation of the CPU allocation time management apparatus 1000 can be grasped as a program for causing a computer to execute the operation. It is also possible to grasp the operation of the CPU allocation time management apparatus 1000 described in the above embodiment as CPU allocation time management performed by each unit of the CPU allocation time management apparatus 1000.

(1)以上の実施の形態1のCPU割当時間管理装置1000によれば、タスクグループ毎にCPU割当時間の上限制御を行い、そして、CPU空き時間がある場合に、機能要求に応じて適切な制御ができるCPU割当時間方式を提供できる。
(2)また、実施の形態2のCPU割当時間管理装置1000によれば、このような管理に必要なパラメータを情報処理装置の実行時に動的に変更できる方式を得ることができる。
(3)また、実施の形態3のCPU割当時間管理装置1000によれば、このようなCPU割当時間管理方式を一つのOS内にあるタスクで構成されるタスクグループのCPU割当時間制御に用いるだけでなく、複数のOS(あるいは複数のVM)を同時に実行させる機能を提供するハイパーバイザ上のOS間(あるいはVM間)のCPU割当時間制御に用いることができる。
(1) According to the CPU allocation time management apparatus 1000 of the first embodiment described above, the upper limit control of the CPU allocation time is performed for each task group. A CPU allocation time system that can be controlled can be provided.
(2) Further, according to the CPU allotted time management apparatus 1000 of the second embodiment, it is possible to obtain a method capable of dynamically changing parameters necessary for such management when the information processing apparatus is executed.
(3) In addition, according to the CPU allocation time management apparatus 1000 of the third embodiment, such a CPU allocation time management method is only used for CPU allocation time control of a task group composed of tasks in one OS. Instead, it can be used for CPU allocation time control between OSs (or between VMs) on a hypervisor that provides a function of simultaneously executing a plurality of OSs (or a plurality of VMs).

以上の実施の形態では、
複数のタスクを同時(厳密には時分割のマルチタスク)に実行する情報処理装置のOSで、一つまたは複数のタスク群から構成されるタスクグループに対し、そのタスクグループが使用できるCPU時間の上限を設定するCPU割当時間管理方式において、以下の手段を備えることを特徴とするCPU割当時間管理方式を説明した。
(a)CPU空き時間が生じた場合に、そのCPU空き時間をリザーブする空きリソースプール;
(b)CPU空き時間が生じた場合にタスクグループに割り当てたCPU時間の上限以上のCPU時間割当を行うかどうかを選択するリソース制限モード情報。
(c)CPU空き時間が生じた場合にタスクグループに割り当てたCPU時間の上限を超えて実行したいタスクが登録される割当オーバタスクキュー。
(d)タスクグループに割り当てたCPU時間に空き時間が生じた場合に呼び出され、空きリソースプールによりCPU空き時間をリザーブし、リソース制限モード情報によりタスクグループに対するCPU空き時間の割り当てを行うかどうかを制御し、割当オーバタスクキューに登録されたタスクを実行する空きリソース管理機能。
In the above embodiment,
An OS of an information processing apparatus that executes a plurality of tasks simultaneously (strictly, time-division multitasking). For a task group composed of one or more task groups, the CPU time that can be used by the task group In the CPU allocation time management system for setting the upper limit, the CPU allocation time management system including the following means has been described.
(A) A free resource pool for reserving CPU free time when CPU free time occurs;
(B) Resource restriction mode information for selecting whether or not to perform CPU time allocation exceeding the upper limit of the CPU time allocated to the task group when CPU idle time occurs.
(C) An allocation overtask queue in which tasks to be executed exceeding the upper limit of CPU time allocated to a task group when a CPU idle time occurs are registered.
(D) Called when a free time occurs in the CPU time allocated to the task group, reserves the CPU free time by the free resource pool, and determines whether to allocate the CPU free time to the task group based on the resource limit mode information. Free resource management function to control and execute tasks registered in the assigned overtask queue.

以上の実施の形態では、以下の手段を備えることを特徴とするCPU割当時間管理方式を説明した。
(a)指定した周期時間毎に、CPU割当時間管理に使用する設定するCPU使用時間情報、割当オーバタスクキューの情報をクリアし、空きリソース管理機能の状態をリセットするCPU時間管理周期設定。
In the above embodiment, the CPU allocation time management system characterized by including the following means has been described.
(A) CPU time management cycle setting for clearing CPU usage time information to be used for CPU allocation time management and allocation overtask queue information and resetting the state of the free resource management function for each specified cycle time.

以上の実施の形態では、以下の手段を備えることを特徴とするCPU割当時間管理方式を説明した。
(a)CPU空き時間が生じた場合で、かつリソース制限モード情報によりCPU空き時間の割り当てが許可されていた場合に、指定したタスクグループのみにCPU空き時間の割り当てを行う空きリソース利用可能グループ設定。
In the above embodiment, the CPU allocation time management system characterized by including the following means has been described.
(A) Free resource available group setting for assigning CPU free time only to a specified task group when CPU free time occurs and allocation of CPU free time is permitted by resource restriction mode information .

以上の実施の形態では、以下の手段を備えることを特徴とするCPU割当時間管理方式を説明した。
(a)OS実行中にリソース制限モード、CPU時間管理周期設定、空きリソース利用可能グループ設定に登録された設定値を変更する空きリソース管理パラメータ設定機能。
In the above embodiment, the CPU allocation time management system characterized by including the following means has been described.
(A) A free resource management parameter setting function for changing setting values registered in the resource restriction mode, CPU time management cycle setting, and free resource available group setting during OS execution.

以上の実施の形態では、以下のCPU割当時間管理方式を説明した。
複数のOSもしくは仮想計算機を同時(時分割のマルチタスク)に実行するための情報処理装置のハイパーバイザもしくは仮想マシンモニタで、実行するOSもしくは仮想計算機に対し、そのOSもしくは仮想計算機の使用するCPU時間の上限を設定するCPU割当時間管理方式において、上記のCPU割当時間管理方式をハイパーバイザもしくは仮想マシンモニタ内に持つCPU割当時間管理方式。
In the above embodiment, the following CPU allocation time management system has been described.
A CPU used by the OS or virtual machine for the OS or virtual machine to be executed by the hypervisor or virtual machine monitor of the information processing apparatus for executing a plurality of OSs or virtual machines simultaneously (time division multitasking) In the CPU allocation time management system for setting an upper limit of time, the CPU allocation time management system having the CPU allocation time management system described above in a hypervisor or a virtual machine monitor.

1000 CPU割当時間管理装置、101 OS、111 CPUスケジューリング機能部、112 CPU割当時間表、113 スケジューリングキュー、121 空きリソース管理機能部、122 空きリソースプール、123 リソース制限モード、124 空きリソース利用可能グループ設定、125 CPU時間管理周期設定、126 割当オーバタスクキュー、131 空きリソース管理パラメータ設定機能部、201 グループ1、202 グループ2、501 ハイパーバイザ、601,602 OS(またはVM)。   1000 CPU allocation time management apparatus, 101 OS, 111 CPU scheduling function unit, 112 CPU allocation time table, 113 scheduling queue, 121 free resource management function unit, 122 free resource pool, 123 resource restriction mode, 124 free resource available group setting , 125 CPU time management cycle setting, 126 allocation overtask queue, 131 free resource management parameter setting function unit, 201 group 1, 202 group 2, 501 hypervisor, 601 and 602 OS (or VM).

Claims (10)

CPU(Central Processing Unit)に対して設定された実行周期ごとにスケジューリングされた実行周期内におけるCPUの処理単位であって、実行周期内において認められるCPUの連続使用時間の上限値を示すCPU割当時間が設定された処理単位である周期内処理単位を、CPU割当時間以内でCPUに実行させる第1実行部と、
いずれかの実行周期において複数の周期内処理単位がCPUに実行されるときに、そのCPU割当時間の間にCPUによる実行の終了しない周期内処理単位である周期内未終了単位が発生すると共に、周期内未終了単位が発生した実行周期中に、周期内未終了単位の後に実行された周期内処理単位であって、そのCPU割当時間よりも短い時間で実行の終了した周期内処理単位である周期内早期終了単位が発生する場合には、周期内早期終了単位の実行の終了に引き続いて周期内未終了単位をCPUに実行させる第2実行部と
を備えたことを特徴とするCPU割当時間管理装置。
CPU allocated time indicating the upper limit value of the continuous use time of the CPU, which is a processing unit of the CPU within the execution cycle scheduled for each execution cycle set for the CPU (Central Processing Unit). A first execution unit that causes a CPU to execute an intra-period processing unit that is a processing unit for which the CPU is set within a CPU allocation time;
When a plurality of in-cycle processing units are executed by the CPU in any execution cycle, an in-cycle unfinished unit that is an in-cycle processing unit in which execution by the CPU does not end occurs during the CPU allocation time, An in-cycle processing unit that is executed after an in-cycle unfinished unit during the execution cycle in which the in-cycle unfinished unit is generated, and that is executed within a period shorter than the CPU allocation time. A CPU allocation time, comprising: a second execution unit that causes a CPU to execute an unfinished unit within a cycle following the end of execution of the early termination unit within the cycle when an early termination unit within the cycle occurs. Management device.
前記第2実行部は、
周期内未終了単位を実行しないことを指令するハード制限モード設定を受け付け、ハード制限モード設定を受け付けると、周期内早期終了単位が存在する場合であっても周期内未終了単位をCPUに実行させないことを特徴とする請求項1記載のCPU割当時間管理装置。
The second execution unit is
When the hardware restriction mode setting instructing not to execute the unfinished unit within the cycle is accepted, and when the hardware restricted mode setting is accepted, the CPU does not execute the unfinished unit within the cycle even if the early termination unit within the cycle exists. The CPU allocated time management device according to claim 1.
前記第2実行部は、
特定の周期内処理単位を未終了実行対象として受け付け、未終了実行対象として受け付けた周期内処理単位のみ、周期内早期終了単位が存在する場合にCPUに実行させることを特徴とする請求項1または2のいずれかに記載のCPU割当時間管理装置。
The second execution unit is
The specific processing unit within a cycle is accepted as an unfinished execution target, and the CPU is caused to execute only when the intra-cycle early termination unit exists only for the intra-cycle processing unit accepted as an unfinished execution target. 3. The CPU allocated time management device according to any one of 2 above.
前記CPU割当時間管理装置は、さらに、
CPUの実行周期を設定する実行周期設定部と、
前記実行周期設定部によって設定された実行周期を変更する周期変更部と
を備えたことを特徴とする請求項1〜3のいずれかに記載のCPU割当時間管理装置。
The CPU allotted time management device further includes:
An execution cycle setting unit for setting the execution cycle of the CPU;
The CPU allocated time management apparatus according to claim 1, further comprising a cycle changing unit that changes the execution cycle set by the execution cycle setting unit.
前記CPU割当時間管理装置は、さらに、
周期内早期終了単位が存在する際の周期内未終了単位のCPUによる実行を指示するソフト制限モード設定と、ハード制限モード設定とを択一的に切り替えるべき切替指示を前記第2実行部に指示するモード切替部を備え、
前記第2実行部は、
前記モード切替部からの切替指示に応じて、ソフト制限モード設定とハード制限モード設定とのいずれかを実行することを特徴とする請求項2記載のCPU割当時間管理装置。
The CPU allotted time management device further includes:
The second execution unit is instructed to switch between a software restriction mode setting for instructing execution by the CPU of a non-ending unit within a cycle and a hardware restriction mode setting when there is an early termination unit within the cycle. A mode switching unit to
The second execution unit is
3. The CPU allocated time management apparatus according to claim 2, wherein either the soft limit mode setting or the hard limit mode setting is executed in response to a switching instruction from the mode switching unit.
前記CPU割当時間管理装置は、さらに、
前記第2実行部が受け付けた未終了実行対象を変更する未終了実行対象変更部を備えたこと特徴とする請求項3記載のCPU割当時間管理装置。
The CPU allotted time management device further includes:
The CPU allocated time management device according to claim 3, further comprising an unfinished execution target changing unit that changes an unfinished execution target received by the second execution unit.
前記周期内処理単位は、
一つ以上のタスクから構成されるタスクグループであることを特徴とする請求項1〜6のいずれかに記載のCPU割当時間管理装置。
The in-cycle processing unit is
The CPU allocation time management apparatus according to claim 1, wherein the CPU allocation time management apparatus is a task group including one or more tasks.
前記周期内処理単位は、
OS(Operating System)であることを特徴とする請求項1〜6のいずれかに記載のCPU割当時間管理装置。
The in-cycle processing unit is
7. The CPU allocation time management apparatus according to claim 1, wherein the CPU allocation time management apparatus is an OS (Operating System).
前記周期内処理単位は、
仮想計算機であることを特徴とする請求項1〜6のいずれかに記載のCPU割当時間管理装置。
The in-cycle processing unit is
The CPU allocation time management apparatus according to claim 1, wherein the CPU allocation time management apparatus is a virtual machine.
コンピュータを、
CPU(Central Processing Unit)に対して設定された実行周期ごとにスケジューリングされた実行周期内におけるCPUの処理単位であって、実行周期内において認められるCPUの連続使用時間の上限値を示すCPU割当時間が設定された処理単位である周期内処理単位を、CPU割当時間以内でCPUに実行させる第1実行部、
いずれかの実行周期において複数の周期内処理単位がCPUに実行されるときに、そのCPU割当時間の間にCPUによる実行の終了しない周期内処理単位である周期内未終了単位が発生すると共に、周期内未終了単位が発生した実行周期中に、周期内未終了単位の後に実行された周期内処理単位であって、そのCPU割当時間よりも短い時間で実行の終了した周期内処理単位である周期内早期終了単位が発生する場合には、周期内早期終了単位の実行の終了に引き続いて周期内未終了単位をCPUに実行させる第2実行部、
として機能させるためのCPU割当時間管理プログラム。
Computer
CPU allocated time indicating the upper limit value of the continuous use time of the CPU, which is a processing unit of the CPU within the execution cycle scheduled for each execution cycle set for the CPU (Central Processing Unit). A first execution unit that causes the CPU to execute the intra-period processing unit that is a processing unit for which the CPU is set within the CPU allotted time;
When a plurality of in-cycle processing units are executed by the CPU in any execution cycle, an in-cycle unfinished unit that is an in-cycle processing unit in which execution by the CPU does not end occurs during the CPU allocation time, An in-cycle processing unit that is executed after an in-cycle unfinished unit during the execution cycle in which the in-cycle unfinished unit is generated, and that is executed within a period shorter than the CPU allocation time. A second execution unit that causes the CPU to execute the non-terminating unit within the cycle following the end of the execution of the early term termination unit within the cycle when the early termination unit within the cycle occurs;
CPU allocation time management program for functioning as
JP2011264273A 2011-12-02 2011-12-02 Cpu allocation time management device and cpu allocation time management program Pending JP2013117806A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011264273A JP2013117806A (en) 2011-12-02 2011-12-02 Cpu allocation time management device and cpu allocation time management program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011264273A JP2013117806A (en) 2011-12-02 2011-12-02 Cpu allocation time management device and cpu allocation time management program

Publications (1)

Publication Number Publication Date
JP2013117806A true JP2013117806A (en) 2013-06-13

Family

ID=48712347

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011264273A Pending JP2013117806A (en) 2011-12-02 2011-12-02 Cpu allocation time management device and cpu allocation time management program

Country Status (1)

Country Link
JP (1) JP2013117806A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021071864A (en) * 2019-10-30 2021-05-06 ファナック株式会社 Programmable controller
JP2021071863A (en) * 2019-10-30 2021-05-06 ファナック株式会社 Programmable controller
WO2022102383A1 (en) * 2020-11-13 2022-05-19 住友電装株式会社 Onboard ecu, program, and information processing method
US11954527B2 (en) 2020-12-09 2024-04-09 Industrial Technology Research Institute Machine learning system and resource allocation method thereof

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021071864A (en) * 2019-10-30 2021-05-06 ファナック株式会社 Programmable controller
JP2021071863A (en) * 2019-10-30 2021-05-06 ファナック株式会社 Programmable controller
JP7364428B2 (en) 2019-10-30 2023-10-18 ファナック株式会社 programmable controller
JP7364427B2 (en) 2019-10-30 2023-10-18 ファナック株式会社 programmable controller
WO2022102383A1 (en) * 2020-11-13 2022-05-19 住友電装株式会社 Onboard ecu, program, and information processing method
US11954527B2 (en) 2020-12-09 2024-04-09 Industrial Technology Research Institute Machine learning system and resource allocation method thereof

Similar Documents

Publication Publication Date Title
JP6277827B2 (en) Information processing apparatus, scale management method, and program
US9934098B2 (en) Automatic serial order starting of resource groups on failover systems based on resource group usage prediction
US8131855B2 (en) Management computer, resource management method, resource management computer program, recording medium, and information processing system
US10896065B2 (en) Efficient critical thread scheduling for non privileged thread requests
JP5607732B2 (en) Resource allocation in virtualized environments
US9940150B2 (en) Policy based virtual resource allocation and allocation adjustment
JPWO2012066640A1 (en) Computer system, migration method and management server
JP2021048513A (en) Information processing device, information processing method, and virtual machine connection management program
US9686347B2 (en) Anticipatory resource allocation/activation and lazy de-allocation/deactivation
WO2013035246A1 (en) Virtual computer control apparatus, virtual computer control method, virtual computer control program, and integrated circuit
JP2013117806A (en) Cpu allocation time management device and cpu allocation time management program
CN118020062A (en) Dynamic allocation of platform resources
JP2011192049A (en) Virtual machine system, automatic migration method, and automatic migration program
US10216599B2 (en) Comprehensive testing of computer hardware configurations
EP4109255A1 (en) Scheduling in a container orchestration system utilizing hardware topology hints
JP2014078214A (en) Schedule system, schedule method, schedule program, and operating system
JP6374059B2 (en) Computer resource allocation determination method, computer resource allocation determination method program, and control computer
WO2021076360A1 (en) Virtual machine operation management in computing devices
KR102571782B1 (en) Apparatus and method for virtual machine relocation using resource management pool
US11221871B2 (en) Enabling a management function on a compute node in response to a user workload ownership level
CN114510324B (en) Disk management method and system for KVM virtual machine with ceph volume mounted thereon
US11983570B2 (en) Conditionally deploying a reusable group of containers for a job based on available system resources
CN115398400A (en) Resource allocation for virtual machines
EP4460756A1 (en) Intelligent storage of messages in page sets
CN115328665A (en) Hypervisor-based GPU virtualization method and device and electronic equipment