JP3189810B2 - QoS controller - Google Patents

QoS controller

Info

Publication number
JP3189810B2
JP3189810B2 JP32892998A JP32892998A JP3189810B2 JP 3189810 B2 JP3189810 B2 JP 3189810B2 JP 32892998 A JP32892998 A JP 32892998A JP 32892998 A JP32892998 A JP 32892998A JP 3189810 B2 JP3189810 B2 JP 3189810B2
Authority
JP
Japan
Prior art keywords
qos
task
level value
resources
qos control
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
JP32892998A
Other languages
Japanese (ja)
Other versions
JP2000155695A (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 JP32892998A priority Critical patent/JP3189810B2/en
Publication of JP2000155695A publication Critical patent/JP2000155695A/en
Application granted granted Critical
Publication of JP3189810B2 publication Critical patent/JP3189810B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、組み込み型リアル
タイムシステムに適したQoS制御装置、QoS制御方
法及び記録媒体に関する。
[0001] 1. Field of the Invention [0002] The present invention relates to a QoS control device, a QoS control method, and a recording medium suitable for an embedded real-time system.

【0002】[0002]

【従来の技術】マイクロプロセッサ技術の発展により、
オーディオ・ビデオ機器、テレビ、携帯電話、電子楽
器、ゲームマシン、洗濯機、エアコン、及び照明器具
等、多くの身の回りの電子機器に、MPU(Micro Proc
essor Unit)や1チップマイコン(MCU;Micro Cont
roller Unit)等のマイクロコンピュータが組み込まれ
ている。以下、マイクロコンピュータが機器の制御用に
組み込まれたシステムを「組み込みシステム」という。
このような、組み込みシステムは、制御対象となる電子
機器の高機能化や複合化に伴って、ITRON(Industr
ial TRON(TRON:The Real-time Operating system Nucle
us))等のリアルタイムOS(Operating System)を用
いるケースが一般的になりつつある。
2. Description of the Related Art With the development of microprocessor technology,
MPU (Micro Proc) is used in many personal electronic devices such as audio / video equipment, televisions, mobile phones, electronic musical instruments, game machines, washing machines, air conditioners, and lighting equipment.
essor Unit) and one-chip microcomputer (MCU; Micro Cont)
roller unit) and other microcomputers. Hereinafter, a system in which a microcomputer is incorporated for controlling devices is referred to as an “embedded system”.
Such an embedded system has been developed with the ITRON (Industr
ial TRON (TRON: The Real-time Operating system Nucle
us)) and the like, a case using a real-time OS (Operating System) is becoming common.

【0003】例えば、カーナビゲーション装置に、この
ようなリアルタイムOSを用いた組み込み型システム
(以下、「組み込み型リアルタイムシステム」という)
では、CD−ROM(Compact Disk Read‐Only Memor
y)やセンサ等の機器制御に加えて、Web(World Wid
e Web)ページの表示や動画、音声の再生等のマルチメ
ディアサービスも提供することができる。このような組
み込み型リアルタイムシステムでは、コストとスペース
の問題から限られたシステムの資源を最小限に抑える必
要があるだけでなく、制御用のリアルタイムタスクに対
して優先的に資源を割り当てなければならない。このた
め、組み込み型リアルタイムシステムでは、残された資
源を効率的に活用して、マルチメディアサービス用のタ
スクの処理を行う必要がある。
For example, an embedded system using such a real-time OS in a car navigation device (hereinafter, referred to as an “embedded real-time system”).
Then, CD-ROM (Compact Disk Read-Only Memor)
y) and device control such as sensors, as well as Web (World Wid
e Web) It can also provide multimedia services such as displaying pages, playing videos, and playing audio. In such an embedded real-time system, not only must resources of the limited system be minimized due to cost and space issues, but resources must be allocated preferentially to real-time tasks for control. . For this reason, in the embedded real-time system, it is necessary to process the multimedia service task by efficiently using the remaining resources.

【0004】最近では、組み込み型リアルタイムシステ
ムにおいて、限られた資源を効率的に活用するために、
使用可能な資源量に応じてタスクのサービスの品質(Q
oS:Quality of Service)を変更するQoS制御の技
術が応用されている。なお、QoS制御とは、システム
に対する負荷が想定した最大値を超えた場合に、サービ
スの品質(計算の精度、制御の精度)を落とすことで負
荷を下げること等をいう。以下、QoS制御について分
散マルチメディアシステムを一例として説明する。
Recently, in order to utilize limited resources efficiently in embedded real-time systems,
The quality of service of the task according to the amount of available resources (Q
A QoS control technique for changing the quality of service (oS) is applied. QoS control refers to lowering the service quality (calculation accuracy, control accuracy) to reduce the load when the load on the system exceeds an assumed maximum value. Hereinafter, the QoS control will be described using a distributed multimedia system as an example.

【0005】QoS制御は、従来、マルチメディアサー
ビスを提供するような分散システムで使われてきた。分
散マルチメディアシステムでは、一般に、不特定多数の
ユーザプログラムが、サーバに対して接続するような形
態をとる。すなわち、ユーザプログラムは、ネットワー
クを介してサーバに接続し、サーバの記憶装置に保存さ
れた、あるいは、サーバが生成した画像や音声等のマル
チメディアデータを受信し、それを所定の画面に表示す
る等の処理を行う。
[0005] QoS control has traditionally been used in distributed systems that provide multimedia services. In a distributed multimedia system, generally, an unspecified number of user programs are connected to a server. That is, the user program connects to the server via the network, receives multimedia data such as images and sounds stored in the storage device of the server or generated by the server, and displays it on a predetermined screen. And so on.

【0006】しかし、サーバの資源やネットワークの通
信帯域等が限られているため、多数のユーザプログラム
がマルチメディアサービスを要求して、サーバやネット
ワークが過負荷状態となっている場合には、必ずしもユ
ーザプログラムが要求するQoSを提供できない場合が
ある。また、サーバが高いQoSを提供できる場合で
も、ユーザ側の端末の能力が低い場合や過負荷状態で十
分な処理ができない場合には、高品質なサービスを受け
ても無駄になることがある。このような場合、サーバや
ネットワークの負荷を軽減したり、ユーザ端末の性能に
見合ったサービスを提供するためにQoS制御が行われ
る。一方、サーバやネットワーク、ユーザ側の端末の負
荷が軽減した場合等に、QoSを上げるためにもQoS
制御が行われる。
However, since the resources of the server and the communication bandwidth of the network are limited, when a large number of user programs request a multimedia service and the server or the network is overloaded, it is not always necessary. In some cases, the QoS required by the user program cannot be provided. Further, even when the server can provide high QoS, if the capability of the terminal on the user side is low or if sufficient processing cannot be performed in an overloaded state, receiving a high-quality service may be useless. In such a case, QoS control is performed to reduce the load on the server or the network or to provide a service that matches the performance of the user terminal. On the other hand, when the load on the server, the network, and the terminal on the user side is reduced, the QoS is also increased to increase the QoS.
Control is performed.

【0007】このような分散マルチメディアシステムで
用いられているQoS制御方式では、例えば、ユーザ毎
の資源割り当てを行う際に、ユーザプログラムとサーバ
が交渉を行うことによりQoSが決定される。この交渉
の手順を以下に示す。
In the QoS control method used in such a distributed multimedia system, for example, when allocating resources for each user, the QoS is determined by negotiation between a user program and a server. The procedure of this negotiation is shown below.

【0008】まず、ユーザプログラム側は、サーバに接
続する場合に、自己が受信可能なQoSを要求する。サ
ーバ側は、提供可能な現在の資源量とユーザプログラム
側からのQoS要求量とを比較し、提供可能ならばその
QoS要求を受諾してユーザプログラムに対して資源を
割り当て、サービスを提供する。
First, when connecting to a server, the user program requests a receivable QoS. The server compares the current amount of resources that can be provided with the QoS request amount from the user program, and if it can be provided, accepts the QoS request, allocates resources to the user program, and provides a service.

【0009】一方、ユーザプログラムから要求されたQ
oSを提供できない場合に、サーバ側は、ユーザプログ
ラムに対して提供可能なQoSを提示する。ユーザプロ
グラムは、提示されたQoSを受諾するか、あるいはサ
ーバに対して新たに(一般に、サーバ側が提示したQo
Sよりは低い)QoSを要求する。サーバ又はユーザプ
ログラムが提示されたQoSを受諾するまで上記の手順
を繰り返す。QoS要求が受諾されるか、又はサーバの
提示したQoSを受諾した後、ユーザプログラムは、そ
のQoSに対応した処理を行う。
On the other hand, the Q required by the user program
When the oS cannot be provided, the server presents the available QoS to the user program. The user program either accepts the offered QoS or renews it to the server (generally, the QoS presented by the server side).
(Lower than S) QoS. The above procedure is repeated until the server or user program accepts the offered QoS. After the QoS request is accepted or the QoS presented by the server is accepted, the user program performs a process corresponding to the QoS.

【0010】また、サーバやネットワークが過負荷状態
になった場合や、逆に低負荷状態になった場合には、サ
ーバからユーザプログラムに対してQoSの変更要求が
送られる。このQoSの変更要求に対してユーザプログ
ラムは、サーバに対して新たにQoSを要求する。以
後、上述のユーザプログラムがサーバに接続するときの
処理と同様の処理を行う。一方、ユーザプログラム側が
過負荷状態になった場合や、逆に低負荷状態になった場
合には、ユーザプログラム側からQoSの変更要求が送
られる。これも、上述のユーザプログラムがサーバに接
続するときの処理と同様の処理を行う。
[0010] When the server or the network is overloaded, or conversely, when the server or the network is under a low load, the server sends a QoS change request to the user program. In response to this QoS change request, the user program newly requests the server for QoS. Thereafter, the same processing as the processing when the above-mentioned user program connects to the server is performed. On the other hand, when the user program is overloaded or, conversely, is under low load, the user program sends a QoS change request. This also performs the same processing as the processing when the user program connects to the server.

【0011】なお、分散マルチメディアシステムで用い
られているQoS制御方式では、すべてのユーザプログ
ラムが同種のプログラムである。そして、各ユーザプロ
グラムへの資源割り当ての方針として、資源割り当てが
公平になるような方法が用いられるか、あるいは、予め
与えられた比率に従って資源を分配する方法が用いられ
ている。
In the QoS control method used in the distributed multimedia system, all user programs are of the same type. As a policy for allocating resources to each user program, a method is used such that resource allocation is fair, or a method of allocating resources according to a predetermined ratio is used.

【0012】以上説明したQoS制御方式を、組み込み
型リアルタイムシステムにおいて利用することにより、
例えば、高品質のマルチメディアサービスを提供する際
に、残された資源を効率的に活用してマルチメディアサ
ービス用のタスクを処理することができる。
By using the QoS control method described above in an embedded real-time system,
For example, when providing a high-quality multimedia service, a task for the multimedia service can be processed by efficiently using the remaining resources.

【0013】[0013]

【発明が解決しようとする課題】しかし、上述した従来
のQoS制御方式では、QoS制御の処理にある程度の
時間が必要となっていた。例えば、上述した分散マルチ
メディアシステムでは、不特定多数のユーザプログラム
がサーバに対して接続するため、あらかじめすべてのユ
ーザタスクのQoS要求量をサーバが把握することは不
可能であった。このため、従来のQoS制御方式では、
サーバがユーザプログラムと交渉することにより、ユー
ザプログラムのQoS要求量が提供可能な資源量に収ま
っているかどうかを調べ、資源割り当てを決定してい
た。この交渉のためには、通信や同期が必要であり、ま
た、これらの処理は、コンテキストスイッチを伴うた
め、ある程度の時間がかかっていた。このため、QoS
制御方式を利用した組み込み型リアルタイムシステムに
おいては、ユーザタスク(アプリケーションタスク)の
高速処理が要求されるにもかかわらず、処理の遅れを防
ぐことができないといった問題があった。
However, in the above-described conventional QoS control method, a certain amount of time is required for the QoS control processing. For example, in the above-described distributed multimedia system, since an unspecified number of user programs connect to the server, it has been impossible for the server to grasp the QoS request amounts of all user tasks in advance. For this reason, in the conventional QoS control method,
By negotiating with the user program, the server checks whether the QoS request amount of the user program is within the available resource amount and determines resource allocation. For this negotiation, communication and synchronization are required, and these processes involve a context switch, so that it took some time. For this reason, QoS
In a built-in real-time system using a control method, there is a problem that a high-speed processing of a user task (application task) is required, but a processing delay cannot be prevented.

【0014】また、上述した従来のQoS制御方式で
は、特定のタスクだけに優先的に資源を割り当てること
が困難であった。例えば、上述した分散マルチメディア
システムでは、QoS制御の対象となるユーザプログラ
ムがすべて音声や画像のストリームを扱う同種のプログ
ラムであるため、公平に資源を分配するか、又は、予め
決められた比率に従って資源を分配するQoS制御を行
っていた。このため、QoS制御方式を利用した組み込
み型リアルタイムシステムにおいては、制御用のリアル
タイムタスクに対して優先的に資源を割り当てることが
できないため、制御の遅れを防ぐことができないといっ
た問題もあった。
In the conventional QoS control system described above, it is difficult to preferentially allocate resources only to a specific task. For example, in the above-described distributed multimedia system, since all the user programs to be subjected to QoS control are the same type of programs that handle audio and video streams, resources are distributed fairly, or according to a predetermined ratio. QoS control for allocating resources has been performed. For this reason, in an embedded real-time system using the QoS control method, there is a problem that resources cannot be preferentially allocated to a real-time task for control, so that control delay cannot be prevented.

【0015】本発明は、上記実状に鑑みてなされたもの
で、組み込み型リアルタイムシステムにおいて、QoS
制御を高速に行うことのできるQoS制御装置、QoS
制御方法及び記録媒体を提供することを目的とする。
[0015] The present invention has been made in view of the above-described circumstances, and has been described in an embedded real-time system.
QoS control device capable of high-speed control, QoS
It is an object to provide a control method and a recording medium.

【0016】[0016]

【課題を解決するための手段】上記目的を達成するた
め、この発明の第1の観点に係るQoS制御装置は、
ンピュータシステム内の資源を管理するOSの管理下に
おいて起動されるタスクに対するサービスの品質(Qo
S)を制御するQoS制御装置であって、 予め定められ
たQoSの等級における各等級に対応するタスク毎の資
源の割当量を記憶する割当量記憶手段と、 コンピュータ
システム内のQoSの現在の等級を示すレベル値を記憶
するレベル値記憶手段と、 前記レベル値記憶手段に記憶
されたレベル値から定まる前記割当量記憶手段に記憶さ
れた資源の割当量に応じて各タスクが起動されているコ
ンピュータシステムから、資源の利用率を取得する利用
率取得手段と、 前記利用率取得手段により取得された資
源の利用率が予め定められた範囲内に収まるように、前
記レベル値記憶手段に記憶されたレベル値を変更し、変
更したレベル値から定まる前記割当量記憶手段に記憶さ
れた割当量に従って、タスクに対するQoSを変更する
QoS制御手段と、 少なくとも起動及び起床によりコン
ピュータシステム内の資源を定常的に利用することとな
る有効なタスクを管理する有効タスク管理手段とを備
え、 前記利用率取得手段は、前記有効タスク管理手段に
管理された有効なタスクに対して、コンピュータシステ
ム内の資源の利用率を取得し、 前記QoS制御手段は、
前記利用率取得手段により取得された資源の利用率が予
め定められた最高値を超えている場合に、前記割当量記
憶手段に記憶された少なくとも1つのタスクに対する資
源の割当量が減少するように、前記レベル値記憶手段に
記憶されたレベル値を変更し、対応するタスクに対する
QoSを変更する、ことを特徴とする。
Means for Solving the Problems] To achieve the above object, QoS control device according to a first aspect of the invention, co
Under the control of the OS that manages resources in the computer system
Quality of service (Qo
A QoS control device for controlling the S), predetermined
Resources for each task corresponding to each class in the QoS class
Quota storage means for storing a quota of sources, and a computer
Stores a level value indicating the current grade of QoS in the system
A level value storage means for storage in said level value storage unit
Stored in the quota storage means determined from the set level value.
Where each task is started according to the allocated resource
Use to obtain the resource utilization rate from the computer system
Rate acquisition means, and the resources acquired by the utilization rate acquisition means.
So that the utilization rate of the source falls within the predetermined range.
Changes the level value stored in the level value storage means,
Stored in the quota storage means determined from the updated level value.
Change the QoS for the task according to the allocated amount
QoS control means and at least startup and wake-up
Resources in the computer system must be used regularly.
Effective task management means for managing effective tasks
For example, the utilization rate acquisition unit may include the effective task management unit.
Computer system for managed and valid tasks
Acquiring the utilization rate of the resources in the system, and the QoS control means:
The utilization rate of the resource acquired by the utilization rate acquiring means is predicted.
Above the specified maximum value,
Resources for at least one task stored in storage means
In order to reduce the quota of the source, the level value storage means
Change the stored level value to the corresponding task
Changing the QoS .

【0017】この発明によれば、割当量記憶手段は、予
め定められたQoSの等級(例えばレベル0から6)に
おける各等級に対応するタスク毎の資源の割当量(例え
ば、要求資源量)を記憶する。レベル値記憶手段は、コ
ンピュータシステム内のQoSの現在の等級を示すレベ
ル値を記憶する。利用率取得手段は、レベル値記憶手段
に記憶されたレベル値から定まる割当量記憶手段に記憶
された資源の割当量に応じて各タスクが起動されている
コンピュータシステムから、資源の利用率を取得する。
QoS制御手段は、利用率取得手段により取得された資
源の利用率が予め定められた範囲内に収まるように、レ
ベル値記憶手段に記憶されたレベル値を変更し、変更し
たレベル値から定まる割当量記憶手段に記憶された割当
量に従って、タスクに対するQoSを変更する。有効タ
スク管理手段は、少なくとも起動及び起床によりコンピ
ュータシステム内の資源を定常的に利用することとなる
有効なタスクを管理する。そして、利用率取得手段は、
有効タスク管理手段に管理された有効なタスクに対し
て、コンピュータシステム内の資源の利用率を取得し、
QoS制御手段は、利用率取得手段により取得された資
源の利用率が予め定められた最高値を超えている場合
に、割当量記憶手段に記憶された少なくとも1つのタス
クに対する資源の割当量が減少するように、レベル値記
憶手段に記憶されたレベル値を変更し、対応するタスク
に対するQoSを変更する。この結果、QoS制御を高
速に行うことができる。
According to the present invention, the quota storage means is
To a defined QoS class (eg levels 0 to 6)
Of resources for each task corresponding to each class in the
(For example, required resource amount). The level value storage means
Level indicating the current grade of QoS in the computer system.
The default value. The utilization rate acquisition means is a level value storage means
Stored in quota storage means determined from the level value stored in
Each task is started according to the allocated resource quota
Obtain the resource utilization from the computer system.
The QoS control means controls the resources acquired by the utilization rate acquiring means.
To ensure that the source utilization falls within a predetermined range.
Change and change the level value stored in the bell value storage means.
Quota stored in the quota storage means determined from the set level value
Change the QoS for the task according to the amount. Effective
The disk management means should be at least started and
Resources in the computer system will be used regularly
Manage available tasks. And the utilization rate acquisition means,
For valid tasks managed by the valid task management means
To obtain the utilization rate of the resources in the computer system,
The QoS control means controls the resources acquired by the utilization rate acquiring means.
When the utilization of the source exceeds a predetermined maximum
The at least one task stored in the quota storage means.
Level notation to reduce the amount of resources allocated to
Change the level value stored in the storage device and execute the corresponding task
Change the QoS for. As a result, QoS control can be performed at high speed.

【0018】上記目的を達成するため、この発明の第2
の観点に係るQoS制御装置は、 コンピュータシステム
内の資源を管理するOSの管理下において起動されるタ
スクに対するサービスの品質(QoS)を制御するQo
S制御装置であって、 予め定められたQoSの等級にお
ける各等級に対応するタスク毎の資源の割当量を記憶す
る割当量記憶手段と、 コンピュータシステム内のQoS
の現在の等級を示すレベル値を記憶するレベル値記憶手
段と、 前記レベル値記憶手段に記憶されたレベル値から
定まる前記割当量記憶手段に記憶された資源の割当量に
応じて各タスクが起動されているコンピュータシステム
から、資源の利用率を取得する利用率取得手段と、 前記
利用率取得手段により取得された資源の利用率が予め定
められた範囲内に収まるように、前記レベル値記憶手段
に記憶されたレベル値を変更し、変更したレベル値から
定まる前記割当量記憶手段に記憶された割当量に従っ
て、タスクに対するQoSを変更するQoS制御手段
と、 少なくとも終了及び処理待ちによりコンピュータシ
ステム内の資源を定常的に利用しなくなる無効なタスク
を管理する無効タスク管理手段とを備え、 前記利用率取
得手段は、前記無効タスク管理手段に管理された無効な
タスクを除いて、コンピュータシステム内の資源の利用
率を取得し、 前記QoS制御手段は、前記利用率取得手
段により取得された資源の利用率が予め定められた最小
値を超えていない場合に、前記割当量記憶手段に記憶さ
れた少なくとも1つのタスクに対する資源の割当量が増
加するように、前記レベル値記憶手段に記憶されたレベ
ル値を変更し、対応するタスクに対するQoSを変更す
る、 ことを特徴とする。
In order to achieve the above object, a second aspect of the present invention is provided.
The QoS control device according to the aspect, the computer system
Start up under the management of the OS that manages resources in the
QoS that controls the quality of service (QoS) for disks
An S-control device that meets a predetermined QoS class
The resource quota for each task corresponding to each class
Quota storage means and QoS in a computer system
Level value storage means for storing the level value indicating the current grade of
And the level and the level value stored in the level value storage means.
The resource quota stored in the quota storage means
Computer system on which each task is started
From the utilization rate obtaining means for obtaining the utilization of resources, the
The utilization rate of the resources acquired by the utilization rate acquisition means is predetermined.
The level value storage means so as to fall within the set range.
Change the level value stored in
According to the quota stored in the quota storage means determined
Control means for changing the QoS for a task
And the computer system at least ends and waits for processing.
Invalid tasks that constantly use resources in the system
And a disable task management means for managing, collected the utilization
The obtaining means is an invalid task managed by the invalid task managing means.
Use of resources in the computer system, excluding tasks
Rate, and the QoS control means performs the utilization rate acquisition step.
The utilization rate of the resources acquired by the step is a predetermined minimum
If the value does not exceed the value, it is stored in the quota storage means.
Resources allocated to at least one task
The level stored in the level value storage means.
Change the QoS value for the corresponding task
That, characterized in that.

【0019】この発明によれば、割当量記憶手段は、予
め定められたQoSの等級(例えばレベル0から6)に
おける各等級に対応するタスク毎の資源の割当量(例え
ば、要求資源量)を記憶する。レベル値記憶手段は、コ
ンピュータシステム内のQoSの現在の等級を示すレベ
ル値を記憶する。利用率取得手段は、レベル値記憶手段
に記憶されたレベル値から定まる割当量記憶手段に記憶
された資源の割当量に応じて各タスクが起動されている
コンピュータシステムから、資源の利用率を取得する。
QoS制御手段は、利用率取得手段により取得された資
源の利用率が予め定められた範囲内に収まるように、レ
ベル値記憶手段に記憶されたレベル値を変更し、変更し
たレベル値から定まる割当量記憶手段に記憶された割当
量に従って、タスクに対するQoSを変更する。無効タ
スク管理手段は、少なくとも終了及び処理待ちによりコ
ンピュータシステム内の資源を定常的に利用しなくなる
無効なタスクを管理する。そして、利用率取得手段は、
無効タスク管理手段に管理された無効なタスクを除い
て、コンピュータシステム内の資源の利用率を取得し、
QoS制御手段は、利用率取得手段により取得された資
源の利用率が予め定められた最小値を超えていない場合
に、割当量記憶手段に記憶された少なくとも1つのタス
クに対する資源の割当量が増加するように、レベル値記
憶手段に記憶されたレベル値を変更し、対応するタスク
に対するQoSを変更する。この結果、QoS制御を高
速に行うことができる。
According to the present invention, the quota storage means stores
To a defined QoS class (eg levels 0 to 6)
Of resources for each task corresponding to each class in the
(For example, required resource amount). The level value storage means
Level indicating the current grade of QoS in the computer system.
The default value. The utilization rate acquisition means is a level value storage means
Stored in quota storage means determined from the level value stored in
Each task is started according to the allocated resource quota
Obtain the resource utilization from the computer system.
The QoS control means controls the resources acquired by the utilization rate acquiring means.
To ensure that the source utilization falls within a predetermined range.
Change and change the level value stored in the bell value storage means.
Quota stored in the quota storage means determined from the set level value
Change the QoS for the task according to the amount. Invalid
The disk management means must execute at least
Stops constantly using resources in the computer system
Manage disabled tasks. And the utilization rate acquisition means,
Excluding invalid tasks managed by invalid task management means
To obtain the utilization rate of the resources in the computer system,
The QoS control means controls the resources acquired by the utilization rate acquiring means.
If the utilization of the source does not exceed a predetermined minimum
The at least one task stored in the quota storage means.
Level notation so that resources allocated to
Change the level value stored in the storage device and execute the corresponding task
Change the QoS for. As a result , QoS control can be performed at high speed.

【0020】[0020]

【0021】[0021]

【0022】[0022]

【0023】[0023]

【0024】[0024]

【0025】[0025]

【0026】[0026]

【0027】[0027]

【0028】[0028]

【0029】[0029]

【0030】[0030]

【発明の実施の形態】以下、この発明の第1の実施の形
態にかかるQoS制御装置について図面を参照して説明
する。図1は、この発明の第1の実施の形態にかかるQ
oS制御装置を組み込んだシステムの構成の一例を示す
ブロック図である。図1に示すQoS制御装置を組み込
んだシステムは、CPU1と、メモリ2と、ROM3と
を含んで構成される。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, a QoS control device according to a first embodiment of the present invention will be described with reference to the drawings. FIG. 1 is a diagram showing a Q according to the first embodiment of the present invention.
FIG. 1 is a block diagram illustrating an example of a configuration of a system incorporating an oS control device. The system incorporating the QoS control device shown in FIG. 1 includes a CPU 1, a memory 2, and a ROM 3.

【0031】CPU(Central Processing Unit)1
は、ROM3に予め記憶されたOS10等のプログラム
をメモリ2にロードして、後述する各種処理を行う。
CPU (Central Processing Unit) 1
Loads a program such as the OS 10 stored in the ROM 3 in advance into the memory 2 and performs various processes described later.

【0032】メモリ2は、所定の容量を備えたRAM
(Random Access Memory)等からなり、ROM3に記憶
されたOS10がロードされ、また、アプリケーション
タスク20−1〜20−nがOS10上で実行される。
The memory 2 is a RAM having a predetermined capacity.
(Random Access Memory), the OS 10 stored in the ROM 3 is loaded, and the application tasks 20-1 to 20-n are executed on the OS 10.

【0033】ROM3は、OS10等のプログラムを予
め記憶する。なお、ROM3は、OS10等のプログラ
ムを記憶するためのものなので、フラッシュメモリ又は
ハードディスク等の二次記憶装置に置き換えてもよい。
The ROM 3 stores programs such as the OS 10 in advance. Note that the ROM 3 is for storing programs such as the OS 10 and may be replaced with a secondary storage device such as a flash memory or a hard disk.

【0034】また、上記CPU1、メモリ2、及びRO
M3は、一体に構成された1チップマイコン(MCU
等)に置き換えてもよい。
The CPU 1, the memory 2, and the RO
M3 is an integrated one-chip microcomputer (MCU)
Etc.).

【0035】OS10は、リアルタイムカーネル19
と、QoS制御タスク11と、アイドル時間監視タスク
12と、DL(デッドライン)ミス処理タスク13と、
API30とを有する。
The OS 10 has a real-time kernel 19
A QoS control task 11, an idle time monitoring task 12, a DL (deadline) miss processing task 13,
API30.

【0036】リアルタイムカーネル19は、OS10に
おいて基本機能を提供する。具体的に説明すると、リア
ルタイムカーネル19は、一般的なOSが提供する機能
であるメモリ管理、タスク管理、及びタスク間同期等の
機能に加えて、リアルタイムカーネルの特徴的な機能で
あるタスクの周期実行機能を提供する。
The real-time kernel 19 provides a basic function in the OS 10. More specifically, the real-time kernel 19 includes, in addition to functions such as memory management, task management, and inter-task synchronization provided by a general OS, a task cycle which is a characteristic function of the real-time kernel. Provide execution function.

【0037】例えば、代表的なリアルタイムカーネルの
一つであるμITRON3.0(マイクロITRON3.0仕
様)では、その特徴である周期実行機能が周期ハンドラ
として提供されている。この周期ハンドラは、ユーザの
登録した関数が一定時間毎にカーネルによって実行され
るものである。一般に、リアルタイムカーネルは、周期
的なタイマ割り込みを使ってカーネル内のタイマ等をカ
ウントアップしている。このタイマ割り込み処理の一環
として周期ハンドラ用のカウンタを減算し、このカウン
タがゼロになった時に、周期ハンドラは、ユーザが登録
した関数を実行する。リアルタイムカーネルは、この周
期ハンドラの処理としてタスクの開始や起床を行うこと
により、タスクの周期実行を行うことができる。なお、
μITRON3.0に関しては、「μITRON3.0
標準ハンドブック改訂新版」(坂村健監修:パーソナル
メディア)に詳細が記述されている。
For example, in μITRON3.0 (micro ITRON3.0 specification), which is one of the typical real-time kernels, a periodic execution function which is a feature thereof is provided as a periodic handler. In this cyclic handler, the function registered by the user is executed by the kernel at regular intervals. Generally, a real-time kernel counts up a timer or the like in the kernel using a periodic timer interrupt. As a part of the timer interrupt processing, the counter for the cyclic handler is decremented. When the counter becomes zero, the cyclic handler executes the function registered by the user. The real-time kernel can execute the task periodically by starting or waking up the task as the processing of the cyclic handler. In addition,
Regarding μITRON 3.0, “μITRON 3.0
Details are described in "Revised New Standard Handbook" (supervised by Ken Sakamura: Personal Media).

【0038】本発明のQoS制御装置のリアルタイムカ
ーネル19も、μITRON3.0と同様の周期ハンド
ラを提供するものとする。また、本発明のQoS制御装
置では、周期ハンドラをDL(デッドライン)ミス検出
のためにも利用する。具体的に説明すると、本発明のQ
oS制御装置では、タスクを周期的に実行するための周
期ハンドラの中に、DLミス処理タスク13を呼び出す
ための関数を予め登録する。このハンドラの周期とし
て、タスクの処理完了が期待される最終期限(タスクの
開始時間からの相対時間)を示すデッドライン時間を与
える。この結果、タスクの開始予定時間(周期実行用の
周期ハンドラが実行される時間)からデッドライン時間
だけ時間が過ぎた時に、デッドラインミス検知用の周期
ハンドラが実行され、DLミス処理タスク13によりデ
ッドライン処理が行われる。
The real-time kernel 19 of the QoS control device of the present invention also provides a cyclic handler similar to μITRON 3.0. In the QoS control device of the present invention, the cyclic handler is also used for detecting a DL (deadline) error. Specifically, Q of the present invention
In the oS control device, a function for calling the DL miss processing task 13 is registered in advance in a cyclic handler for periodically executing the task. As a cycle of the handler, a deadline time indicating a final deadline (relative time from the start time of the task) expected to complete the processing of the task is given. As a result, when the deadline time elapses from the scheduled start time of the task (the time at which the cyclic handler for periodic execution is executed), the cyclic handler for deadline miss detection is executed. Deadline processing is performed.

【0039】QoS制御タスク11は、QoS制御を行
うためのOSのモジュールであり、アプリケーションタ
スク20−1〜20−nよりも高い優先度が与えられて
いる。QoS制御タスク11は、QoSレベル31と、
QoSテーブル16と、QoSハンドラテーブル17と
を有する。
The QoS control task 11 is an OS module for performing QoS control, and has a higher priority than the application tasks 20-1 to 20-n. The QoS control task 11 has a QoS level 31 and
It has a QoS table 16 and a QoS handler table 17.

【0040】QoSレベル31は、QoS制御を行う際
のレベルを定めた数値である。QoS制御タスク11
は、システムの負荷の変化に応じて、QoSレベル31
の値を増減させる。
The QoS level 31 is a numerical value defining a level when performing QoS control. QoS control task 11
Is the QoS level 31 according to the change of the system load.
Increase or decrease the value of.

【0041】QoSテーブル16は、各タスクの資源要
求量をQoSレベル31に対応したテーブルとして表し
たものである。なお、本発明の実施の形態では、QoS
制御タスクにおいて、資源としてCPU時間だけを扱う
ため、QoSテーブル16には、各タスクのCPU利用
率、すなわち、単位時間当たりのCPU使用時間が予め
記録されている。QoSテーブル16の一例を図2に示
す。図2に示すようにQoSテーブル16には、タスク
0〜タスク3の4つのタスクが登録されている。例え
ば、QoSレベル31の値が2である場合に、タスク0
〜3のCPU利用率は、それぞれ「0.4」、「0.
2」、「0.0」、及び「0.2」と設定されている。
このようにQoS制御タスク11は、QoSレベル31
の値に従って、QoSテーブル16を参照することによ
り、各タスクの資源要求量を決定することができる。
The QoS table 16 is a table in which the required resource amount of each task is represented as a table corresponding to the QoS level 31. In the embodiment of the present invention, QoS
Since only the CPU time is handled as a resource in the control task, the QoS table 16 pre-records the CPU usage rate of each task, that is, the CPU usage time per unit time. FIG. 2 shows an example of the QoS table 16. As shown in FIG. 2, four tasks 0 to 3 are registered in the QoS table 16. For example, if the value of the QoS level 31 is 2, the task 0
The CPU utilization rates of “.about.3” are “0.4” and “0.
2 "," 0.0 ", and" 0.2 ".
As described above, the QoS control task 11 has the QoS level 31
The resource request amount of each task can be determined by referring to the QoS table 16 according to the value of.

【0042】QoSハンドラテーブル17は、各タスク
のQoSハンドラをタスク番号に対するテーブルとして
表したものである。QoSハンドラとは、実際にQoS
制御を行う時に呼び出されて、アプリケーションタスク
の処理内容を変更するための関数である。QoS制御の
対象となるタスク(タスク番号)が決まれば、QoS制
御タスク11は、QoSハンドラテーブル17を参照す
ることにより、そのタスクに対するQoSハンドラを決
定することができる。
The QoS handler table 17 shows the QoS handler of each task as a table for the task number. The QoS handler is actually the QoS
This function is called when performing control and is used to change the processing content of the application task. When the task (task number) to be subjected to the QoS control is determined, the QoS control task 11 can determine the QoS handler for the task by referring to the QoS handler table 17.

【0043】アイドル時間監視タスク12は、CPU1
のアイドル時間を調べるためのタスクである。取得した
アイドル時間があらかじめ決められた一定値を超えた場
合に、アイドル時間監視タスク12は、QoS制御タス
ク11を起床させる。UNIXなどのワークステーショ
ン向けのカーネルでは、システム全体のCPU利用率を
調べる機能が提供されているので、この機能を使えば、
アイドル時間監視タスクを簡単に実現することができ
る。すなわち、定期的にシステム全体のCPU利用率を
調べるだけで、アイドル時間を監視できる。
The idle time monitoring task 12
This is a task to check idle time. When the acquired idle time exceeds a predetermined value, the idle time monitoring task 12 wakes up the QoS control task 11. In kernels for workstations such as UNIX, a function to check the CPU utilization of the entire system is provided.
The idle time monitoring task can be easily realized. That is, the idle time can be monitored only by periodically checking the CPU utilization of the entire system.

【0044】しかし、組み込みシステムにおけるカーネ
ルでは、一般に、システム全体のCPU利用率を調べる
手段がない。このため、本発明のQoS制御装置では、
アイドル時間監視タスク12を最低優先度のタスクとし
て設定し、所定のループ処理を実行させる。すなわち、
アイドル時間監視タスク12の処理時間(ループ処理時
間)を測定することにより、CPU1のアイドル時間を
調べることができる。例えば、アイドル時間監視タスク
12の処理時間が本来10msである場合に、計測され
たアイドル時間監視タスク12の処理時間が、実際10
0msであったとき、アイドル時間監視タスク12は自
分がシステムの全CPU時間の10%しか使っていない
と判別する。すなわち、アイドル時間監視タスク12
は、このときのアイドルCPU利用率が10%であると
見積もることができる。
However, a kernel in an embedded system generally has no means for checking the CPU utilization of the entire system. For this reason, in the QoS control device of the present invention,
The idle time monitoring task 12 is set as the task with the lowest priority, and a predetermined loop process is executed. That is,
By measuring the processing time (loop processing time) of the idle time monitoring task 12, the idle time of the CPU 1 can be checked. For example, when the processing time of the idle time monitoring task 12 is originally 10 ms, the measured processing time of the idle time monitoring task 12 is actually 10 ms.
If it is 0 ms, the idle time monitoring task 12 determines that it is using only 10% of the total CPU time of the system. That is, the idle time monitoring task 12
Can estimate that the idle CPU utilization at this time is 10%.

【0045】DLミス処理タスク13は、デッドライン
ミスを検出すると、デッドラインミスを起こしたタスク
の実行を中断し、また、QoS制御タスク11を起床さ
せる。なお、各アプリケーションタスク20−1〜20
−nのデッドラインは、各起動時に設定される。
When detecting the deadline miss, the DL miss processing task 13 suspends the execution of the task in which the deadline miss has occurred, and wakes up the QoS control task 11. In addition, each application task 20-1 to 20
The -n deadline is set at each startup.

【0046】API(Application Programming Interf
ace)30は、アプリケーションタスク20−1〜20
−nがOS10の機能等を利用するためのシステムコー
ルインタフェース(プログラム)の集合体であり、Qo
Sテーブル/QoSハンドラ登録システムコール14を
含んでいる。
API (Application Programming Interface)
ace) 30 is an application task 20-1 to 20
-N is a set of system call interfaces (programs) for using the functions and the like of the OS 10, and Qo
S-table / QoS handler registration system call 14 is included.

【0047】QoSテーブル/QoSハンドラ登録シス
テムコール14は、アプリケーションタスク20−1〜
20−nのQoSテーブルエントリ22−1〜22−n
とQoSハンドラ21−1〜21−nを登録するために
用いられる。
The QoS table / QoS handler registration system call 14 is executed by the application tasks 20-1 to 20-1.
20-n QoS table entries 22-1 to 22-n
And the QoS handlers 21-1 to 21-n.

【0048】アプリケーションタスク20−1〜20−
nは、OS10の上で実行されるアプリケーションプロ
グラムである。アプリケーションタスク20−1〜20
−nは、それぞれ対応するQoSハンドラ21−1〜2
1−nと、QoSテーブルエントリ22−1〜22−n
とを有する。
Application tasks 20-1 to 20-
n is an application program executed on the OS 10. Application tasks 20-1 to 20
-N is the corresponding QoS handler 21-1 to 21-2
1-n and QoS table entries 22-1 to 22-n
And

【0049】QoSハンドラ21−1〜21−nは、実
際にQoS制御を行う時に呼び出され、対応するアプリ
ケーションタスク20−1〜20−nの処理内容を変更
するための関数である。
The QoS handlers 21-1 to 21-n are called when actually performing the QoS control, and are functions for changing the processing contents of the corresponding application tasks 20-1 to 20-n.

【0050】QoSテーブルエントリ22−1〜22−
nは、対応するアプリケーションタスク20−1〜20
−nのCPU利用率を、QoSレベル31の値に対する
テーブルとして表したものである。なお、上述したよう
に、本発明の実施の形態では、QoS制御タスク11に
おいて、資源としてCPU時間だけを扱う。そのため、
QoSテーブルエントリ22−1〜22−nは、CPU
利用率を、周期的に実行されるタスクの場合に「実行時
間/周期」にて、非周期的に実行されるタスクの場合に
「実行時間×1秒あたりの実行回数」にて、割り込みハ
ンドラの場合に「実行時間/最短割り込み間隔」にて表
している。
QoS table entries 22-1 to 22-
n is the corresponding application task 20-1 to 20
9 is a table showing the CPU utilization of −n as a table for the value of the QoS level 31. As described above, in the embodiment of the present invention, the QoS control task 11 handles only CPU time as a resource. for that reason,
The QoS table entries 22-1 to 22-n are stored in the CPU
The interrupt rate is calculated as “execution time / period” for tasks that are executed periodically, and “execution time × number of executions per second” for tasks that are executed periodically. In this case, it is represented by “execution time / shortest interrupt interval”.

【0051】アプリケーションタスク20−1〜20−
nは、周期的に実行されるタスク、非周期的に実行され
るタスク、及び、割り込みハンドラ等である。なお、割
り込みハンドラは厳密にはタスクではないが、CPU利
用率を計算する上で無視することができないため、アプ
リケーションタスクの一つと見なすこととしている。ま
た、リアルタイムシステムにおいて実行されるアプリケ
ーションタスク20−1〜20−nに関しての実行時間
等は、予め求められているものとする。すなわち、周期
的に実行されるタスクに関しては、周期と実行時間とデ
ッドライン時間が、非周期的に実行されるタスクに関し
ては、実行時間と一定時間内におおよそ何回実行される
かが、割り込みハンドラに関しては、最短割り込み間隔
と実行時間が、予めそれぞれ求められているものとす
る。
Application tasks 20-1 to 20-
n is a task executed periodically, a task executed aperiodically, an interrupt handler, and the like. Although the interrupt handler is not strictly a task, it cannot be ignored in calculating the CPU utilization, and is therefore regarded as one of the application tasks. Also, it is assumed that the execution time and the like for the application tasks 20-1 to 20-n executed in the real-time system are obtained in advance. In other words, for a task that is executed periodically, the cycle, execution time, and deadline time are set. For a task that is executed aperiodically, the execution time and how many times the task is executed within a certain time are determined by an interrupt. As for the handler, it is assumed that the shortest interrupt interval and the execution time are determined in advance.

【0052】アプリケーションタスク20−1〜20−
nの実際の処理は、様々である。それでも、QoS制御
に関する処理は、アプリケーションタスク20−1〜2
0−nにおいて共通する。そこで、QoS制御に関わる
処理について、アプリケーションタスク20−1を一例
として以下説明する。
Application tasks 20-1 to 20-
The actual processing of n may vary. Nevertheless, the process related to the QoS control is performed by the application tasks 20-1 to 20-2.
0 to n are common. Therefore, the process related to the QoS control will be described below using the application task 20-1 as an example.

【0053】アプリケーションタスク20−1は、タス
クの初期化時に、QoSハンドラ21−1及びQoSテ
ーブルエントリ22−1をQoS制御タスク11に登録
する。アプリケーションタスク20−1が、例えば、動
画表示用タスクであるとすると、QoSハンドラ21−
1は、QoSレベル31の値が引数により渡され、フレ
ームレートや解像度を変更する。すなわち、QoSハン
ドラ21−1は、QoSレベル31の値が前よりも下が
った場合に、CPU利用率を減らすため、フレームレー
トや解像度を減少させ、一方、QoSレベル31の値が
前よりも上がった場合に、CPU利用率を増やすため、
フレームレートや解像度を増加させる。フレームレート
を変更する場合を例として、より具体的に説明すると、
フレームレートが20フレーム/秒の場合にCPU利用
率が0.4である場合に、CPU利用率を0.2や0.
1に減らすために、QoSハンドラ21−1は、フレー
ムレートをそれぞれ10フレーム/秒や5フレーム/秒
に変更する。
When the task is initialized, the application task 20-1 registers the QoS handler 21-1 and the QoS table entry 22-1 in the QoS control task 11. If the application task 20-1 is, for example, a moving image display task, the QoS handler 21-
As for 1, the value of the QoS level 31 is passed by an argument, and the frame rate and the resolution are changed. That is, when the value of the QoS level 31 is lower than before, the QoS handler 21-1 decreases the frame rate and the resolution to reduce the CPU utilization, while the value of the QoS level 31 is higher than before. In order to increase CPU utilization,
Increase frame rate and resolution. More specifically, taking the case of changing the frame rate as an example,
If the CPU utilization is 0.4 when the frame rate is 20 frames / sec, the CPU utilization is reduced to 0.2 or 0.2.
In order to reduce the number to 1, the QoS handler 21-1 changes the frame rate to 10 frames / second or 5 frames / second, respectively.

【0054】以下、この発明の第1の実施の形態にかか
るQoS制御装置を組み込んだシステムの動作について
詳細に説明する。なお、前提として、アプリケーション
タスク20−1〜20−nのQoSテーブルエントリ2
2−1〜22−n、及びQoSハンドラ21−1〜21
−nは、タスクの実行が始まる前にそれぞれQoSテー
ブル16とQoSハンドラテーブル17に登録されてい
る必要がある。まず最初に、QoSテーブル16及びQ
oSハンドラテーブル17の登録について説明する。
Hereinafter, the operation of the system incorporating the QoS control device according to the first embodiment of the present invention will be described in detail. As a premise, the QoS table entry 2 of the application tasks 20-1 to 20-n is assumed.
2-1 to 22-n and QoS handlers 21-1 to 21-21
-N needs to be registered in the QoS table 16 and the QoS handler table 17 before the execution of the task starts. First, the QoS table 16 and Q
The registration of the oS handler table 17 will be described.

【0055】このアプリケーションタスク20−1〜2
0−nは、一部がOS10のブート時に、残りが既に生
成されたタスクにより生成される。すなわち、OS10
のブート時に、図示せぬ初期タスクがQoS制御タスク
11、アイドル時間監視タスク12、及び、DLミス処
理タスク13を生成し、それぞれのタスクを開始させ
る。さらに、初期タスクは、アプリケーションタスク2
0−1〜20−nの一部、例えば、アプリケーションタ
スク20−i(1≦i≦n)を生成し、その生成したタ
スクのQoSテーブルエントリ22−iとQoSハンド
ラ21−iをQoSテーブル/QoSハンドラ登録シス
テムコール14を使って登録する。
This application task 20-1 to 20-2
A part of 0-n is generated by a task that has already been generated while the OS 10 is partially booted. That is, OS10
At the time of booting, an initial task (not shown) generates a QoS control task 11, an idle time monitoring task 12, and a DL miss processing task 13, and starts each task. Furthermore, the initial task is application task 2
0-1 to 20-n, for example, an application task 20-i (1 ≦ i ≦ n), and a QoS table entry 22-i and a QoS handler 21-i of the generated task are stored in the QoS table / The registration is performed using the QoS handler registration system call 14.

【0056】また、例えば、アプリケーションタスク2
0−j(1≦j≦n)が、動的に他のアプリケーション
タスク20−k(1≦k≦n)を生成する場合に、アプ
リケーションタスク20−jは、生成するアプリケーシ
ョンタスク20−kのQoSテーブルエントリ22−k
及びQoSハンドラ21−kをQoSテーブル/QoS
ハンドラ登録システムコール14を使って登録する。
Also, for example, application task 2
When 0-j (1 ≦ j ≦ n) dynamically generates another application task 20-k (1 ≦ k ≦ n), the application task 20-j generates the application task 20-k of the generated application task 20-k. QoS table entry 22-k
And QoS handler 21-k in the QoS table / QoS
The registration is performed using the handler registration system call 14.

【0057】次に、この発明の第1の実施の形態にかか
るQoS制御装置を組み込んだシステムのQoS制御動
作について図面を参照して説明する。図3は、QoS制
御タスク11の行う、QoS制御処理を説明するフロー
チャートである。
Next, the QoS control operation of the system incorporating the QoS control device according to the first embodiment of the present invention will be described with reference to the drawings. FIG. 3 is a flowchart illustrating a QoS control process performed by the QoS control task 11.

【0058】通常、QoS制御タスク11は、休眠状態
にあり、QoS制御要求を待機する(ステップS1
0)。すなわち、QoS制御タスク11は、一時的な過
負荷状態によりDLミスが発生した時、又はCPU時間
に余裕ができた時に起床される。
Normally, the QoS control task 11 is in a sleep state and waits for a QoS control request (step S1).
0). That is, the QoS control task 11 is woken up when a DL miss occurs due to a temporary overload state, or when there is enough CPU time.

【0059】一時的な過負荷状態になる場合は、タスク
やハンドラが予定の実行時間を超過した場合である。こ
の場合、アプリケーションタスク20−1〜20−nの
いずれかがDLミスを起こすことになる。DLミス処理
タスク13は、DLミスの発生を検出し、過負荷状態で
あることをQoS制御タスク11に通知する。また、C
PU時間に余裕ができる場合は、タスクやハンドラが予
定の実行時間よりも少ない実行時間しか使わない場合
や、一時的な過負荷状態を解消するためにタスクの実行
時間を少なくした後に、その過負荷状態をつくり出して
いたタスクやハンドラの実行時間が少なくなった場合で
ある。この場合、アイドル時間監視タスク12は、アイ
ドル時間が予め定めた一定値を越えたことを検出する
と、CPU時間の空きが増えたことをQoS制御タスク
11に通知する。
The temporary overload state is when the task or handler exceeds the scheduled execution time. In this case, any one of the application tasks 20-1 to 20-n causes a DL miss. The DL miss processing task 13 detects the occurrence of a DL miss and notifies the QoS control task 11 that the DL miss is occurring. Also, C
If there is enough PU time, the task or handler may use less execution time than the scheduled execution time, or the task execution time may be reduced after the task execution time is reduced to eliminate the temporary overload condition. This is the case when the execution time of the task or handler that created the load state has decreased. In this case, when the idle time monitoring task 12 detects that the idle time has exceeded a predetermined value, the idle time monitoring task 12 notifies the QoS control task 11 that the free time of the CPU time has increased.

【0060】QoS制御タスク11は、上記いずれかの
要因により起床すると、起床の要因を特定する(ステッ
プS11、S21)。すなわち、QoS制御タスク11
は、まず、デッドラインミスが発生したか否かを判別す
る(ステップS11)。
When the QoS control task 11 wakes up due to any of the above factors, it specifies the wake up factor (steps S11 and S21). That is, the QoS control task 11
First, it is determined whether a deadline miss has occurred (step S11).

【0061】QoS制御タスク11は、デッドラインミ
スが発生したと判別した場合(ステップS11;Ye
s)、QoSレベル31の値が最低値であるか否かを判
別する(ステップS12)。
The QoS control task 11 determines that a deadline miss has occurred (step S11; Ye).
s) It is determined whether or not the value of the QoS level 31 is the lowest value (step S12).

【0062】QoS制御タスク11は、QoSレベル3
1が最低値であると判別した場合(ステップS12;Y
es)、QoS制御処理を終了する。一方、QoSレベ
ル31が最低値でないと判別した場合(ステップS1
2;No)、QoS制御タスク11は、QoSレベル3
1の値を1つ下げる(ステップS13)。
The QoS control task 11 performs QoS level 3
When it is determined that 1 is the lowest value (step S12; Y
es), the QoS control process ends. On the other hand, when it is determined that the QoS level 31 is not the lowest value (step S1).
2; No), the QoS control task 11 performs QoS level 3
The value of 1 is decreased by one (step S13).

【0063】QoSレベル31の値を変更後、QoS制
御タスク11は、QoS変更処理を呼び出す(ステップ
S14)。なお、QoS変更処理については後述する。
After changing the value of the QoS level 31, the QoS control task 11 calls a QoS change process (step S14). The QoS change processing will be described later.

【0064】QoS変更処理終了後、QoS制御タスク
11は、変更されたタスクがあるか否かを判別する(ス
テップS15)。
After the end of the QoS change processing, the QoS control task 11 determines whether or not there is a changed task (step S15).

【0065】QoS制御タスク11は、変更されたタス
クがないと判別した場合(ステップS15;No)、ス
テップS31に処理を戻す。すなわち、QoS制御タス
ク11は、CPU利用率を変更可能なタスクが見つか
り、システム全体のCPU利用率が下げられるまで、上
記のステップS12〜ステップS15を繰り返す。
If the QoS control task 11 determines that there is no changed task (step S15; No), the process returns to step S31. That is, the QoS control task 11 repeats the above steps S12 to S15 until a task that can change the CPU utilization is found and the CPU utilization of the entire system is reduced.

【0066】QoS制御タスク11は、変更されたタス
クがあると判別した場合(ステップS15;Yes)、
処理を終了する。すなわち、QoS制御タスク11は、
ステップS15にて、CPU利用率を変更されたタスク
があると判断した場合、又は、ステップS12にて、Q
oSレベル31が最低値とあると判別した場合にQoS
制御処理を終了する。
When the QoS control task 11 determines that there is a changed task (step S15; Yes),
The process ends. That is, the QoS control task 11
If it is determined in step S15 that there is a task whose CPU utilization has been changed, or if it is determined in step S12 that Q
When it is determined that the oS level 31 is the lowest value, the QoS
The control processing ends.

【0067】また、ステップS11において、デッドラ
インミスが発生していないと判別した場合(ステップS
11;No)、QoS制御タスク11は、低負荷状態で
あるか否かを判別する(ステップS21)。
If it is determined in step S11 that no deadline miss has occurred (step S11).
11; No), the QoS control task 11 determines whether or not the load is low (step S21).

【0068】QoS制御タスク11は、低負荷状態でな
いと判別した場合(ステップS21;No)、起床エラ
ー(ステップS31)であるため、特に何もせずに処理
を終了する。一方、低負荷状態であると判別した場合
(ステップS21;Yes)、QoSレベル31が最高
値であるか否かを判別する(ステップS22)。
When the QoS control task 11 determines that the load is not low (step S21; No), the process ends without any special processing because it is a wake-up error (step S31). On the other hand, when it is determined that the load is low (step S21; Yes), it is determined whether or not the QoS level 31 is the highest value (step S22).

【0069】QoS制御タスク11は、QoSレベル3
1が最高値であると判別した場合(ステップS22;Y
es)、QoS制御処理を終了する。一方、QoSレベ
ル31が最高値でないと判別した場合(ステップS2
2;No)、QoS制御タスク11は、QoSレベル3
1の値を1つ上げる(ステップS23)。
The QoS control task 11 performs QoS level 3
1 is determined to be the highest value (step S22; Y
es), the QoS control process ends. On the other hand, when it is determined that the QoS level 31 is not the highest value (step S2).
2; No), the QoS control task 11 performs QoS level 3
The value of 1 is increased by one (step S23).

【0070】QoSレベル31の値を変更後、QoS制
御タスク11は、QoS変更処理を呼び出す(ステップ
S24)。なお、QoS変更処理については後述する。
After changing the value of the QoS level 31, the QoS control task 11 calls a QoS change process (step S24). The QoS change processing will be described later.

【0071】QoS変更処理終了後、QoS制御タスク
11は、変更されたタスクがあるか否かを判別する(ス
テップS25)。
After the end of the QoS change processing, the QoS control task 11 determines whether or not there is a changed task (step S25).

【0072】QoS制御タスク11は、変更されたタス
クがないと判別した場合(ステップS25;No)、ス
テップS22に処理を戻す。すなわち、QoS制御タス
ク11は、CPU利用率を変更可能なタスクが見つか
り、システム全体のCPU利用率が上げられるまで、上
記のステップS22〜ステップS25を繰り返す。
If the QoS control task 11 determines that there is no changed task (step S25; No), the process returns to step S22. That is, the QoS control task 11 repeats the above steps S22 to S25 until a task that can change the CPU utilization is found and the CPU utilization of the entire system is increased.

【0073】QoS制御タスク11は、変更されたタス
クがあると判別した場合(ステップS25;Yes)、
QoS制御処理を終了する。すなわち、QoS制御タス
ク11は、ステップS25にて、CPU利用率を変更さ
れたタスクがあると判断した場合、又は、ステップS2
2にて、QoSレベル31が最高値とあると判別した場
合にQoS制御処理を終了する。
If the QoS control task 11 determines that there is a changed task (step S25; Yes),
The QoS control processing ends. That is, the QoS control task 11 determines in step S25 that there is a task whose CPU utilization has been changed, or in step S2.
If it is determined in step 2 that the QoS level 31 is at the maximum value, the QoS control process ends.

【0074】次に、上記ステップ14及びステップS2
4にて呼び出されるQoS変更処理について、図4を参
照して説明する。図4は、QoS制御タスク11が行う
QoS変更処理を説明するフローチャートである。
Next, step 14 and step S2
4 will be described with reference to FIG. FIG. 4 is a flowchart illustrating a QoS change process performed by the QoS control task 11.

【0075】QoS制御タスク11は、QoSテーブル
16に登録されているうちの1つのタスクTを選択する
(ステップS41)。
The QoS control task 11 selects one of the tasks T registered in the QoS table 16 (Step S41).

【0076】QoS制御タスク11は、タスクTに関し
て変更前のQoSレベル31の値に対応するQoSテー
ブル16の値と、変更後のQoSレベル31の値に対応
するQoSテーブル16の値を比較する(ステップS4
2)。
The QoS control task 11 compares the value of the QoS table 16 corresponding to the value of the QoS level 31 before the change with respect to the task T with the value of the QoS table 16 corresponding to the value of the QoS level 31 after the change ( Step S4
2).

【0077】QoS制御タスク11は、変更前後のQo
Sレベル31の値に対応するQoSテーブル16の値、
すなわちCPU利用率が異なるか否かを判別する(ステ
ップS43)。
The QoS control task 11 checks the QoS before and after the change.
The value of the QoS table 16 corresponding to the value of the S level 31;
That is, it is determined whether the CPU utilization is different (step S43).

【0078】QoS制御タスク11は、CPU利用率が
異なると判別した場合(ステップS43;Yes)、タ
スクTのQoSハンドラを変更後のQoSレベル31の
値を引数にして呼び出す(ステップS44)。
If the QoS control task 11 determines that the CPU utilization is different (step S43; Yes), it calls the QoS handler of the task T with the changed QoS level 31 value as an argument (step S44).

【0079】QoS制御タスク11は、すべてのタスク
を調べたか否かを判別する(ステップS45)。
The QoS control task 11 determines whether all the tasks have been checked (step S45).

【0080】QoS制御タスク11は、すべてのタスク
を調べていないと判別した場合(ステップS45;N
o)、ステップS41に処理を戻す。すなわち、QoS
制御タスク11は、QoSテーブル16に登録されてい
るすべてのタスクに対して、上記のステップS41〜ス
テップS45を繰り返し、変更前後のQoSレベル31
の値に対応するCPU利用率の差異を調べ、CPU利用
率の差異がある場合に、タスクTのQoSハンドラを変
更後のQoSレベル31の値を引数にして呼び出す。
If the QoS control task 11 determines that all tasks have not been checked (step S45; N
o), the process returns to step S41. That is, QoS
The control task 11 repeats the above steps S41 to S45 for all the tasks registered in the QoS table 16, and sets the QoS level 31 before and after the change.
Of the CPU utilization rate corresponding to the value of the task T, and when there is a difference in the CPU utilization rate, the QoS handler of the task T is called with the changed QoS level 31 value as an argument.

【0081】すべてのタスクを調べ終わった場合(ステ
ップS45;Yes)、QoS制御タスク11は、CP
U利用率が変更されたタスクがあったか否かを呼び出し
元に返し(ステップS46)、QoS変更処理を終了す
る。
When all the tasks have been checked (step S45; Yes), the QoS control task 11
It returns to the caller whether or not there is a task whose U usage rate has been changed (step S46), and the QoS change processing ends.

【0082】次に、図2に示すQoSテーブル16を参
照して、具体的に本実施の形態のQoS制御動作を説明
する。図2に示すように、現在のQoSテーブル16に
は、タスク0、タスク1、タスク2、及びタスク3の4
つのタスクが登録されている。また、現在のQoSレベ
ル31の値は、「6」であるとする。
Next, the QoS control operation of the present embodiment will be specifically described with reference to the QoS table 16 shown in FIG. As shown in FIG. 2, the current QoS table 16 includes four of task 0, task 1, task 2, and task 3.
One task is registered. It is also assumed that the current value of the QoS level 31 is “6”.

【0083】この状態で、いずれかのアプリケーション
タスクがDLミスを起こした場合、QoS制御タスク1
1は、起床し、デッドラインミスが発生したと判別する
(ステップS11;Yes)。QoS制御タスク11
は、QoSレベル31が「6」であり、最低値でないと
判別し(ステップS12;No)、QoSレベル31の
値を「5」に1つ下げる(ステップS13)。
In this state, if any application task causes a DL miss, the QoS control task 1
1 wakes up and determines that a deadline mistake has occurred (step S11; Yes). QoS control task 11
Determines that the QoS level 31 is "6" and is not the lowest value (step S12; No), and lowers the value of the QoS level 31 by one to "5" (step S13).

【0084】QoS変更処理において、タスク0のCP
U利用率のみが、QoSレベル31が「6」から「5」
に変わることにより「0.5」から「0.4」と変化す
ることを判別し(ステップS43;Yes)、タスク0
のQoSハンドラを変更後のQoSレベル31の「5」
を引数にして呼び出す(ステップS44)。
In the QoS change processing, the CP of task 0
Only U utilization rate, QoS level 31 from "6" to "5"
Is determined to change from "0.5" to "0.4" (step S43; Yes).
"5" of QoS level 31 after changing the QoS handler of
Is called with an argument (step S44).

【0085】この結果、システム全体のCPU利用率
を、DLミスを起こした時点よりも0.1、すなわち1
0%だけ下げることが期待できる。
As a result, the CPU utilization of the entire system is set to 0.1, that is, 1 from the time when the DL miss occurred.
It can be expected to drop by 0%.

【0086】また、依然として、DLミスが起きた場合
に、QoS制御タスク11は、QoSレベル31が
「5」であり、最低値でないと判別し(ステップS1
2;No)、QoSレベル31の値を「4」に1つ下げ
る(ステップS13)。QoS変更処理において、タス
ク1のCPU利用率のみが、QoSレベル31が「5」
から「4」に変わることにより「0.3」から「0.
2」と変化することを判別し(ステップS43;Ye
s)、タスク1のQoSハンドラを変更後のQoSレベ
ル31の「4」を引数にして呼び出す(ステップS4
4)。
Further, if a DL miss still occurs, the QoS control task 11 determines that the QoS level 31 is “5” and is not the lowest value (step S1).
2; No), the value of the QoS level 31 is reduced by one to “4” (step S13). In the QoS change processing, only the CPU utilization of the task 1 is set, and the QoS level 31 is set to “5”.
Is changed from “0.3” to “0.
2 "(step S43; Ye).
s), calling the QoS handler of task 1 with the changed QoS level 31 “4” as an argument (step S4)
4).

【0087】この結果、システム全体のCPU利用率
を、更に0.1、すなわち10%だけ下げることが期待
できる。
As a result, it can be expected that the CPU utilization of the entire system is further reduced by 0.1, that is, 10%.

【0088】このように、QoSレベル31の値は、D
Lミスが起きなくなるか、又は0になるまで下げられ
る。例えば、システム全体のCPU利用率が1を越える
と過負荷状態になりデッドラインミスが起こると仮定す
ると、QoSレベル31は、システム全体のCPU利用
率が0.9となる「3」まで下げられる。
As described above, the value of the QoS level 31 is D
It is lowered until no L-miss occurs or becomes zero. For example, assuming that when the CPU utilization of the entire system exceeds 1, an overload occurs and a deadline miss occurs, the QoS level 31 is reduced to "3" at which the CPU utilization of the entire system becomes 0.9. .

【0089】一方、QoSレベル31が「3」の状態
で、アイドル時間監視タスク12から低負荷状態である
ことが通知された場合、QoS制御タスク11は、起床
し、低負荷状態であると判別する(ステップS21;Y
es)。QoS制御タスク11は、QoSレベル31が
「3」であり、最高値でないと判別し(ステップS2
2;No)、QoSレベル31の値を「4」に1つ上げ
る(ステップS23)。
On the other hand, if the idle time monitoring task 12 notifies that the load is low when the QoS level 31 is “3”, the QoS control task 11 wakes up and determines that the load is low. (Step S21; Y
es). The QoS control task 11 determines that the QoS level 31 is “3” and is not the highest value (step S2).
2; No), the value of the QoS level 31 is increased by one to “4” (step S23).

【0090】QoS変更処理において、タスク3のCP
U利用率のみが、QoSレベル31が「3」から「4」
に変わることにより「0.2」から「0.4」と変化す
ることを判別し(ステップS43;Yes)、タスク3
のQoSハンドラを変更後のQoSレベル31の「4」
を引数にして呼び出す(ステップS44)。
In the QoS change process, the CP of task 3
Only U utilization rate, QoS level 31 is "3" to "4"
Is determined to change from "0.2" to "0.4" (step S43; Yes).
"4" of QoS level 31 after changing the QoS handler of
Is called with an argument (step S44).

【0091】この結果、システム全体のCPU利用率
を、低負荷状態であることが通知された時点よりも0.
2、すなわち20%だけ上げることが期待できる。
As a result, the CPU utilization of the entire system is set to be lower than that at the time when the low load state is notified.
2, that is, it can be expected to increase by 20%.

【0092】以上説明したように、この発明の第1の実
施の形態にかかるQoS制御装置は、QoS制御タスク
11が、各タスクの資源割当をQoSテーブル16を参
照するのみで行っている。このため、タスクとの間で資
源割当のための交渉を必要とせずに、各タスクの資源割
当を決定できる。この結果、QoS制御を高速に行うこ
とができる。また、QoSテーブル16に設定する資源
要求量を組み込みシステムの設計時に適切に設定するこ
とにより、QoSテーブル16に基づいて各タスクへの
資源割当やQoS変更が行われる。この結果、設計者の
意図通りにQoS制御を行うことができる。
As described above, in the QoS control apparatus according to the first embodiment of the present invention, the QoS control task 11 performs resource allocation of each task only by referring to the QoS table 16. Therefore, resource allocation for each task can be determined without necessity of negotiation for resource allocation with the task. As a result, QoS control can be performed at high speed. Also, by appropriately setting the amount of resource required to be set in the QoS table 16 at the time of designing the embedded system, resource allocation to each task and QoS change are performed based on the QoS table 16. As a result, QoS control can be performed as intended by the designer.

【0093】次に、タスクが有効になった場合と、タス
クが無効になった場合を管理することを特徴とするこの
発明の第2の実施の形態にかかるQoS制御装置につい
て図面を参照して説明する。図5は、この発明の第2の
実施の形態にかかるQoS制御装置を組み込んだシステ
ムの構成の一例を示すブロック図である。
Next, a QoS control apparatus according to a second embodiment of the present invention, which manages a case where a task becomes valid and a case where a task becomes invalid, will be described with reference to the drawings. explain. FIG. 5 is a block diagram illustrating an example of a configuration of a system incorporating the QoS control device according to the second embodiment of the present invention.

【0094】図5に示すQoS制御装置を組み込んだシ
ステムは、図1に示す第1の実施の形態にかかるQoS
制御装置を組み込んだシステムと、QoS制御タスク4
1及びAPI40のみが異なる。すなわち、他の構成
は、図1と同様である。
The system incorporating the QoS control device shown in FIG. 5 has the QoS according to the first embodiment shown in FIG.
System with built-in control device and QoS control task 4
Only 1 and API 40 are different. That is, other configurations are the same as those in FIG.

【0095】QoS制御タスク41は、図1のQoS制
御タスク11の構成に加えて、新たに有効タスクテーブ
ル18を有する。
The QoS control task 41 has a new effective task table 18 in addition to the configuration of the QoS control task 11 shown in FIG.

【0096】有効タスクテーブル18は、システム全体
のCPU利用率を計算する時に対象となるタスクやハン
ドラの一覧である。具体的に説明すると、有効タスクテ
ーブル18には、定常的にCPU時間を消費するすべて
のものが登録される。そして、休眠状態やI/O待ち状
態などに状態が変化し、定常的にCPU時間を消費しな
いものとなると、有効タスクテーブル18から外され
る。すなわち、有効タスクテーブル18により、システ
ム全体のCPU利用率の計算を適切に行うことができ
る。なお、システム全体のCPU利用率は、有効タスク
テーブル18に含まれるタスクや割り込みハンドラに関
して、QoSテーブル16から対象のCPU利用率を取
得し、それらを合計することにより求められる。
The valid task table 18 is a list of tasks and handlers to be used when calculating the CPU utilization of the entire system. More specifically, in the valid task table 18, everything that constantly consumes CPU time is registered. Then, when the state changes to a sleep state, an I / O wait state, or the like, and the CPU time is not constantly consumed, the CPU is removed from the valid task table 18. That is, the effective task table 18 allows the CPU utilization of the entire system to be calculated appropriately. Note that the CPU utilization of the entire system is obtained by acquiring the target CPU utilization from the QoS table 16 for tasks and interrupt handlers included in the valid task table 18 and summing them.

【0097】API40は、図1のAPI30に加え
て、新たに有効タスク登録/削除システムコール15を
有する。
The API 40 has a new valid task registration / deletion system call 15 in addition to the API 30 shown in FIG.

【0098】有効タスク登録/削除システムコール15
は、アプリケーションタスク20−1〜20−nが起動
して、定常的にCPU時間を使う状態への変化時や、I
/O待ち等により、定常的にCPU時間を使わない状態
への変化時を判別し、タスクの有効化/無効化をQoS
制御タスク41に通知する。具体的には、アプリケーシ
ョンタスク20−1〜20−n自身が、タスクを開始す
る時や起床させる時、又は、I/O待ち状態に入る直
前、休眠状態にする時等に、有効タスク登録/削除シス
テムコール15を呼び出し、タスクの有効化/無効化を
QoS制御タスク41に通知する。
Valid task registration / deletion system call 15
Indicates that the application tasks 20-1 to 20-n are activated and change to a state in which the CPU time is steadily used.
Judgment of a change to a state in which CPU time is not constantly used due to waiting for / O, etc., and enabling / disabling a task by QoS.
Notify the control task 41. Specifically, when the application tasks 20-1 to 20-n themselves start a task, wake up the task, or enter an I / O wait state, or enter a sleep state, the valid task registration / The delete system call 15 is called to notify the QoS control task 41 of the activation / inactivation of the task.

【0099】次に、この発明の第2の実施の形態にかか
るQoS制御装置を組み込んだシステムのQoS制御動
作について図面を参照して説明する。図6は、QoS制
御タスク11の行う、QoS制御処理を説明するフロー
チャートである。
Next, the QoS control operation of the system incorporating the QoS control device according to the second embodiment of the present invention will be described with reference to the drawings. FIG. 6 is a flowchart illustrating a QoS control process performed by the QoS control task 11.

【0100】通常、QoS制御タスク11は、休眠状態
にあり、QoS制御要求を待機する(ステップS5
0)。すなわち、QoS制御タスク11は、新たにアプ
リケーションタスク20−1〜20−nのいずれかのタ
スクが開始される場合や、休眠状態にあるタスクが起床
される場合等のタスクが有効になる時、又はタスクが終
了する場合やフラグの成立待ちの場合等のタスクが無効
になる時に起床される。なお、タスクの開始や休止を行
うために通常のシステムコールの発行が行われるが、各
タスクは、これに先だって、有効タスク登録/削除シス
テムコール15を使ってタスクの有効化/無効化を行
う。ただし、周期的に実行されるタスクは、休眠と起床
を周期的に繰り返すが、定常的にCPU時間を必要とす
るので、起床あるいは休眠の度に有効化/無効化を行わ
ないものとする。
Normally, the QoS control task 11 is in a sleep state and waits for a QoS control request (step S5).
0). That is, the QoS control task 11 is activated when a task such as a case where a new one of the application tasks 20-1 to 20-n is started or a task in a sleep state is woken up. Alternatively, it is woken up when the task becomes invalid, such as when the task is completed or when the flag is waiting to be established. A normal system call is issued to start or pause the task, but each task performs the task validation / invalidation using the valid task registration / deletion system call 15 prior to this. . However, a task that is periodically executed periodically repeats sleep and wake-up, but periodically requires CPU time. Therefore, the task is not enabled / disabled each time it wakes up or sleeps.

【0101】QoS制御タスク11は、上記いずれかの
要因により起床すると、起床の要因を特定する(ステッ
プS51、S61)。すなわち、QoS制御タスク11
は、まず、有効タスクが追加されたか否かを判別する
(ステップS51)。
When the QoS control task 11 wakes up due to any of the above factors, it specifies the wake up factor (steps S51 and S61). That is, the QoS control task 11
First, it is determined whether a valid task has been added (step S51).

【0102】QoS制御タスク11は、有効タスクが追
加されたと判別した場合(ステップS51;Yes)、
そのタスクを有効タスクテーブル18に追加して登録す
る(ステップS52)。
When the QoS control task 11 determines that an effective task has been added (step S51; Yes),
The task is added to the valid task table 18 and registered (step S52).

【0103】QoS制御タスク11は、システム全体の
CPU利用率を計算する利用率算出処理を呼び出す(ス
テップS53)。なお、利用率算出処理については後述
する。
The QoS control task 11 calls a utilization calculation process for calculating the CPU utilization of the entire system (step S53). The utilization rate calculation processing will be described later.

【0104】利用率算出処理終了後、QoS制御タスク
11は、利用率算出処理にて求めたシステム全体のCP
U利用率Uが、予め定められた最大値Umaxより大き
いか否かを判別する(ステップS54)。
After the utilization rate calculation processing is completed, the QoS control task 11 determines the CP of the entire system obtained in the utilization rate calculation processing.
It is determined whether the U utilization rate U is larger than a predetermined maximum value Umax (step S54).

【0105】QoS制御タスク11は、CPU利用率U
が最大値Umax以下であると判別した場合(ステップ
S54;No)、後述するステップS67に処理を進め
る。
The QoS control task 11 has a CPU utilization U
Is smaller than or equal to the maximum value Umax (Step S54; No), the process proceeds to Step S67 described later.

【0106】一方、CPU利用率Uが最大値Umaxよ
り大きいと判別した場合(ステップS54;Yes)、
QoS制御タスク11は、QoSレベル31の値が最低
値であるか否かを判別する(ステップS55)。すなわ
ち、QoS制御タスク11は、CPU利用率Uが最大値
Umaxより大きい場合に、システムが過負荷状態であ
ると見なし、過負荷状態を解消するために、QoSレベ
ル31を下げることができるか否かを判別する。
On the other hand, when it is determined that the CPU utilization U is larger than the maximum value Umax (step S54; Yes),
The QoS control task 11 determines whether or not the value of the QoS level 31 is the lowest value (Step S55). That is, when the CPU utilization U is larger than the maximum value Umax, the QoS control task 11 regards the system as being in an overloaded state, and determines whether or not the QoS level 31 can be reduced to eliminate the overloaded state. Is determined.

【0107】QoS制御タスク11は、QoSレベル3
1が最低値であると判別した場合(ステップS55;Y
es)、後述するステップS57に処理を進める。ま
た、QoSレベル31が最低値でないと判別した場合
(ステップS55;No)、QoS制御タスク11は、
QoSレベル31の値を1つ下げる(ステップS5
6)。
[0107] The QoS control task 11 performs QoS level 3
When it is determined that 1 is the lowest value (step S55; Y
es), the process proceeds to step S57 described below. When it is determined that the QoS level 31 is not the lowest value (step S55; No), the QoS control task 11
The value of the QoS level 31 is reduced by one (step S5).
6).

【0108】QoSレベル31の値を変更後、QoS制
御タスク11は、処理をステップS53に処理を戻す。
すなわち、QoS制御タスク11は、有効タスクを追加
した際のシステム全体のCPU利用率を求め、システム
が過負荷状態である場合に、上記のステップS53〜ス
テップS56を繰り返し、QoSレベル31の値を順次
下げる。
After changing the value of the QoS level 31, the QoS control task 11 returns the processing to step S53.
That is, the QoS control task 11 obtains the CPU utilization rate of the entire system at the time of adding the valid task, and when the system is overloaded, repeats the above-described steps S53 to S56 to change the value of the QoS level 31. Lower sequentially.

【0109】CPU利用率Uが最大値Umax以下とな
った場合に、QoS制御タスク11は、後述するステッ
プS67に処理を進めてQoS変更処理を呼び出す。一
方、CPU利用率Uが最大値Umax以下とならないう
ちに、ステップS56にて、QoSレベル31の値が最
低値となった場合、QoS制御タスク11は、QoSレ
ベル31の値を元に戻すと共に、追加したタスクを有効
タスクテーブル18から削除し、タスク追加失敗のエラ
ーをタスクに返す(ステップS57)。
When the CPU utilization U becomes equal to or less than the maximum value Umax, the QoS control task 11 advances the processing to step S67, which will be described later, and calls the QoS change processing. On the other hand, if the value of the QoS level 31 becomes the lowest value in step S56 before the CPU utilization U does not become equal to or less than the maximum value Umax, the QoS control task 11 returns the value of the QoS level 31 to the original value. Then, the added task is deleted from the valid task table 18, and an error indicating that the task addition has failed is returned to the task (step S57).

【0110】また、ステップS51において、有効タス
クが追加されていないと判別した場合(ステップS5
1;No)、QoS制御タスク11は、有効タスクが削
除されたか否かを判別する(ステップS61)。
When it is determined in step S51 that no valid task has been added (step S5).
1; No), the QoS control task 11 determines whether or not the valid task has been deleted (step S61).

【0111】QoS制御タスク11は、有効タスクが削
除されていないと判別した場合(ステップS61;N
o)、第2の実施の形態の図3のステップS11に処理
を進める。なお、図3のステップS11以降の処理は、
第1の実施の形態と同様であるため省略する。
When the QoS control task 11 determines that the valid task has not been deleted (step S61; N
o), the process proceeds to step S11 in FIG. 3 of the second embodiment. In addition, the process after step S11 of FIG.
The description is omitted because it is the same as the first embodiment.

【0112】QoS制御タスク11は、有効タスクが削
除されたと判別した場合(ステップS61;Yes)、
そのタスクを有効タスクテーブル18から削除する(ス
テップS62)。
When the QoS control task 11 determines that the valid task has been deleted (step S61; Yes),
The task is deleted from the valid task table 18 (step S62).

【0113】QoS制御タスク11は、QoSレベル3
1が最高値であるか否かを判別する(ステップS6
3)。QoS制御タスク11は、QoSレベル31が最
高値であると判別した場合(ステップS63;Ye
s)、後述するステップS67に処理を進める。
The QoS control task 11 performs QoS level 3
It is determined whether 1 is the highest value (step S6).
3). When the QoS control task 11 determines that the QoS level 31 is the highest value (step S63; Ye)
s) The process proceeds to step S67 described below.

【0114】一方、QoSレベル31が最高値でないと
判別した場合(ステップS63;No)、QoS制御タ
スク11は、システム全体のCPU利用率を計算する利
用率算出処理を呼び出す(ステップS64)。なお、利
用率算出処理については後述する。
On the other hand, if the QoS control task 11 determines that the QoS level 31 is not the highest value (step S63; No), the QoS control task 11 calls a utilization calculation process for calculating the CPU utilization of the entire system (step S64). The utilization rate calculation processing will be described later.

【0115】QoS制御タスク11は、利用率算出処理
にて求めたシステム全体のCPU利用率Uが、予め定め
られた最小値Umin以下であるか否かを判別する(ス
テップS65)。
The QoS control task 11 determines whether or not the CPU utilization rate U of the entire system obtained in the utilization rate calculation processing is equal to or less than a predetermined minimum value Umin (step S65).

【0116】QoS制御タスク11は、CPU利用率U
が最小値Uminより大きいと判別した場合(ステップ
S65;No)、後述するステップS67に処理を進め
る。一方、CPU利用率Uが最小値Umin以下である
と判別した場合(ステップS65;Yes)、QoS制
御タスク11は、QoSレベル31の値を1つ上げる
(ステップS66)。
The QoS control task 11 has a CPU utilization U
Is larger than the minimum value Umin (Step S65; No), the process proceeds to Step S67 described later. On the other hand, when determining that the CPU utilization U is equal to or smaller than the minimum value Umin (Step S65; Yes), the QoS control task 11 increases the value of the QoS level 31 by one (Step S66).

【0117】QoSレベル31の値を変更後、QoS制
御タスク11は、処理をステップS63に処理を戻す。
すなわち、QoS制御タスク11は、QoSレベル31
の値が最大値になるか、システム全体のCPU利用率が
最小値Uminより大きくなるまで、上記のステップS
63〜ステップS66を繰り返し、QoSレベル31の
値を上げる。
After changing the value of the QoS level 31, the QoS control task 11 returns the processing to the step S63.
That is, the QoS control task 11 performs the QoS level 31
Until the value of becomes the maximum value or the CPU utilization of the entire system becomes larger than the minimum value Umin.
63 to step S66 are repeated to increase the value of the QoS level 31.

【0118】ステップS63にて、QoSレベル31の
値が最大値になるか、ステップS65にてシステム全体
のCPU利用率が最小値Uminより大きくなると、Q
oS変更処理を呼び出す(ステップS67)。すなわ
ち、QoS制御タスク11は、第1の実施の形態で説明
した図4と同じQoS変更処理を行い、CPU利用率が
異なるタスクのQoSハンドラを実行する。
If the value of the QoS level 31 reaches the maximum value in step S63, or if the CPU utilization of the entire system exceeds the minimum value Umin in step S65, Q
Call the oS change process (step S67). That is, the QoS control task 11 performs the same QoS change processing as in FIG. 4 described in the first embodiment, and executes the QoS handler of the task having a different CPU utilization.

【0119】次に、ステップS53及びステップS64
にて呼び出される利用率算出処理について図7を参照し
て説明する。図7は、QoS制御タスク11が行う利用
率算出処理を説明するフローチャートである。
Next, steps S53 and S64
Will be described with reference to FIG. FIG. 7 is a flowchart illustrating a utilization rate calculation process performed by the QoS control task 11.

【0120】まず、QoS制御タスク11は、CPU利
用率Uに初期値「0」を設定する(ステップS71)。
First, the QoS control task 11 sets an initial value “0” to the CPU utilization U (step S71).

【0121】QoS制御タスク11は、有効タスクテー
ブル18に登録されているうちの1つのタスクTを選択
する(ステップS72)。
The QoS control task 11 selects one of the tasks T registered in the valid task table 18 (Step S72).

【0122】QoS制御タスク11は、現在のQoSレ
ベル31の値に対応するタスクTのCPU利用率をQo
Sテーブル16から取得し、取得したCPU利用率をC
PU利用率Uに加算する(ステップS73)。
The QoS control task 11 sets the CPU utilization of the task T corresponding to the current value of the QoS level 31 to the QoS level.
C from the S table 16
It is added to the PU utilization rate U (step S73).

【0123】QoS制御タスク11は、すべてのタスク
のCPU利用率を加算したか否かを判別する(ステップ
S74)。QoS制御タスク11は、すべてのタスクの
CPU利用率を加算していないと判別した場合(ステッ
プS74;No)、ステップS72に処理を戻す。すな
わち、QoS制御タスク11は、有効タスクテーブル1
8に登録されているすべてのタスクに対して、上記のス
テップS72〜ステップS74を繰り返し、システム全
体のCPU利用率Uを求める。
The QoS control task 11 determines whether or not the CPU utilizations of all tasks have been added (step S74). If the QoS control task 11 determines that the CPU utilizations of all tasks have not been added (step S74; No), the process returns to step S72. That is, the QoS control task 11 stores the effective task table 1
Steps S72 to S74 are repeated for all the tasks registered in No. 8, and the CPU utilization U of the entire system is obtained.

【0124】すべてのタスクのCPU利用率を加算した
場合(ステップS74;Yes)、QoS制御タスク1
1は、CPU利用率Uを呼び出し元に返し、利用率算出
処理を終了する。
When the CPU utilizations of all the tasks are added (step S74; Yes), the QoS control task 1
1 returns the CPU utilization U to the caller, and ends the utilization calculation processing.

【0125】この発明の第2の実施の形態では、タスク
が定常的にCPU時間を消費する状態になった時と消費
しない状態になった時に、そのタスクのCPU利用率分
だけ変化させるようにQoSレベルを変更する。この結
果、タスクの休眠や起床によりシステム全体のCPU利
用時間が大きく変化する場合でも、速やかに望ましいC
PU利用率に調節することができる。また、有効タスク
テーブルを参照してからQoS変更対象のタスクを決定
するため、QoSテーブルが登録されてはいるものの、
休眠状態にあるタスクに関してはQoS変更処理などを
行わない。このため、無駄な処理が行われなくなり、Q
oS制御処理が高速になる。
According to the second embodiment of the present invention, when a task is in a state of constantly consuming CPU time and in a state of not consuming CPU time, the task is changed by the CPU utilization rate of the task. Change the QoS level. As a result, even when the CPU utilization time of the entire system greatly changes due to sleep or waking up of a task, the desired C can be promptly changed.
Can be adjusted to PU utilization. In addition, since the QoS change target task is determined by referring to the valid task table, although the QoS table is registered,
No QoS change processing or the like is performed for a task in the sleep state. Therefore, useless processing is not performed, and Q
The oS control process becomes faster.

【0126】次に、図2に示すQoSテーブル16を参
照して、具体的に本実施の形態のQoS制御動作を説明
する。なお、QoSテーブル16には、最初に、図2中
のタスク3を除いた、タスク0、タスク1、及びタスク
2の3つのタスクが登録されているものとする。また、
現在のQoSレベル31の値は、「6」とする。また、
システム全体のCPU利用率の最大値Umaxが「1.
0」で、最小値Uminが「0.9」であるものとす
る。
Next, the QoS control operation of the present embodiment will be specifically described with reference to the QoS table 16 shown in FIG. It is assumed that three tasks of task 0, task 1, and task 2 except for task 3 in FIG. 2 are registered in the QoS table 16 first. Also,
The value of the current QoS level 31 is “6”. Also,
The maximum value Umax of the CPU utilization of the entire system is “1.
0 "and the minimum value Umin is" 0.9 ".

【0127】この状態で、新規のタスク3が実行可能と
なった場合、QoS制御タスク11は、起床し、有効タ
スクの追加があったと判別する(ステップS51;Ye
s)。
In this state, if the new task 3 becomes executable, the QoS control task 11 wakes up and determines that an effective task has been added (step S51; Ye).
s).

【0128】QoS制御タスク11は、タスク3を、有
効タスクテーブル18に追加し(ステップS52)、シ
ステム全体のCPU利用率Uを算出する(ステップS5
3)。すなわち、QoS制御タスク11は、QoSレベ
ル31の「6」に対する、それぞれのタスクのCPU利
用率が「0.5」、「0.3」、「0.1」、及び
「0.4」であるため、システム全体のCPU利用率U
を「1.3」と算出する。
The QoS control task 11 adds the task 3 to the valid task table 18 (step S52), and calculates the CPU utilization U of the entire system (step S5).
3). That is, the QoS control task 11 has the CPU utilization of each task of “0.5”, “0.3”, “0.1”, and “0.4” with respect to QoS level 31 “6”. Therefore, the CPU utilization rate U of the entire system
Is calculated as “1.3”.

【0129】QoS制御タスク11は、求めたCPU利
用率Uが最大値Umaxより大きいと判別し(ステップ
S54)、QoSレベル31の値を「6」から「5」に
下げる(ステップS56)。
The QoS control task 11 determines that the obtained CPU utilization U is larger than the maximum value Umax (step S54), and lowers the value of the QoS level 31 from “6” to “5” (step S56).

【0130】QoS制御タスク11は、QoSレベル3
1の値を「5」に変えても、ステップS53にて再度求
めたCPU利用率Uが最大値Umaxより大きいと判別
し、QoSレベル31の値を順次下げ、CPU利用率U
を算出する(ステップS53〜S56)。
The QoS control task 11 performs QoS level 3
Even if the value of 1 is changed to "5", it is determined that the CPU utilization U again obtained in step S53 is larger than the maximum value Umax, and the value of the QoS level 31 is sequentially reduced, and the CPU utilization U
Is calculated (steps S53 to S56).

【0131】QoS制御タスク11は、QoSレベル3
1の値を「3」に変えたときに、ステップS53にて求
めたCPU利用率Uが「0.9」となり、最大値Uma
x以下であると判別する(ステップS54;No)。
The QoS control task 11 performs QoS level 3
When the value of 1 is changed to “3”, the CPU utilization U obtained in step S53 becomes “0.9”, and the maximum value Uma
x or less (step S54; No).

【0132】QoS制御タスク11は、QoSレベルを
「3」に設定し、資源割り当てが変更されるタスク0、
タスク1、及びタスク3に対してQoSハンドラを実行
する(ステップS67)。
The QoS control task 11 sets the QoS level to “3” and sets the QoS level of the task 0,
A QoS handler is executed for task 1 and task 3 (step S67).

【0133】この結果、定常的にCPU時間を消費する
タスクが追加された時に、全体のCPU利用率が最大値
を越えないように制御することができる。
As a result, when a task that constantly consumes CPU time is added, control can be performed so that the overall CPU utilization does not exceed the maximum value.

【0134】一方、QoSレベル31が「3」の状態
で、タスク0、タスク1、タスク2、及びタスク3が実
行されている時に、タスク1が休眠状態に入り、無効化
された場合、QoS制御タスク11は、起床し、有効タ
スクが削除されたと判別する(ステップS61;Ye
s)。
On the other hand, when the QoS level 31 is “3” and the task 0, the task 1, the task 2, and the task 3 are being executed, the task 1 enters a sleep state and is invalidated. The control task 11 wakes up and determines that the valid task has been deleted (step S61; Ye).
s).

【0135】QoS制御タスク11は、タスク1を有効
タスクテーブル18から削除し(ステップS62)、シ
ステム全体のCPU利用率Uを算出する(ステップS6
4)。すなわち、QoS制御タスク11は、QoSレベ
ル31の「3」に対する、タスク1を除いたそれぞれの
タスクのCPU利用率が「0.4」、「0.1」、及び
「0.2」であるため、システム全体のCPU利用率U
を「0.7」と算出する。
The QoS control task 11 deletes the task 1 from the valid task table 18 (step S62), and calculates the CPU utilization U of the entire system (step S6).
4). That is, in the QoS control task 11, the CPU utilization of each task excluding the task 1 with respect to “3” of the QoS level 31 is “0.4”, “0.1”, and “0.2”. Therefore, the CPU utilization rate U of the entire system
Is calculated as “0.7”.

【0136】QoS制御タスク11は、求めたCPU利
用率Uが最小値Umin以下であると判別し(ステップ
S65)、QoSレベル31の値を「3」から「4」に
上げる(ステップS66)。
The QoS control task 11 determines that the obtained CPU utilization U is equal to or less than the minimum value Umin (step S65), and raises the value of the QoS level 31 from “3” to “4” (step S66).

【0137】QoS制御タスク11は、QoSレベル3
1の値を「4」に変えても、ステップS64にて再度求
めたCPU利用率Uが最小値Umin以下であると判別
し、QoSレベル31の値を順次上げ、CPU利用率U
を算出する(ステップS63〜S66)。
The QoS control task 11 performs QoS level 3
Even if the value of 1 is changed to "4", it is determined that the CPU utilization U again obtained in step S64 is equal to or less than the minimum value Umin, and the value of the QoS level 31 is sequentially increased, and the CPU utilization U
Is calculated (steps S63 to S66).

【0138】QoS制御タスク11は、QoSレベル3
1の値を「6」に変えたときに、QoSレベル31の最
高値と判別する(ステップS63;Yes)。
The QoS control task 11 performs QoS level 3
When the value of 1 is changed to “6”, it is determined to be the highest value of the QoS level 31 (Step S63; Yes).

【0139】QoS制御タスク11は、QoSレベルを
「6」に設定し、資源割り当てが変更されるタスク0、
及びタスク3に対してQoSハンドラを実行する(ステ
ップS67)。
[0139] The QoS control task 11 sets the QoS level to "6",
Then, a QoS handler is executed for task 3 (step S67).

【0140】上記の第1及び第2の実施の形態では、Q
oSレベル31の値に対するタスクの資源要求量をQo
Sテーブル16等を利用して求めたが、テーブルではな
く、QoS関数を利用してタスクの資源要求量を求めて
もよい。以下、QoS関数を利用してタスクの資源要求
量を求めることを特徴とする、この発明の実施の形態に
かかる変形例について説明する。
In the first and second embodiments, Q
Qo indicates the task resource requirement for the value of oS level 31
Although it is determined using the S table 16 or the like, the resource requirement of the task may be determined using a QoS function instead of the table. Hereinafter, a description will be given of a modification according to the embodiment of the present invention, which is characterized in that the required resource amount of a task is obtained using a QoS function.

【0141】この変形例では、例えば、QoSレベル3
1の値を引数にとり、その引数に対応する各タスクの資
源要求量を返すQoS関数を使用する。また、QoSテ
ーブル/QoSハンドラ登録システムコール14も引数
として、QoSテーブルエントリの代わりにQoS関数
を使用する。
In this modification, for example, QoS level 3
A QoS function that takes a value of 1 as an argument and returns a resource request amount of each task corresponding to the argument is used. Also, the QoS table / QoS handler registration system call 14 uses a QoS function instead of a QoS table entry as an argument.

【0142】具体的に説明すると、例えば、QoS制御
タスク11は、図7の利用率算出処理中に、QoSレベ
ル31に対する各タスクのCPU利用率を求める時(ス
テップS73)と、図4のQoS変更処理中に、変更前
後のQoSレベル31に対する各タスクのCPU利用率
を求める時(ステップS42)とにおいて、QoS関数
を呼び出して、アプリケーションタスクの資源要求量を
決定する。
More specifically, for example, the QoS control task 11 obtains the CPU utilization rate of each task for the QoS level 31 during the utilization rate calculation processing of FIG. 7 (step S73) and the QoS control task of FIG. During the change process, when the CPU utilization of each task for the QoS level 31 before and after the change is obtained (step S42), the QoS function is called to determine the resource request amount of the application task.

【0143】この変形例では、QoSテーブル等を使用
する第1及び第2の実施の形態と異なり、QoSレベル
の数が大きくなると、QoSテーブルエントリのサイズ
が大きくなり、大量のメモリを消費してしまうという問
題がなくなる。すなわち、この変形例では、QoSレベ
ルの大小にかかわらず常に同程度のメモリ使用量に済ま
すことができ、特にタスクの資源要求量が簡単な関数と
して表されるような場合には、第1および第2の実施の
形態の場合よりも、メモリ使用量を大幅に減らすことが
できる。
In this modification, unlike the first and second embodiments using a QoS table or the like, as the number of QoS levels increases, the size of the QoS table entry increases, consuming a large amount of memory. The problem of getting lost is eliminated. That is, in this modification, the same amount of memory can always be used irrespective of the level of the QoS level. In particular, when the resource demand of the task is expressed as a simple function, the first and the second are used. The memory usage can be significantly reduced as compared with the second embodiment.

【0144】以上説明したように、この発明の第2の実
施の形態にかかるQoS制御装置は、タスクの起床など
によりCPU時間を定常的に消費するようになる場合
に、そのタスクのCPU利用率分を加えてもシステム全
体のCPU利用率が最大値を越えないようにQoSレベ
ルを下げる。また、タスクの休眠などによりCPU時間
を消費しなくなる場合に、そのタスクのCPU利用率分
を減らしてもシステム全体のCPU利用率が最低値を越
えないようにQoSレベルを上げる。この結果、タスク
の起床や休眠などにより、システム全体のCPU利用率
が大幅に変化するような場合に、システム全体のCPU
利用率を速やかに適切な値に合わせることができる。
As described above, when the QoS control device according to the second embodiment of the present invention regularly consumes CPU time due to waking up of a task or the like, the CPU utilization of the task is reduced. The QoS level is reduced so that the CPU utilization of the entire system does not exceed the maximum value even if the minutes are added. Further, when CPU time is not consumed due to sleep of a task or the like, the QoS level is raised so that the CPU utilization of the entire system does not exceed the minimum value even if the CPU utilization of the task is reduced. As a result, if the CPU utilization of the entire system changes significantly due to the wake-up or sleep of the task, the CPU of the entire system is changed.
The utilization can be quickly adjusted to an appropriate value.

【0145】なお、この発明の同報システムは、専用の
システムによらず、通常のコンピュータシステムを用い
て実現可能である。例えば、コンピュータに上述のいず
れかを実行するためのプログラムを格納した媒体(フロ
ッピー(登録商標)ディスク、CD−ROM等)から該
プログラムをインストールすることにより、上述の処理
を実行するQoS制御装置を構成することができる。
The broadcast system of the present invention can be realized by using a general computer system without using a dedicated system. For example, a QoS control device that executes the above-described processing is installed in a computer by installing the program from a medium (floppy (registered trademark) disk, CD-ROM, or the like) storing the program for executing any of the above. Can be configured.

【0146】また、コンピュータにプログラムを供給す
るための媒体は、通信媒体(通信回線、通信ネットワー
ク、通信システムのように、一時的かつ流動的にプログ
ラムを保持する媒体)でも良い。例えば、通信ネットワ
ークの掲示板(BBS)に該プログラムを掲示し、これ
をネットワークを介して配信してもよい。そして、この
プログラムを起動し、OSの制御下で、他のアプリケー
ションプログラムと同様に実行することにより、上述の
処理を実行することができる。
The medium for supplying the program to the computer may be a communication medium (medium for temporarily and fluidly holding the program, such as a communication line, a communication network, or a communication system). For example, the program may be posted on a bulletin board (BBS) of a communication network and distributed via the network. Then, by starting this program and executing it in the same manner as other application programs under the control of the OS, the above-described processing can be executed.

【0147】[0147]

【発明の効果】以上説明したように、本発明によれば、
組み込み型リアルタイムシステムにおいて、QoS制御
を高速に行うことができる。
As described above, according to the present invention,
In an embedded real-time system, QoS control can be performed at high speed.

【図面の簡単な説明】[Brief description of the drawings]

【図1】この発明の第1の実施の形態にかかるQoS制
御装置を組み込んだシステムの構成の一例を示すブロッ
ク図である。
FIG. 1 is a block diagram illustrating an example of a configuration of a system incorporating a QoS control device according to a first embodiment of the present invention.

【図2】QoSテーブルの一例を示す模式図である。FIG. 2 is a schematic diagram illustrating an example of a QoS table.

【図3】この発明の第1の実施の形態にかかるQoS制
御処理を説明するためのフローチャートである。
FIG. 3 is a flowchart illustrating a QoS control process according to the first embodiment of the present invention.

【図4】この発明の第1の実施の形態にかかるQoS変
更処理を説明するためのフローチャートである。
FIG. 4 is a flowchart illustrating a QoS change process according to the first embodiment of the present invention.

【図5】この発明の第2の実施の形態にかかるQoS制
御装置を組み込んだシステムの構成の一例を示すブロッ
ク図である。
FIG. 5 is a block diagram illustrating an example of a configuration of a system incorporating a QoS control device according to a second embodiment of the present invention.

【図6】この発明の第2の実施の形態にかかるQoS制
御処理を説明するためのフローチャートである。
FIG. 6 is a flowchart illustrating a QoS control process according to a second embodiment of the present invention.

【図7】この発明の第2の実施の形態にかかるシステム
全体のCPU利用率を求める利用率算出処理を説明する
ためのフローチャートである。
FIG. 7 is a flowchart illustrating a utilization rate calculation process for determining a CPU utilization rate of the entire system according to the second embodiment of the present invention;

【符号の説明】[Explanation of symbols]

1 CPU 2 メモリ 3 ROM 10 OS 11 QoS制御タスク 12 アイドル時間監視タスク 13 DLミス処理タスク 14 QoSテーブル/QoSハンドラ登録システムコ
ール 15 有効タスク登録/削除システムコール 16 QoSテーブル 17 QoSハンドラテーブル 18 有効タスクテーブル 19 リアルタイムカーネル 20−1(20−n) アプリケーションタスク 21−1(21−n) QoSハンドラ 22−1(22−n) QoSテーブルエントリ 30 API 31 QoSレベル 40 API 41 QoS制御タスク
DESCRIPTION OF SYMBOLS 1 CPU 2 Memory 3 ROM 10 OS 11 QoS control task 12 Idle time monitoring task 13 DL miss processing task 14 QoS table / QoS handler registration system call 15 Effective task registration / deletion system call 16 QoS table 17 QoS handler table 18 Effective task table 19 Real-time kernel 20-1 (20-n) Application task 21-1 (21-n) QoS handler 22-1 (22-n) QoS table entry 30 API 31 QoS level 40 API 41 QoS control task

───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開2000−155693(JP,A) 特開 平11−66018(JP,A) 特開 昭60−238938(JP,A) 中島達夫、”Dynamic QOS Control and Resou rce Rservation”、電子 情報通信学会技術研究報告、Vol. 97、No.569(CPSY97−112〜 122)、社団法人電子情報通信学会・発 行(1998年2月25日)、pp.25〜32 (58)調査した分野(Int.Cl.7,DB名) G06F 9/46 G06F 15/16 G06F 15/00 G06F 1/00 JICSTファイル(JOIS) CSDB(日本国特許庁)──────────────────────────────────────────────────続 き Continuation of the front page (56) References JP-A-2000-155563 (JP, A) JP-A-11-66018 (JP, A) JP-A-60-238938 (JP, A) Tatsuo Nakajima, “Dynamic QOS Control and Resource Reservation, "IEICE Technical Report, Vol. 569 (CPSY97-112 to 122), The Institute of Electronics, Information and Communication Engineers, published (February 25, 1998), pp. 25-32 (58) Fields investigated (Int. Cl. 7 , DB name) G06F 9/46 G06F 15/16 G06F 15/00 G06F 1/00 JICST file (JOIS) CSDB (Japan Patent Office)

Claims (2)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】コンピュータシステム内の資源を管理する
OSの管理下において起動されるタスクに対するサービ
スの品質(QoS)を制御するQoS制御装置であっ
て、 予め定められたQoSの等級における各等級に対応
するタスク毎の資源の割当量を記憶する割当量記憶手段
と、 コンピュータシステム内のQoSの現在の等級を示すレ
ベル値を記憶するレベル値記憶手段と、 前記レベル値記憶手段に記憶されたレベル値から定まる
前記割当量記憶手段に記憶された資源の割当量に応じて
各タスクが起動されているコンピュータシステムから、
資源の利用率を取得する利用率取得手段と、 前記利用率取得手段により取得された資源の利用率が予
め定められた範囲内に収まるように、前記レベル値記憶
手段に記憶されたレベル値を変更し、変更したレベル値
から定まる前記割当量記憶手段に記憶された割当量に従
って、タスクに対するQoSを変更するQoS制御手段
と、 少なくとも起動及び起床によりコンピュータシステム内
の資源を定常的に利用することとなる有効なタスクを管
理する有効タスク管理手段とを備え、 前記利用率取得手段は、前記有効タスク管理手段に管理
された有効なタスクに対して、コンピュータシステム内
の資源の利用率を取得し、 前記QoS制御手段は、前記利用率取得手段により取得
された資源の利用率が予め定められた最高値を超えてい
る場合に、前記割当量記憶手段に記憶された少なくとも
1つのタスクに対する資源の割当量が減少するように、
前記レベル値記憶手段に記憶されたレベル値を変更し、
対応するタスクに対するQoSを変更する、 ことを特徴とするQoS制御装置。
1. Managing resources in a computer system
Service for tasks started under OS control
QoS control device that controls the quality of service (QoS)
Te, corresponding to each class in the class of QoS that a predetermined
Allocation storage means for storing the allocation of resources for each task to be performed
And a report showing the current grade of QoS in the computer system.
A level value storage means for storing a bell values determined from the stored level value in the level value storage unit
According to the resource quota stored in the quota storage means
From the computer system where each task is running,
A utilization rate obtaining means for obtaining the utilization rate of resources utilization of resources acquired by the usage rate obtaining means pre
The level value is stored so that it falls within a predetermined range.
Change the level value stored in the means, and change the changed level value
From the quota stored in the quota storage means determined from
QoS control means for changing the QoS for a task
And at least start up and wake up in the computer system
Manages effective tasks that regularly use the resources of
And a valid task management means for management, the utilization rate acquisition means, managed by the enable task manager
In the computer system for a valid task
And the QoS control unit acquires the utilization rate of the resource by the utilization rate acquiring unit.
Resource utilization exceeds the predetermined maximum
In this case, at least the
To reduce the amount of resources allocated to one task,
Changing the level value stored in the level value storage means,
A QoS controller for changing a QoS for a corresponding task .
【請求項2】コンピュータシステム内の資源を管理する
OSの管理下において起動されるタスクに対するサービ
スの品質(QoS)を制御するQoS制御装置であっ
て、 予め定められたQoSの等級における各等級に対応する
タスク毎の資源の割当 量を記憶する割当量記憶手段と、 コンピュータシステム内のQoSの現在の等級を示すレ
ベル値を記憶するレベル値記憶手段と、 前記レベル値記憶手段に記憶されたレベル値から定まる
前記割当量記憶手段に記憶された資源の割当量に応じて
各タスクが起動されているコンピュータシステムから、
資源の利用率を取得する利用率取得手段と、 前記利用率取得手段により取得された資源の利用率が予
め定められた範囲内に収まるように、前記レベル値記憶
手段に記憶されたレベル値を変更し、変更したレベル値
から定まる前記割当量記憶手段に記憶された割当量に従
って、タスクに対するQoSを変更するQoS制御手段
と、 少なくとも終了及び処理待ちによりコンピュータシステ
ム内の資源を定常的に利用しなくなる無効なタスクを管
理する無効タスク管理手段とを備え、 前記利用率取得手段は、前記無効タスク管理手段に管理
された無効なタスクを除いて、コンピュータシステム内
の資源の利用率を取得し、 前記QoS制御手段は、前記利用率取得手段により取得
された資源の利用率が予め定められた最小値を超えてい
ない場合に、前記割当量記憶手段に記憶された少なくと
も1つのタスクに対する資源の割当量が増加するよう
に、前記レベル値記憶手段に記憶されたレベル値を変更
し、対応するタスクに対するQoSを変更する、 ことを特徴とするQoS制御装置。
2. Managing resources in a computer system.
Service for tasks started under OS control
QoS control device that controls the quality of service (QoS)
Te, corresponding to each class in the class of QoS that a predetermined
Quota storage means for storing the quota of resources for each task; and a report indicating the current grade of QoS in the computer system.
A level value storage means for storing a bell values determined from the stored level value in the level value storage unit
According to the resource quota stored in the quota storage means
From the computer system where each task is running,
A utilization rate obtaining means for obtaining the utilization rate of resources utilization of resources acquired by the usage rate obtaining means pre
The level value is stored so that it falls within a predetermined range.
Change the level value stored in the means, and change the changed level value
From the quota stored in the quota storage means determined from
QoS control means for changing the QoS for a task
And the computer system at least terminates and waits for processing.
Manage invalid tasks that do not regularly use resources in the system.
And a disable task management means for management, the utilization rate acquisition means, managed by the disable task manager
In the computer system, except for invalid tasks
And the QoS control unit acquires the utilization rate of the resource by the utilization rate acquiring unit.
Resource utilization exceeds the predetermined minimum
If not, at least the amount stored in the quota storage means
Also increase the amount of resources allocated to one task
Changes the level value stored in the level value storage means.
And changing the QoS for the corresponding task .
JP32892998A 1998-11-19 1998-11-19 QoS controller Expired - Fee Related JP3189810B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP32892998A JP3189810B2 (en) 1998-11-19 1998-11-19 QoS controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP32892998A JP3189810B2 (en) 1998-11-19 1998-11-19 QoS controller

Publications (2)

Publication Number Publication Date
JP2000155695A JP2000155695A (en) 2000-06-06
JP3189810B2 true JP3189810B2 (en) 2001-07-16

Family

ID=18215682

Family Applications (1)

Application Number Title Priority Date Filing Date
JP32892998A Expired - Fee Related JP3189810B2 (en) 1998-11-19 1998-11-19 QoS controller

Country Status (1)

Country Link
JP (1) JP3189810B2 (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4856983B2 (en) * 2006-03-02 2012-01-18 株式会社日立製作所 Storage system and scheduling method
JP4516898B2 (en) * 2005-08-04 2010-08-04 日本電気株式会社 Task controller
JP2007122490A (en) * 2005-10-28 2007-05-17 Kyocera Corp Computer
WO2007077600A1 (en) * 2005-12-28 2007-07-12 Fujitsu Limited Administration program, administration method and administration apparatus
JP2011192250A (en) 2010-02-22 2011-09-29 Canon Inc Cloud computing system, and control method therefor
US8938740B2 (en) 2010-03-11 2015-01-20 Nec Corporation Resource allocation apparatus, resource allocation method, and computer readable medium
US20220171663A1 (en) * 2020-11-30 2022-06-02 Netapp, Inc. Systems and Methods for Resource Lifecycle Management

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
中島達夫、"Dynamic QOS Control and Resource Rservation"、電子情報通信学会技術研究報告、Vol.97、No.569(CPSY97−112〜122)、社団法人電子情報通信学会・発行(1998年2月25日)、pp.25〜32

Also Published As

Publication number Publication date
JP2000155695A (en) 2000-06-06

Similar Documents

Publication Publication Date Title
US7617375B2 (en) Workload management in virtualized data processing environment
US7634388B2 (en) Providing policy-based operating system services in an operating system on a computing system
US7698531B2 (en) Workload management in virtualized data processing environment
US8386808B2 (en) Adaptive power budget allocation between multiple components in a computing system
US5748468A (en) Prioritized co-processor resource manager and method
US8397239B2 (en) Virtual computer systems and computer virtualization programs
US5692204A (en) Method and apparatus for computer system power management
US8997171B2 (en) Policy based application suspension and termination
US8195859B2 (en) Techniques for managing processor resource for a multi-processor server executing multiple operating systems
US8429666B2 (en) Computing platform with resource constraint negotiation
WO2018120845A1 (en) Resource allocation method and resource manager
JPH10283211A (en) Processor resource management method for multi-system environment
US9021243B2 (en) Method for increasing free memory amount of main memory and computer therefore
US20080263292A1 (en) System and method for managng memory compression transparent to an operating system
JP2008505389A (en) Method, program storage device, and apparatus for automatically adjusting a virtual memory subsystem of a computer operating system
EP2754042A1 (en) Resuming applications and/or exempting applications from suspension
KR20050076747A (en) Method and apparatus for reducing power consumption in a logically partitioned data processing system
JP2012058815A (en) Computer system and control method of computer system
US20050015764A1 (en) Method, system, and program for handling device interrupts in a multi-processor environment
US7698530B2 (en) Workload management in virtualized data processing environment
JP3189810B2 (en) QoS controller
JP3906594B2 (en) CPU capacity adjustment method
JP2002529850A (en) Scheduling requests in the system
JP2009237858A (en) Server task management program and server task management method
JP2010026828A (en) Method for controlling virtual computer

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20010417

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090518

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100518

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110518

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110518

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120518

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120518

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130518

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140518

Year of fee payment: 13

LAPS Cancellation because of no payment of annual fees