JPH10289116A - プロセッサ・リソース管理装置 - Google Patents
プロセッサ・リソース管理装置Info
- Publication number
- JPH10289116A JPH10289116A JP10053657A JP5365798A JPH10289116A JP H10289116 A JPH10289116 A JP H10289116A JP 10053657 A JP10053657 A JP 10053657A JP 5365798 A JP5365798 A JP 5365798A JP H10289116 A JPH10289116 A JP H10289116A
- Authority
- JP
- Japan
- Prior art keywords
- real
- time
- application
- processor
- time application
- 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.)
- Granted
Links
- 238000012545 processing Methods 0.000 claims description 40
- 238000000034 method Methods 0.000 claims description 14
- 230000002265 prevention Effects 0.000 claims description 2
- 239000000725 suspension Substances 0.000 claims description 2
- 238000012795 verification Methods 0.000 claims description 2
- 230000006870 function Effects 0.000 description 34
- 238000007726 management method Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 241001481787 Capricornis sumatraensis Species 0.000 description 1
- JAWMENYCRQKKJY-UHFFFAOYSA-N [3-(2,4,6,7-tetrahydrotriazolo[4,5-c]pyridin-5-ylmethyl)-1-oxa-2,8-diazaspiro[4.5]dec-2-en-8-yl]-[2-[[3-(trifluoromethoxy)phenyl]methylamino]pyrimidin-5-yl]methanone Chemical compound N1N=NC=2CN(CCC=21)CC1=NOC2(C1)CCN(CC2)C(=O)C=1C=NC(=NC=1)NCC1=CC(=CC=C1)OC(F)(F)F JAWMENYCRQKKJY-UHFFFAOYSA-N 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
なくスムーズに配信する一方、システムで同時に実行さ
れる他の作業に所望の量のプロセッサ・リソースを提供
する装置を提供する。 【解決手段】 ある量のプロセッサ・リソースがコンピ
ュータ装置のリアルタイム・アプリケーションに割当て
られる。この量は、リアルタイム・アプリケーションの
グループに選択された限度を超えない。グループはリソ
ースが割当てられたリアルタイム・アプリケーションを
含む。選択された量のプロセッサ・リソースは、装置の
他のタイプのアプリケーションや作業を実行するため、
引き続き利用できる。リアルタイム・アプリケーション
の処理の間に、プロセッサ・リソースの使用量は選択さ
れた最大値を超えず、よってプロセッサ・リソースがリ
アルタイム・アプリケーションによって独占されず、装
置の他のタイプの作業を処理できるようにする。
Description
ュータ装置のプロセッサ・リソース管理に関し、特に、
他のタイプのアプリケーションや作業を同じシステム上
で同時に実行できるようにしながら、割込みのないスム
ーズなリアルタイム・データ・ストリームを提示するの
に適したプロセッサ・リソースを提供することに関す
る。
タイム・データ・ストリームを配信することは大きな課
題である。リアルタイム・データ・ストリームには、例
えば、ビデオ、オーディオ、及びマルチメディア等のデ
ータ・ストリームが含まれる。現在、リアルタイム・デ
ータ・ストリームを配信するためのアプローチは、構成
管理と高ディスパッチ優先度の2つがある。それぞれに
ついて説明する。
データ・ストリームの配信にサーバが専用される。特に
サーバは、リアルタイム・データ・ストリームを所与の
レートで配信するために、充分な容量を持たせて構成さ
れる。サーバはリアルタイム・データ・ストリームの配
信専用なので、リアルタイム・ストリームはシステム・
リソースを独占し、他のタイプの作業については、残る
としてもごくわずかなリソースしか残らない。
リアルタイム・アプリケーションはディスパッチ優先度
がかなり高い状態で実行される。この手法は専用システ
ムで実行する必要はないが、この場合でも、リアルタイ
ム・アプリケーションをかなり高い優先度で実行するこ
とによって、実行に充分なリソースをシステムの他の作
業が受け取ることに対する制御あるいは保証はない。
・データ・ストリームを割込みなくスムーズに配信する
一方、システムで同時に実行される他の作業に所望の量
のプロセッサ・リソースを提供する機構が求められる。
またリアルタイム・データ・ストリームに割当てられる
リソースの量に限度を設け、これにより、選択されたリ
ソース量を非リアルタイム作業に利用できる管理機構も
求められる。
ピュータ装置のプロセッサ・リソースを管理する装置を
提供することにより克服され、他の利点も与えられる。
この装置は、1つの例では、コンピュータ装置のリアル
タイム・アプリケーションに、ある量のプロセッサ・リ
ソースが割当てられるようにされたリソース・マネージ
ャを含む。この量は、1つ以上のリアルタイム・アプリ
ケーションのグループのために選択された限度を超える
ことはない。選択された量のプロセッサ・リソースは、
コンピュータ装置の少なくとも1つの非リアルタイム・
アプリケーションに引き続き利用できる。また装置は、
リアルタイム・アプリケーションを処理する手段を含
む。
ルタイム・アプリケーションのグループのために選択さ
れたプロセッサ・リソースの最大量をリアルタイム・ア
プリケーションが超えることを防ぐ手段を含む。
ャは、リアルタイム・データ・レートを配信するため
の、所与の時間内の最大サービス・コストを求めるよう
にされた確認ユニット、リアルタイム・アプリケーショ
ンのリアルタイム・データ・ストリームを配信するサー
ビス・レートを計算するようにされた計算ユニット、及
びサービス・レートが 限度内にあるときに、充分な量
のプロセッサ・リソースがリアルタイム・データ・スト
リームに利用できることを指定するようにされたインジ
ケータを含む。
のプロセッサ・リソースを管理する装置が提供される。
1つの例として、この装置はコンピュータ装置のリアル
タイム・アプリケーションのグループに割当て可能な、
選択された量のプロセッサ・リソース、及びコンピュー
タ装置の非リアルタイム・アプリケーションに予約され
た、選択された量のプロセッサ・リソースを含む。
・アプリケーションによって利用される、ある量のプロ
セッサ・リソースを選択でき、選択された量のリソース
を非リアルタイム・アプリケーションに予約できること
である。また本発明の管理機能により、リアルタイム・
アプリケーションがコンピュータ装置の制限を超過させ
ることはなくなる。リアルタイム・アプリケーション
は、割込みなくスムーズに実行でき、他のタイプの作業
もシステム上で処理できる。
プリケーション、及びバッチ処理、トランザクション処
理等、他のタイプのアプリケーションも、汎用システム
(つまり非専用システム)で同時に実行できる。特にリ
アルタイム・アプリケーションには、リアルタイム・ア
プリケーションがシステムの制限を超過させないよう
に、一定量のプロセッサ・リソースが与えられる。他の
タイプのアプリケーション(つまり非リアルタイム・ア
プリケーション)にも、ある量のプロセッサ・リソース
が処理のため与えられる。非リアルタイム・アプリケー
ションは、ここで用いているとおり、例えば、バッチ・
アプリケーション、トランザクション処理アプリケーシ
ョン、非リアルタイムにシステムで実行される他の作業
等、リアルタイムに実行されない任意のアプリケーショ
ンを含む。
コンピュータ装置の1つの例を図1に示す。以下、これ
について詳しく説明する。
にオペレーティング・システム102、少なくとも1つ
のリアルタイム・サーバ・アプリケーション104、及
び他のタイプのアプリケーション106が含まれる。リ
アルタイム・サーバ・アプリケーション104はリアル
タイム・データを配信し、作業単位108を含む。作業
単位は、例えば、コンピュータ装置の目的である有益な
作業を行うアプリケーション・プログラムである。他の
タイプのアプリケーション106は、例えば、バッチ・
アプリケーション110とトランザクション処理アプリ
ケーション112を含む。これも作業単位を含む。リア
ルタイム・サーバ・アプリケーションとトランザクショ
ン処理アプリケーションは、例えば、コンピュータ装置
100に接続されたワークステーション側のサービング
・クライアント114である。
つの例として、International Business Machines Corp
orationのMVS(多重仮想記憶)オペレーティング・
システムである。ただしこれは1つの例にすぎない。他
のオペレーティング・システムも本発明の主旨または範
囲から逸脱することなく使用できる。ある実施例では、
オペレーティング・システム102は作業負荷マネージ
ャ116、システム・リソース・マネージャ118、デ
ィスパッチャ120、及び作業単位制御ブロック122
を含む。以下、それぞれについて詳しく説明する。
装置100の作業負荷を管理する。作業負荷マネージャ
のタスクの1つは、本発明の管理機能によって用いられ
るある値を入力としてコンピュータ装置に読込むことを
含む。例えば、作業負荷マネージャはプロセッサ消費限
度値とプロセッサ消費最大値を読込む。これらの値は、
リアルタイム・アプリケーション(つまりリアルタイム
・データを配信するアプリケーション)及び非リアルタ
イム・アプリケーションに割当てられるリソースの量を
確認するために用いられる。1つの例として、これらの
値はシステム管理者によって設定される。
リアルタイム・アプリケーションに割当てることのでき
るプロセッサ・リソースの量を指定する。この値は、シ
ステムの他のタイプのアプリケーションや作業が同時に
実行できるように選択される。後述するように、異なる
リアルタイム・アプリケーションを異なる限度値に関連
付ける、または同じ限度値にすることができる。同様
に、プロセッサ消費限度値は非リアルタイム・アプリケ
ーションに関連付けることができる。
リアルタイム・アプリケーション、または非リアルタイ
ム・アプリケーションによって使用できるプロセッサ・
リソースの量に対するキャップを指定する。ある実施例
で、これらの値は限度値よりも大きい。これは、処理の
間に、データ・ストリームの配信に一時的なサージがあ
り得、これにより割当て済みリソースの量が不足すると
されるからである。従って、最大値はそれぞれ、処理側
アプリケーションが、プロセッサ消費限度値により指定
されたものより少し多くプロセッサを消費する必要のあ
る場合を考慮してバッファを与える。アプリケーション
によって消費されるリソースの量はこのキャップを超え
ない。これはシステムに追加される作業に、選択された
量のプロセッサ・リソースが与えられることを保証す
る。後述するように、異なるアプリケーションを異なる
最大値に関連付けることができ、または同じ最大値にす
ることができる。
大値はプロセッサ・サービス単位として表される。ただ
しこれは1つの例にすぎない。当業者には明らかなよう
に、他の測定単位も、本発明の主旨または範囲から逸脱
することなく選択できる。
読込みに続いて、各プロセッサの消費限度値と消費最大
値のペアを取り、アプリケーションの個々の作業単位が
割当てられるリソース・グループを設定する。これによ
り、異なる限度値と最大値を異なるアプリケーションに
指定できる。例えば、リアルタイム・アプリケーション
A、Bをリソース・グループ1に割当て、限度値を50
0、最大値を550とすることができる。また、リアル
タイム・アプリケーションCがリソース・グループ2に
割当てられ、限度値200、最大値210が取られる。
同様に、非リアルタイム・アプリケーションD、Eがリ
ソース・グループ3に割当てられ、限度値2500とさ
れ、最大値は使用されない。これらの例で、リアルタイ
ムと非リアルタイムのアプリケーションは別々のグルー
プである。これは1つの例にすぎない。他の実施例で、
グループにタイプの異なるアプリケーションを追加する
こともできる。限度値と最大値はグループに対して選択
される。従ってグループは全体としてこれらの値を超え
ることはない。
ープ・テーブル・エントリ130によってオペレーティ
ング・システムに割当てられたメモリで表される。ある
実施例で、リソース・グループ・テーブル・エントリ1
30は次を含む。 (a)リソース・グループ名132。作業負荷マネージ
ャへの入力値であり、このリソース・グループ・エント
リに対応したリソース・グループの名前を示す。 (b)プロセッサ消費最大値134。これは先に述べた
ように、このリソース・グループのアプリケーションに
よって消費されることが許可されたプロセッサ・リソー
スの量に対するキャップを指定する入力値である。 (c)プロセッサ消費限度値136。これは先に述べた
ように、このグループのアプリケーションに割当てるこ
とのできるプロセッサ・リソースの量を指定する入力値
である。 (d)プロセッサ利用状況データ138。これは、後述
するさまざまな測定データ及び計算データを含む。 (e)キャップ・スライス・パターン140。これは、
詳細は後述するが、リソース・グループの作業単位にキ
ャップを付けるときの特定タイム・スライスを示す計算
値である。
は、相対的重要度を含めて、コンピュータ装置100の
性能目標を入力として読込み、個々の作業単位(例え
ば、リソース・グループの作業単位)が割当てられるユ
ーザ性能目標クラスを設定する。性能目標は、リアルタ
イム及び非リアルタイムの両方のアプリケーションに関
連付けられる。目標クラスがリソース・グループに関連
付けられる可能性は五分五分である。リソース・グルー
プの一部ではない作業単位も目標クラスの一部になり得
る。また、クラスは2つ以上をリソース・グループに関
連付けることができる。
ては、J.D.Amanらによる1995年12月5日付米国
特許番号第5473773号、"Apparatus and Method
forManaging A Data Processing System Workload Acco
rding to Two or More Distinct Processing Goal Type
s"、及びC.K.Eilertらによる1995年2月3日付米
国特許出願番号第08/383042号、"Multi-Syste
m Resource Capping"を参照されたい。
・テーブル・エントリ142によってオペレーティング
・システムに割当てられたメモリで表される。クラス・
テーブル・エントリ142は、例えば次を含む。 (a)リソース・グループ名144。これはリソース・
グループがあると仮定して、ユーザ性能目標クラスが属
するリソース・グループを指定する入力値である。リソ
ース・グループがなければ、このフィールドはブランク
のままである。 (b)ユーザ性能目標146。これはクラスの特定の性
能目標を示す入力値である。性能目標の例として所望の
応答時間がある。 (c)ユーザ性能目標の相対重要度148。これもコン
ピュータ装置に対するこの目標の重要度を指定する入力
値である。 (d)ディスパッチ優先度150。これはコントローラ
158によってセットされる。このクラスの作業単位が
(全体として)ディスパッチされる順序を、システムの
他のクラスに対して示す。 (e)リアルタイム・サーバ・ビット152。これはこ
のクラスの作業単位がリアルタイム・サービング・アプ
リケーションの一部かどうかを示す。このビットは、後
述するように本発明に従ってセットされる。
業負荷マネージャの他にシステム・リソース・マネージ
ャ118を含む。システム・リソース・マネージャはオ
ペレーティング・システムのコンポーネントであり、コ
ンピュータ装置のリソース(CPU利用率等)を管理す
る。ある実施例でシステム・リソース・マネージャ11
8はSGDPC(system goal driven performance con
troller)158を含む。SGDPCは、後述するよう
に、オペレーティング・システムに適応性と自己調整性
を持たせるよう、性能問題の増分検出と補正を行うた
め、フィードバック・ループを与える。
る1995年12月5日付米国特許番号第547377
3号、"Apparatus and Method for Managing A Data Pr
ocessing System Workload According To Two or More
Distinct Processing Goal Types"、C.K.Eilertらに
よる1995年2月3日付米国特許出願番号第08/3
83042号、"Multi-System Resource Capping"、及
びC.K.EilertとP.Yocomによる1995年2月3日付
米国特許出願番号第08/383168号、"Apparatus
and Method for Managing A Distributed Data Proces
sing System Workload According To A Plurality of D
istinct Processing Goal Types"を参照されたい。
る他の詳細について、ここで詳しく説明する。コントロ
ーラ158は、本発明に従って、本発明のプロセッサ利
用状況データの処理、ユーザ性能目標の達成を管理する
ための性能インデックスの計算とシステム・リソース管
理の調整、及びリアルタイム・アプリケーションがシス
テムの制限を超過させないためのプロセッサ・リソース
消費量のキャッピングの調整を担当する。以下、それぞ
れについて説明する。
らにディスパッチャ120を含む。ディスパッチャ12
0は、コンピュータ装置100によって次に実行される
作業単位を選択するために用いられる。各作業単位は作
業単位制御ブロック(WUCB)122の1つによって
表される。作業単位制御ブロックはそれぞれオペレーテ
ィング・システム102に割当てられたメモリに格納さ
れ、例えば、次の3つのディスパッチ制御フィールドを
含む。 (a)ディスパッチ優先度フィールド154。これはデ
ィスパッチャがディスパッチ作業に取り掛かる順序をデ
ィスパッチャ120に示す。ディスパッチ優先順位の1
つの例を図2に示す。図2に示すように、ある実施例で
最大のディスパッチ優先度はオペレーティング・システ
ム、ディスパッチャ、システム・リソース・マネージ
ャ、及びSGDPCに予約され、次に最大の優先度は、
リアルタイム・アプリケーションの作業単位及びシステ
ム・ファンクションのために使われる。トランザクショ
ン及びバッチ処理のアプリケーションの作業単位には複
数の低い優先度が予約される。これら複数の低優先度
は、先に述べた特許及び特許出願に詳しく述べられてい
るとおり、SGDPCの操作によって割当てられる。 (b)優先使用ビット・フィールド156。これは関連
付けられた作業単位を、レディ状態になってすぐにディ
スパッチ対象として考慮するかどうかをディスパッチャ
に示す。 (c)キャップ・ビット・フィールド158。これは関
連付けられた作業単位をディスパッチできるかどうかを
ディスパッチャに示す。このビットは、ここで詳しく述
べているように、作業単位の特定のグループのために許
可されたプロセッサ実行時間の量を制御するために用い
られる。
サ・リソース(CPU時間等)をリアルタイム・アプリ
ケーションに、また選択された量をシステムの他のタイ
プの作業に提供するため、コンピュータ装置100のさ
まざまなコンポーネントが用いられる。本発明に従っ
て、リアルタイム・アプリケーションの処理に関連付け
られるロジックの実施例について、図3を参照して詳し
く説明する。
タイム・アプリケーションがシステム・リソース・マネ
ージャ118に対して自身を識別する(ステップ30
2)。これによりリソース・マネージャは、リアルタイ
ム・アプリケーションが割込みなくスムーズに処理を行
う一方、システムの他の作業の制限を超過させないため
充分なリソースを持つのに必要な調整を行うことができ
る。システム・リソース・マネージャに対してアプリケ
ーションを識別する手順の1つを、図4を参照して詳し
く説明する。図4に示したファンクションは、1つの例
ではシステム・リソース・マネージャ118によって実
行される。
クラス・テーブル・エントリ142のディスパッチ優先
度150と、識別側リアルタイム・アプリケーションに
関連付けられた各作業単位制御ブロック122の優先度
154が"次に最大の優先度"に設定される。これはリア
ルタイム・アプリケーションのために指定される(ステ
ップ402)。
のための個々の作業単位制御ブロック122の各優先使
用ビット156がセットされ、ディスパッチについて関
連付けられた作業単位を、利用できるようになればすぐ
に考慮すべきことがディスパッチャに示される(ステッ
プ404)。
のリアルタイム・サーバ・ビット152がセットされ、
クラスの作業単位がリアルタイム・サーバであり、ディ
スパッチ優先度が調整されないことがSGDPCコント
ローラ158に示される(ステップ406)。
及びリアルタイム・サーバ・ビットのセット後、識別フ
ァンクションは完了する。従って、図3に戻るが、リア
ルタイム・アプリケーションの次のタスクは、リソース
をアプリケーションに割当てることである(ステップ3
04)。
して詳しく説明する。図6のロジックはさまざまなプロ
セッサ利用状況データを使用する。プロセッサ利用状況
データについては図5を参照して詳しく説明する。デー
タの説明の後、割当てロジックの実施例について説明す
る。
状況データ138の1つの例は次を含む。 (a)グループ・サービス・レート502。これはグル
ープの作業単位によって消費された現在のサービス(C
PU消費等)を示す。このレートは普通はサービス単位
/秒で表されるが、これは必要ではない。 (b)前の割当て済みリアルタイム・レート504。こ
れは性能コントローラが起動されたとき(例えば10秒
毎)SGDPCによって埋められる。性能コントローラ
は現在の割当て済みリアルタイム・レート(後述)を前
の割当て済みリアルタイム・レートにコピーする。 (c)現在の割当て済みリアルタイム・レート506。
これはグループのリアルタイム・データ・ストリームを
配信するために現在割当てられている容量単位の量(K
B/秒等)を表す。ディスクから通信ネットワークへデ
ータのバイトを送るプロセッサ・コストは、容量単位と
してKB/秒を使用する定数に充分近く、KB/秒はリ
アルタイム・サービング・アプリケーションには有意義
な単位である。リアルタイム・サービング・アプリケー
ションは容量をKB/秒で要求する。現在割当てられて
いるリアルタイム・レートは、次に述べる割当てファン
クションと割当て解除ファンクションによって埋められ
る。 (d)前の一時停止リアルタイム・レート508。これ
はコントローラ158が起動したとき(例えば10秒
毎)SGDPCコントローラ158によって埋められ
る。コントローラ158は現在の一時停止リアルタイム
・レート(後述)を前の一時停止リアルタイム・レート
のフィールドにコピーする。 (e)現在の一時停止リアルタイム・レート510。こ
れはグループの一時停止した任意のリアルタイム・デー
タ・ストリームのデータ・レートの和を含む(後述)。 (f)割当て済みリアルタイム・レート・ウィンドウ5
12。これは、例えば18のウィンドウ枠を含むデータ
のウィンドウである。特に割当て済みリアルタイム・レ
ートは、移動するタイム・ウィンドウで維持される。移
動するタイム・ウィンドウは、例えば最近の3分として
定義される。180秒のウィンドウは、それぞれが10
秒である18のインターバル(18のウィンドウ枠とい
う)に分けられ、18の要素配列として実現される。割
当て済みリアルタイム・レート・ウィンドウ枠は、コン
トローラ158が10秒毎に起動されたとき、前の10
秒間隔の間にリアルタイム・サービング・アクティビテ
ィがあった場合はコントローラ158によって埋められ
る。割当て済みリアルタイム・ウィンドウ枠は、前の割
当て済みリアルタイム・レートと現在の割当て済みリア
ルタイム・レートの平均を取ることによって計算され
る。 (g)リアルタイム・サービス・レート・ウィンドウ5
14。もう1つのデータ・ウィンドウであり、例えば1
8のウィンドウ枠を含む。リアルタイム・サービス・レ
ートは、リアルタイム・データ・ストリームを配信する
リアルタイム・アプリケーションの作業単位によって消
費されたプロセッサ・サービスを表す。リアルタイム・
サービス・レート・ウィンドウ枠は、コントローラ15
8が10秒毎に起動されたとき、前の10秒間隔の間に
リアルタイム・サービング・アクティビティがあった場
合に、コントローラ158によって埋められる。リアル
タイム・サービス・レート・ウィンドウ枠の値はグルー
プ・サービス・レートのフィールドからコピーされる。 (h)リアルタイム一時停止レート・ウィンドウ51
6。これは第3のデータ・ウィンドウで、これも例えば
18のウィンドウ枠を含む。リアルタイム一時停止レー
トは、現在一時停止しているこのグループのリアルタイ
ム・データ・ストリームを表すデータ・レートである。
他の2つのデータのウィンドウと同様に、一時停止レー
ト・ウィンドウ枠は、コントローラ158が10秒毎に
起動されるとき、前の10秒間隔の間にリアルタイム・
サービング・アクティビティがあった場合は、コントロ
ーラ158によって埋められる。一時停止リアルタイム
・レート・ウィンドウ枠の値は、前の一時停止リアルタ
イム・レートと現在の一時停止リアルタイム・レートの
平均を取ることによって計算される。 (i)リアルタイム・ウィンドウ枠インデックス51
8。これはウィンドウ枠配列要素の現在のインデックス
を表す。現在の10秒間隔のデータは、現在のウィンド
ウ枠インデックスによってインデックスが付けられたウ
ィンドウ枠配列要素に格納される。各ウィンドウ配列の
18の配列要素がローテーション方式で用いられる。1
8個目の要素が用いられた後、次の時間間隔のデータが
第1要素に格納され、その要素の古いデータと置き換え
られる。リアルタイム・ウィンドウ枠インデックスは、
前の10秒間隔の間にリアルタイム・サービング・アク
ティビティがあった場合に、コントローラ158によっ
て進められる。リアルタイム・サービング・アクティビ
ティがないときはインデックスは進められない。これに
より、再びリアルタイム・サービング・アクティビティ
が開始されたときに用いられるよう、KB/秒当たりの
前のサービス・コストが保存される。
状況データは、本発明の割当てファンクションの実行時
に用いられる。一般的に、システム・リソース・マネー
ジャの割当てファンクションは、リアルタイム・データ
・ストリームを配信するためのプロセッサ容量を割当
て、保証するために、リアルタイム・サーバによって起
動される。割当てファンクションの入力値は、リアルタ
イム・ストリームのKB/秒データ・レートである。割
当てのとき、リアルタイム・データ・ウィンドウ枠がス
キャンされ、ウィンドウの18の枠で転送されたKB/
秒当たりの最大プロセッサ・サービス・コストが検出さ
れる。次にこの値により、新しいストリームのサービス
要件が確認される。その後、システム管理者によって指
定されたグループ・サービス限度136の範囲内で、必
要なプロセッサ容量が利用できるかどうか確認される。
割当てファンクションの実施例の詳細については、さら
に図6を参照して説明する。
デックス518がセットされ、ウィンドウ枠をスキャン
するときの最初のウィンドウ枠がポイントされて、高レ
ートと呼ばれる変数が0に初期化される(ステップ60
0)。その後、KB/秒(データ・レート)を配信する
サービス・コストが次のように計算される。
514÷(割当て済みリアルタイム・レート・ウィンド
ウ512−リアルタイム一時停止レート・ウィンドウ5
16)(ステップ602)
ービス・レートであり、これはまた新しいレートと呼ば
れる。新しいレートはセーブされた高レートに対してチ
ェックされる(照会604)。割当て済みリアルタイム
・レート・ウィンドウ枠512にセーブされた新しいレ
ートが高レートより大きい場合、高レートは新しいレー
トにセットされる(ステップ606)。新しい高レート
をセーブした後、または現在のサービス・レートが高レ
ートより小さいか等しい場合は、さらに別のウィンドウ
枠があるかどうか確認される(照会608)。特にウィ
ンドウ枠インデックスが18と比較され、18より小さ
い場合は、リアルタイム・ウィンドウ枠インデックス5
18が1つ増分される(ステップ610)。次に制御は
ステップ602の"ウィンドウ枠のレート計算"に移る。
ない場合は、新しいリアルタイム・データ・ストリーム
を配信するのに必要なサービスが次のように計算され
る。
たりの最大サービス・レート
最大サービス・レートは、高レート変数に格納されたレ
ートである。
ープ・サービス限度136内でサービス量が利用できる
かどうか確認される(照会614)。充分な容量が利用
できない場合、不成功を示す戻りコードがセットされ
(ステップ616)、割当てファンクションは完了する
(ステップ618)。
するのに充分な容量がある場合は、新しいストリームの
レートが現在の割当て済みリアルタイム・レート506
に追加され(ステップ620)、成功を示す戻りコード
がセットされる(ステップ622)。その後、割当てフ
ァンクションは完了する(ステップ618)。
された後、リアルタイム・サービング・アプリケーショ
ンを実行でき、これによりリアルタイム・データ・スト
リームが配信される(ステップ306)。
ョン及び非リアルタイム・アプリケーションの実行時、
SGDPCコントローラ158がシステム・リソースの
利用状況を監視し、監視内容をもとに制御を調整する。
えばユーザ性能目標の達成を管理するため、ディスパッ
チ優先度等、システム・リソース制御を調整すること
(図7、ステップ700)、及び特定のリソース・グル
ープによるリソース消費を制限するため、それらのグル
ープのキャッピングを調整すること(ステップ702)
を含めて、2つのタスクを実行する。それぞれのタスク
についてここで詳しく説明する。
調整(ステップ700)は、1つの例として、システム
のアプリケーションの実行時にある間隔で実行される。
ある実施例で、コントローラ158は10秒毎に起動さ
れ、システム制御を調整する必要があるかどうか確認す
る。
は、性能目標の達成度を測定し、性能を改良する必要の
あるユーザ性能目標クラスを選択し、関連付けられた作
業単位のシステム制御パラメータ(つまりディスパッチ
優先度等の被制御変数)を変更することによって選択さ
れたユーザ性能目標クラスの性能を改良する。しかしデ
ィスパッチ優先度等の特定パラメータを変更する前に、
性能コントローラ158は、本発明に従って、リアルタ
イム・サーバ・ビット152をチェックし、アプリケー
ションがリアルタイム・サーバ・アプリケーションかど
うか確認する。ビットがオン、つまりリアルタイム・デ
ータ・ストリームの配信を示す場合は、クラスのディス
パッチ優先度(優先度150)及び適応できる各作業単
位のディスパッチ優先度(優先度154)は変わらない
ままである。これによりリアルタイム・データ・ストリ
ームに一定量のリソースが保証される。
き、ディスパッチ優先度は調整できる。非リアルタイム
・アプリケーションに対するコントローラ158の処理
については、C.K.Eilertらによる1995年2月3日
付米国特許出願番号第08/383042号、"Multi-S
ystem Resource Capping"を参照されたい。しかし本発
明に従って、非リアルタイム・サービング作業単位に利
用できるプロセッサ容量は、プロセッサ総容量から、リ
アルタイム・サービング作業単位に保証され、前記作業
単位によって用いられるプロセッサ容量を引いたもので
ある。
テップ702)も、先に述べた"Multi-System Resource
Capping"で説明されているものと同様に働く。キャッ
ピング調整ファンクションは、リソース消費量を、リソ
ース・グループ最大値134で当該リソース・グループ
に指定された最大値に制限するため、各リソース・グル
ープに割当てられた作業単位をディスパッチ不能(キャ
ップ済み)にする時間を決定する。
に依存)は、例えば64間隔等、いくつかの間隔に分け
られ、キャッピング調整ファンクションは、各リソース
・グループの作業単位にキャップを付ける間隔の個数を
計算する。次に64間隔のそれぞれに対応し、その間隔
でリソース・グループにキャップを付けるかどうかを示
すインジケータをセットする。これらのインジケータは
キャップ・スライス・パターン140を形成する。キャ
ップ・ビットは、"Multi-System Resource Capping"に
述べられているように、64個の間隔全体に比較的均一
に分散される。
ス・マネージャのキャップ・ビット操作ファンクション
が起動され、キャップ・ビット・パターンがチェックさ
れる。これにより、どのリソース・グループにキャップ
を付けるか確認され、作業単位制御ブロックにキャップ
・ビットがセットされる。キャップ・ビットはディスパ
ッチャ120によって問い合わせられ、作業単位をディ
スパッチできるかどうか確認される。本発明では、シス
テム管理者が、リアルタイム・サービング・リソース・
グループの最大値を指定し、キャッピング・ファンクシ
ョンは、リアルタイム・サービング・アプリケーション
が、指定された最大プロセッサ容量以上を消費しないこ
とを保証する。
ついて、図8及び図9を参照して詳しく説明する。まず
図8を参照する。最大値を有する、従って処理が必要で
あるリソース・グループが他にあるかどうか確認される
(照会800)。処理すべきグループが他にない場合
は、ファンクションは完了し、制御はステップ802に
移る。
場合は、リソース・グループにキャップ・スライスが現
在セットされているか、または現在、指定最大値以上の
プロセッサ時間を消費しているかどうか確認される(ス
テップ804)。このチェックの結果が否定的なら、制
御はステップ800に移り、次のリソース・グループが
処理される。
れているか、またはリソース・グループが最大値を超え
ている場合は、制御はステップ806に移り、リソース
・グループのキャップ・スライスが計算される。
・サービス単位の値(つまり最大値134)が、次のス
テップでキャップ・スライスの値に変換される。 1.許可される非キャップ・スライスの値を次のように
計算する。
CSLOW)/SEROW
ス単位(つまり最大値) TSLOW − ウィンドウの総スライス数(例えば6
*64=384、定数) CSLOW − キャップ・スライス・ウィンドウでキ
ャップが付いたスライスの値(後述) SEROW − サービス・ウィンドウで消費されたプ
ロセッサ・サービス単位(後述) キャップ・スライス・ウィンドウは、例えば6枠ウィン
ドウであり、例えばそれぞれ10秒である。各ウィンド
ウ枠はその枠のキャップ付きスライスの値を保持する。
サービス・ウィンドウも、例えば6枠ウィンドウで、各
枠が10秒で測定されたサービスを保持する。キャップ
・スライス・ウィンドウとサービス・ウィンドウは、キ
ャッピング・インデックスにより1から始めてインデッ
クスが付けられる。増分は1で、6に達すると1に戻
る。キャップ・スライス・ウィンドウ、サービス・ウィ
ンドウ、及びキャッピング・インデックスは、プロセッ
サ利用状況データ138の一部である(しかしこれらは
図5には示していない)。 2.非キャップ・スライスが計算して0になる場合は、
これを1にセットする。時間の100%にキャップを付
けない。 3.キャップ・スライスを総スライス数(64)から非
キャップ・スライスを引いた値に等しくセットする。 4.キャップ・スライスの増加が総スライス数の2分の
1より大きい場合は、キャップ・スライス数を総スライ
ス数の2分の1だけ増やす。 5.キャップ・スライス数をリソース・グループ・テー
ブル・エントリ130に格納する。キャップ・スライス
数は、現在のウィンドウ枠インデックスによってインデ
ックスが付けられたキャップ・スライス配列要素に格納
される。
数を求める他に、各リソース・グループのキャップ・ス
ライスが、キャップ・ビット・マニピュレータが問い合
わせをするため、キャップ・スライス・パターンに比較
的均一に分散される。キャップ付きスライス数が最大の
リソース・グループには特定のスライスが最初に割当て
られ、次に最大のキャップ・スライス数を要するリソー
ス・グループが次に処理され、というように、キャップ
付きスライスを有するすべてのリソース・グループが処
理されていく。システム全体で、同じ個数のリソース・
グループ±1グループに、キャップ・スライス・パター
ンの64個のスライスのそれぞれの間で、特定スライス
が特定のリソース・グループに割当てられるとき、各ス
ライスの間でキャップが付けられるリソース・グループ
の値のカウントを維持することによってキャップが付け
られる。このカウントはテストされ、グループに特定ス
ライスを割当てるかどうか確認される。64個のすべて
のスライスが割当てられるまでは、2つのリソース・グ
ループにスライスが割当てられることはない。64個の
すべてのスライスが2回割当てられるまでは、3つのグ
ループにスライスが割当てられることはない。以下同様
である。
ついて、図9を参照して詳しく説明する。最初、配列要
素を0にセットすることによってシステム・データ、キ
ャップ・スライス・カウント配列(SCA)が初期化さ
れる(ステップ900)。スライス・カウント配列はカ
ウントの配列である。各エントリはそのスライスの間に
キャップが付けられるグループの値を保持する。キャッ
プ・スライス・カウント配列には64のエントリがあ
る。各エントリは時間の64分の1を表す。
スライスの値が最大のリソース・グループが選択される
(ステップ902)。処理すべきリソース・グループが
ない場合は、制御は終了する(ステップ904)。処理
すべきリソース・グループが他にある場合は制御はステ
ップ906に進む。
ータが初期化される。特にスライス増分(SI)、スラ
イス・カウント基準(SCC)、及びスライス・カウン
ト配列インデックス(SCAI)、が次のように初期化
される。(SI−1)は、リソース・グループの各キャ
ップ・スライスの間でスキップできるスライス数であ
り、リソース・グループのキャップ・スライスは64個
の可能なキャップ・スライスで比較的均一に分散され
る。SIは、グループのキャップ・スライス数で分けら
れた64にセットされる。SCCはスライス・カウント
配列の最大値にセットされる。スライス・カウント配列
のすべてのカウントが同じ値なら、SCCに1が追加さ
れる。SCAIはキャップ・スライス・パターンの最初
のスライスで始めるため、1にセットされる。
が、このグループの基準(SCC)に対してチェックさ
れる(照会908)。スライスがSCC個のグループに
割当てられているかがチェックされ、またはすでにこの
グループに割当てられている場合は、制御はステップ9
10に移り、ここでSCAIに1が追加される。SCA
Iが65に増分されると、これは1にリセットされる
(つまりSCAIは64を法とする)。スライス・カウ
ント配列のすべてのカウントが同じ値であれば、SCC
に1が追加される。制御は次にステップ908に戻る。
ス・グループに割当てられていて、処理されている現在
のグループに割当てられていない場合、制御はステップ
912に移り、そこでスライスがグループに割当てら
れ、SCAのスライスの利用状況カウントに1が追加さ
れる。スライスは、リソース・グループのキャップ・ス
ライス・パターン140のSCAIに対応したビットを
セットすることによってリソース・グループに割当てら
れる。制御は次に照会914に移る。
プに割当てるスライスが他にあるかどうか確認される。
特定のスライスがすべてのグループのキャップ・スライ
スに割当てられている場合、制御はステップ902に戻
り、他のリソース・グループがチェックされる。しかし
グループに他の特定のスライスを割当てる必要がある場
合は、制御はステップ916に移る。
加され、次にチェックすべき特定のスライスがセットさ
れる。SCAIが64より大きい場合はSCAIから6
4が引かれる。SCAのすべてのカウントが同じ値な
ら、SCCに1が追加される。次に制御はステップ90
8に戻る。その後、キャップ・スライスの分散が完了す
る。
及び実行のファンクションが完了すると、リアルタイム
・データ・ストリームを配信するために割当てられたプ
ロセッサ・リソースの割当てが、割当て解除ファンクシ
ョンを使用して割当て解除される(ステップ308)。
特に、リアルタイム・サーバがシステム・リソース・マ
ネージャの割当て解除ファンクションを起動して、リア
ルタイム・データ・ストリームが終了し、割当て済みプ
ロセッサ・リソースをそれ以上消費することはないこと
を示す。
て、図10を参照して説明する。1つの例として、プロ
セッサ・リソースを割当て解除するために、現在の割当
て済みリアルタイム・レート506から入力データ・レ
ートが引かれる(ステップ1000)。従って現在のレ
ートは、これらのリソースが他のデータ・ストリームの
配信に利用できることを示す。その後、割当て解除は完
了する。
ストリームの配信時に、クライアントは表示の一時停止
を決定することができる。その場合は、リアルタイム・
サーバがシステム・リソース・マネージャの一時停止フ
ァンクションを起動し、リアルタイム・データ・ストリ
ームを表示するクライアントが、例えばビデオの表示を
一時停止したことを示す。一時停止したストリームは、
プロセッサの消費量には関係しないが、それらに必要な
プロセッサ時間は保存される。従って、一時停止したス
トリームのデータ・レートは計算に用いられる。一時停
止ファンクションの実施例については、図11を参照し
て詳しく説明する。また再開ファンクションについても
述べる。
リアルタイム・データ・ストリームの配信を一時停止し
ているか、または一時停止の後に配信を再開しているか
どうか確認される(照会1100)。このオプションが
一時停止なら、入力データ・レートが現在の一時停止リ
アルタイム・レート510に追加される(ステップ11
02)。その後、本発明の一時停止ファンクションは完
了する(ステップ1104)。
停止データ・レートから入力データ・レートが引かれ
(ステップ1106)、再開ファンクションは完了する
(ステップ1104)。
をリアルタイム・サーバに提供し、また、システムの他
のタイプのアプリケーション及び他の作業を処理するた
め、選択された量のリソースが予約されることを保証す
る、プロセッサ・リソース管理機能である。
すぎない。他のシステムや環境も、本発明の主旨から逸
脱することなく本発明を取り入れ、あるいは利用するこ
とができる。
体を有する製品(コンピュータのプログラム・プロダク
ト等)に加えることができる。媒体には、本発明の機能
を提供し促進するため、コンピュータ読取り可能プログ
ラム・コード手段が具体化される。製品はコンピュータ
装置の一部として追加するか、または個別に販売するこ
ともできる。
すぎない。これらの図やステップ(あるいは操作)は本
発明の主旨から逸脱することなく変更することができ
る。例えばステップは異なる順序で実行できる。あるい
はステップは追加、削除、または変更可能である。これ
らの変形はすべて特許請求範囲とみなされる。
されたが、様々な変更、追加、代替等が、本発明の趣旨
から逸脱することなく実現可能であり、従って本発明の
範囲内で考慮されることが当業者には理解されよう。
の事項を開示する。
ソースを管理する装置であって、少なくともリアルタイ
ム・アプリケーションを含むリアルタイム・アプリケー
ションのグループに選択された限度を超えないある量の
プロセッサ・リソースを、前記コンピュータ装置のリア
ルタイム・アプリケーションに割当てるようにされ、選
択された量の前記プロセッサ・リソースを、前記コンピ
ュータ装置の少なくとも1つの非リアルタイム・アプリ
ケーションに引き続き利用できる、リソース・マネージ
ャと、前記リアルタイム・アプリケーションを処理する
手段と、を含む、装置。 (2)前記リアルタイム・アプリケーションの処理が求
められていることを前記コンピュータ装置に指示する手
段を含む、前記(1)記載の装置。 (3)前記指示手段は、前記リアルタイム・アプリケー
ションのディスパッチ優先度セットと、前記ディスパッ
チ優先度は調整されないことを指定するようにされたイ
ンジケータと、を含む、前記(2)記載の装置。 (4)前記リソース・マネージャは、リアルタイム・デ
ータ・レートを配信するための、所与の時間内の最大サ
ービス・コストを求めるようにされた確認ユニットと、
前記リアルタイム・アプリケーションのリアルタイム・
データ・ストリームを配信するサービス・レートを計算
するようにされた計算ユニットと、前記サービス・レー
トが前記限度内にあるときに、充分な量の前記プロセッ
サ・リソースが前記リアルタイム・データ・ストリーム
に利用できることを指定するようにされたインジケータ
と、を含む、前記(1)記載の装置。 (5)リアルタイム・アプリケーションの前記グループ
に現在割当てられているプロセッサ・リソースの量を追
跡するために、前記リアルタイム・データ・ストリーム
のデータ・レートを、現在の割当て済みデータ・レート
に加えるようにされた加算ユニットを含む、前記(4)
記載の装置。 (6)前記リソース・マネージャはさらに、前記リアル
タイム・アプリケーションが前記プロセッサ・リソース
を必要としなくなったとき、前記割当てられた量の前記
プロセッサ・リソースを割当て解除するようにされた、
前記(1)記載の装置。 (7)前記リソース・マネージャは、割当て解除された
量のプロセッサ・リソースがリアルタイム・アプリケー
ションの前記グループに利用できるように、現在割当て
られているデータ・レートから前記リアルタイム・アプ
リケーションのデータ・レートを引くようにされた減算
器を含む、前記(6)記載の装置。 (8)前記リソース・マネージャは、前記リアルタイム
・アプリケーションの処理を一時停止するようにされ
た、前記(1)記載の装置。 (9)前記リソース・マネージャは、前記一時停止の間
に、前記割当てられた量のプロセッサ・リソースを予約
する手段を含む、前記(8)記載の装置。 (10)前記リソース・マネージャは、前記一時停止し
たリアルタイム・アプリケーションの処理を再開するよ
うにされた、前記(8)記載の装置。 (11)前記リアルタイム・アプリケーションを処理す
る前記手段は、前記リアルタイム・アプリケーションに
関連付けられ、前記コンピュータ装置の性能目標を達成
するため制御パラメータに調整が必要なとき、調整され
るようにされた前記制御パラメータを含む、前記(1)
記載の装置。 (12)前記少なくとも1つの非リアルタイム・アプリ
ケーションを処理する手段を含み、前記1つの非リアル
タイム・アプリケーションを処理する手段は、前記コン
ピュータ装置の性能目標を達成するため、制御パラメー
タに調整が必要なとき、前記1つの非リアルタイム・ア
プリケーションに関連付けられた前記制御パラメータを
調整する手段を含む、前記(1)記載の装置。 (13)前記処理手段は、リアルタイム・アプリケーシ
ョンの前記グループに選択された前記プロセッサ・リソ
ースの最大量を前記リアルタイム・アプリケーションが
超えることを防ぐ手段を含む、前記(1)記載の装置。 (14)前記防止手段は、前記最大量を超えずには前記
リアルタイム・アプリケーションの作業単位がディスパ
ッチ不能であることを指示するようにされたインジケー
タを含む、前記(13)記載の装置。 (15)コンピュータ装置のプロセッサ・リソースを管
理する装置であって、前記コンピュータ装置のリアルタ
イム・アプリケーションのグループに割当て可能な、選
択された量のプロセッサ・リソースと、前記コンピュー
タ装置の非リアルタイム・アプリケーションに予約され
た、選択された量の前記プロセッサ・リソースと、を含
む、装置。 (16)前記選択された量の前記プロセッサ・リソース
はリアルタイム・アプリケーションの複数のグループに
割当てることができる、前記(15)記載の装置。 (17)前記の量のプロセッサ・リソースの少なくとも
一部を、リアルタイム・アプリケーションの前記グルー
プの1つのリアルタイム・アプリケーションに割当てる
ようにされたリソース・マネージャと、前記1つのリア
ルタイム・アプリケーションを処理する手段であって、
リアルタイム・アプリケーションの前記グループに選択
された前記プロセッサ・リソースの最大量を、前記1つ
のリアルタイム・アプリケーションが超えることを防ぐ
手段を含む、前記処理する手段と、を含む、前記(1
5)記載の装置。
ュータ装置の1つの例を示す図である。
の1つの例を示す図である。
ョンの処理に関連して用いられるロジックの実施例を示
す図である。
れるロジックの1つの例を示す図である。
データの1つの例を示す図である。
ョンにプロセッサ・リソースを割当てるために用いられ
るロジックの実施例を示す図である。
ョンの実行時に用いられるロジックの実施例を示す図で
ある。
グ機能実行時に用いられるロジックの実施例を示す図で
ある。
グ機能実行時に用いられるロジックの実施例を示す図で
ある。
ションに割当てられるリソースの割当て解除時に用いら
れるロジックの実施例を示す図である。
ションの実行の一時停止/再開時に用いられるロジック
の実施例を示す図である。
Claims (17)
- 【請求項1】コンピュータ装置のプロセッサ・リソース
を管理する装置であって、 少なくともリアルタイム・アプリケーションを含むリア
ルタイム・アプリケーションのグループに選択された限
度を超えないある量のプロセッサ・リソースを、前記コ
ンピュータ装置のリアルタイム・アプリケーションに割
当てるようにされ、選択された量の前記プロセッサ・リ
ソースを、前記コンピュータ装置の少なくとも1つの非
リアルタイム・アプリケーションに引き続き利用でき
る、リソース・マネージャと、 前記リアルタイム・アプリケーションを処理する手段
と、 を含む、装置。 - 【請求項2】前記リアルタイム・アプリケーションの処
理が求められていることを前記コンピュータ装置に指示
する手段を含む、請求項1記載の装置。 - 【請求項3】前記指示手段は、 前記リアルタイム・アプリケーションのディスパッチ優
先度セットと、 前記ディスパッチ優先度は調整されないことを指定する
ようにされたインジケータと、 を含む、請求項2記載の装置。 - 【請求項4】前記リソース・マネージャは、 リアルタイム・データ・レートを配信するための、所与
の時間内の最大サービス・コストを求めるようにされた
確認ユニットと、 前記リアルタイム・アプリケーションのリアルタイム・
データ・ストリームを配信するサービス・レートを計算
するようにされた計算ユニットと、 前記サービス・レートが前記限度内にあるときに、充分
な量の前記プロセッサ・リソースが前記リアルタイム・
データ・ストリームに利用できることを指定するように
されたインジケータと、を含む、請求項1記載の装置。 - 【請求項5】リアルタイム・アプリケーションの前記グ
ループに現在割当てられているプロセッサ・リソースの
量を追跡するために、前記リアルタイム・データ・スト
リームのデータ・レートを、現在の割当て済みデータ・
レートに加えるようにされた加算ユニットを含む、請求
項4記載の装置。 - 【請求項6】前記リソース・マネージャはさらに、前記
リアルタイム・アプリケーションが前記プロセッサ・リ
ソースを必要としなくなったとき、前記割当てられた量
の前記プロセッサ・リソースを割当て解除するようにさ
れた、請求項1記載の装置。 - 【請求項7】前記リソース・マネージャは、割当て解除
された量のプロセッサ・リソースがリアルタイム・アプ
リケーションの前記グループに利用できるように、現在
割当てられているデータ・レートから前記リアルタイム
・アプリケーションのデータ・レートを引くようにされ
た減算器を含む、請求項6記載の装置。 - 【請求項8】前記リソース・マネージャは、前記リアル
タイム・アプリケーションの処理を一時停止するように
された、請求項1記載の装置。 - 【請求項9】前記リソース・マネージャは、前記一時停
止の間に、前記割当てられた量のプロセッサ・リソース
を予約する手段を含む、請求項8記載の装置。 - 【請求項10】前記リソース・マネージャは、前記一時
停止したリアルタイム・アプリケーションの処理を再開
するようにされた、請求項8記載の装置。 - 【請求項11】前記リアルタイム・アプリケーションを
処理する前記手段は、前記リアルタイム・アプリケーシ
ョンに関連付けられ、前記コンピュータ装置の性能目標
を達成するため制御パラメータに調整が必要なとき、調
整されるようにされた前記制御パラメータを含む、請求
項1記載の装置。 - 【請求項12】前記少なくとも1つの非リアルタイム・
アプリケーションを処理する手段を含み、前記1つの非
リアルタイム・アプリケーションを処理する手段は、前
記コンピュータ装置の性能目標を達成するため、制御パ
ラメータに調整が必要なとき、前記1つの非リアルタイ
ム・アプリケーションに関連付けられた前記制御パラメ
ータを調整する手段を含む、請求項1記載の装置。 - 【請求項13】前記処理手段は、リアルタイム・アプリ
ケーションの前記グループに選択された前記プロセッサ
・リソースの最大量を前記リアルタイム・アプリケーシ
ョンが超えることを防ぐ手段を含む、請求項1記載の装
置。 - 【請求項14】前記防止手段は、前記最大量を超えずに
は前記リアルタイム・アプリケーションの作業単位がデ
ィスパッチ不能であることを指示するようにされたイン
ジケータを含む、請求項13記載の装置。 - 【請求項15】コンピュータ装置のプロセッサ・リソー
スを管理する装置であって、 前記コンピュータ装置のリアルタイム・アプリケーショ
ンのグループに割当て可能な、選択された量のプロセッ
サ・リソースと、 前記コンピュータ装置の非リアルタイム・アプリケーシ
ョンに予約された、選択された量の前記プロセッサ・リ
ソースと、 を含む、装置。 - 【請求項16】前記選択された量の前記プロセッサ・リ
ソースはリアルタイム・アプリケーションの複数のグル
ープに割当てることができる、請求項15記載の装置。 - 【請求項17】前記の量のプロセッサ・リソースの少な
くとも一部を、リアルタイム・アプリケーションの前記
グループの1つのリアルタイム・アプリケーションに割
当てるようにされたリソース・マネージャと、 前記1つのリアルタイム・アプリケーションを処理する
手段であって、リアルタイム・アプリケーションの前記
グループに選択された前記プロセッサ・リソースの最大
量を、前記1つのリアルタイム・アプリケーションが超
えることを防ぐ手段を含む、前記処理する手段と、を含
む、請求項15記載の装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/827286 | 1997-03-28 | ||
US08/827,286 US6654780B1 (en) | 1997-03-28 | 1997-03-28 | System of managing processor resources in a non-dedicated computer system |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10289116A true JPH10289116A (ja) | 1998-10-27 |
JP3547976B2 JP3547976B2 (ja) | 2004-07-28 |
Family
ID=25248820
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP05365798A Expired - Lifetime JP3547976B2 (ja) | 1997-03-28 | 1998-03-05 | プロセッサ・リソース管理装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6654780B1 (ja) |
JP (1) | JP3547976B2 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001043094A (ja) * | 1999-07-10 | 2001-02-16 | Samsung Electronics Co Ltd | マイクロスケジューリング方法及び運営体制カーネル |
US9483324B2 (en) | 2012-06-26 | 2016-11-01 | Nec Corporation | Program conversion device and method, process switching method, method of determining execution scheme and program storage medium therefor, processor system, and parallel execution scheme |
US9483320B2 (en) | 2014-03-13 | 2016-11-01 | Fujitsu Limited | Computing apparatus, method of controlling computing apparatus, and computer-readable storage medium having program for controlling computing apparatus stored therein to move processes to a same processor core for execution |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030037145A1 (en) * | 2000-03-15 | 2003-02-20 | Michael Fagan | Apparatus and method of allocating communications resources |
US7143413B2 (en) * | 2002-05-15 | 2006-11-28 | Hewlett-Packard Development Company, L.P. | Method and system for allocating system resources among applications using weights |
US7159221B1 (en) * | 2002-08-30 | 2007-01-02 | Unisys Corporation | Computer OS dispatcher operation with user controllable dedication |
US7134125B2 (en) * | 2003-02-07 | 2006-11-07 | Intel Corporation | Method for firmware to provide seamless regulation of system resources and extend additional configuration methods for system resource management |
US20040249616A1 (en) * | 2003-04-16 | 2004-12-09 | Vierus Stephanie A. | Resource modeler system and method |
US7665090B1 (en) | 2004-03-08 | 2010-02-16 | Swsoft Holdings, Ltd. | System, method, and computer program product for group scheduling of computer resources |
US8707317B2 (en) * | 2004-04-30 | 2014-04-22 | Microsoft Corporation | Reserving a fixed amount of hardware resources of a multimedia console for system application and controlling the unreserved resources by the multimedia application |
US8954584B1 (en) * | 2004-08-18 | 2015-02-10 | Oracle America, Inc. | Policy engine for automating management of scalable distributed persistent applications in a grid |
US7921425B2 (en) * | 2005-03-14 | 2011-04-05 | Cisco Technology, Inc. | Techniques for allocating computing resources to applications in an embedded system |
US7908606B2 (en) * | 2005-05-20 | 2011-03-15 | Unisys Corporation | Usage metering system |
US7818196B2 (en) * | 2005-06-13 | 2010-10-19 | Avaya Inc. | Real time estimation of rolling averages of cumulative data |
US20070061429A1 (en) * | 2005-09-12 | 2007-03-15 | Microsoft Corporation | Optimizing utilization of application resources |
EP1965303A4 (en) * | 2005-12-20 | 2010-04-14 | Fujitsu Ltd | INFORMATION PROCESSING DEVICE, COMPUTERS, OPERATING AGGREGATE PROGRAMS AND OPERATING ALLOWANCE PROGRAM |
JP2007183883A (ja) * | 2006-01-10 | 2007-07-19 | Fujitsu Ltd | 資源計画作成プログラム、該プログラムを記録した記録媒体、資源計画作成装置、および資源計画作成方法 |
US8087029B1 (en) * | 2006-10-23 | 2011-12-27 | Nvidia Corporation | Thread-type-based load balancing in a multithreaded processor |
FR2915006B1 (fr) * | 2007-04-13 | 2009-08-21 | Wavecom Sa | Procede et dispositif de gestion de l'utilisation d'un processeur par plusieurs applications, produit programme d'ordinateur et moyen de stockage correspondants. |
US7487506B1 (en) * | 2008-01-16 | 2009-02-03 | International Business Machines Corporation | Autonomous management of system throughput |
JP2016051395A (ja) | 2014-09-01 | 2016-04-11 | キヤノン株式会社 | 画像形成装置およびリソース管理方法 |
US10492844B2 (en) | 2017-05-25 | 2019-12-03 | Channel Medsystems, Inc. | Tethered system for cryogenic treatment |
US12048608B2 (en) | 2021-11-09 | 2024-07-30 | Vivos Therapeutics, Inc. | Vibrational oral appliance with mandibular advancements |
US11723790B2 (en) | 2021-11-09 | 2023-08-15 | Vivos Therapeutics, Inc. | Vibrational oral appliance with mandibular advancements |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5191410A (en) | 1987-08-04 | 1993-03-02 | Telaction Corporation | Interactive multimedia presentation and communications system |
US5204947A (en) | 1990-10-31 | 1993-04-20 | International Business Machines Corporation | Application independent (open) hypermedia enablement services |
US5210872A (en) * | 1991-06-28 | 1993-05-11 | Texas Instruments Inc. | Critical task scheduling for real-time systems |
US5745758A (en) * | 1991-09-20 | 1998-04-28 | Shaw; Venson M. | System for regulating multicomputer data transfer by allocating time slot to designated processing task according to communication bandwidth capabilities and modifying time slots when bandwidth change |
CA2076293A1 (en) | 1991-10-11 | 1993-04-12 | Prathima Agrawal | Multiprocessor computer for solving sets of equations |
JP2521016B2 (ja) * | 1991-12-31 | 1996-07-31 | インターナショナル・ビジネス・マシーンズ・コーポレイション | マルチメディア・デ―タ処理システム |
US5333266A (en) | 1992-03-27 | 1994-07-26 | International Business Machines Corporation | Method and apparatus for message handling in computer systems |
US5628013A (en) | 1992-09-30 | 1997-05-06 | Apple Computer, Inc. | Apparatus and method for allocating processing time in a frame-based computer system |
EP0594871A1 (en) * | 1992-10-09 | 1994-05-04 | Fujitsu Limited | Multi-media scheduling system |
US5408465A (en) | 1993-06-21 | 1995-04-18 | Hewlett-Packard Company | Flexible scheme for admission control of multimedia streams on integrated networks |
JPH0723104A (ja) | 1993-06-22 | 1995-01-24 | Hitachi Ltd | マルチメディア複合交換機の管理方式 |
US5640595A (en) * | 1993-06-29 | 1997-06-17 | International Business Machines Corporation | Multimedia resource reservation system with graphical interface for manual input of resource reservation value |
US5528513A (en) * | 1993-11-04 | 1996-06-18 | Digital Equipment Corp. | Scheduling and admission control policy for a continuous media server |
US5524110A (en) | 1993-11-24 | 1996-06-04 | Intel Corporation | Conferencing over multiple transports |
US5485455A (en) | 1994-01-28 | 1996-01-16 | Cabletron Systems, Inc. | Network having secure fast packet switching and guaranteed quality of service |
US5497373A (en) | 1994-03-22 | 1996-03-05 | Ericsson Messaging Systems Inc. | Multi-media interface |
US5473773A (en) * | 1994-04-04 | 1995-12-05 | International Business Machines Corporation | Apparatus and method for managing a data processing system workload according to two or more distinct processing goals |
US5537542A (en) | 1994-04-04 | 1996-07-16 | International Business Machines Corporation | Apparatus and method for managing a server workload according to client performance goals in a client/server data processing system |
JPH07307735A (ja) | 1994-05-10 | 1995-11-21 | Fujitsu Ltd | マルチメディアサービス方式 |
US5461611A (en) * | 1994-06-07 | 1995-10-24 | International Business Machines Corporation | Quality of service management for source routing multimedia packet networks |
US5473680A (en) | 1994-06-14 | 1995-12-05 | Bell Communications Research, Inc. | Methods and apparatus for interfacing with application programs to manage multimedia multiparty communications |
JP3520378B2 (ja) | 1994-07-05 | 2004-04-19 | 日本電信電話株式会社 | マルチメディアサービス提供システム及びサービス管理方法 |
US5550970A (en) * | 1994-08-31 | 1996-08-27 | International Business Machines Corporation | Method and system for allocating resources |
US5721922A (en) | 1994-10-13 | 1998-02-24 | Intel Corporation | Embedding a real-time multi-tasking kernel in a non-real-time operating system |
US5708796A (en) * | 1994-11-18 | 1998-01-13 | Lucent Technologies Inc. | Method of retrieving continuous and non-continuous media data from a file system |
JPH08147178A (ja) | 1994-11-24 | 1996-06-07 | Hitachi Ltd | 共有資源アクセス方法および共有資源アクセス装置 |
US5675739A (en) | 1995-02-03 | 1997-10-07 | International Business Machines Corporation | Apparatus and method for managing a distributed data processing system workload according to a plurality of distinct processing goal types |
US5748468A (en) | 1995-05-04 | 1998-05-05 | Microsoft Corporation | Prioritized co-processor resource manager and method |
IL116708A (en) * | 1996-01-08 | 2000-12-06 | Smart Link Ltd | Real-time task manager for a personal computer |
US5838968A (en) * | 1996-03-01 | 1998-11-17 | Chromatic Research, Inc. | System and method for dynamic resource management across tasks in real-time operating systems |
-
1997
- 1997-03-28 US US08/827,286 patent/US6654780B1/en not_active Expired - Lifetime
-
1998
- 1998-03-05 JP JP05365798A patent/JP3547976B2/ja not_active Expired - Lifetime
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001043094A (ja) * | 1999-07-10 | 2001-02-16 | Samsung Electronics Co Ltd | マイクロスケジューリング方法及び運営体制カーネル |
US6779181B1 (en) | 1999-07-10 | 2004-08-17 | Samsung Electronics Co., Ltd. | Micro-scheduling method and operating system kernel |
US9483324B2 (en) | 2012-06-26 | 2016-11-01 | Nec Corporation | Program conversion device and method, process switching method, method of determining execution scheme and program storage medium therefor, processor system, and parallel execution scheme |
US9483320B2 (en) | 2014-03-13 | 2016-11-01 | Fujitsu Limited | Computing apparatus, method of controlling computing apparatus, and computer-readable storage medium having program for controlling computing apparatus stored therein to move processes to a same processor core for execution |
Also Published As
Publication number | Publication date |
---|---|
US6654780B1 (en) | 2003-11-25 |
JP3547976B2 (ja) | 2004-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH10289116A (ja) | プロセッサ・リソース管理装置 | |
JPH10289115A (ja) | プロセッサ・リソース管理方法 | |
JPH10283211A (ja) | マルチシステム環境のプロセッサ・リソース管理方法 | |
US5948065A (en) | System for managing processor resources in a multisystem environment in order to provide smooth real-time data streams while enabling other types of applications to be processed concurrently | |
US6223201B1 (en) | Data processing system and method of task management within a self-managing application | |
CN109451051B (zh) | 服务请求处理方法、装置、电子设备及存储介质 | |
EP3296871B1 (en) | Central processing unit resource allocation method and computing node | |
US5875329A (en) | Intelligent batching of distributed messages | |
EP1269313B1 (en) | Real-time scheduling of virtual machines | |
US6947987B2 (en) | Method and apparatus for allocating network resources and changing the allocation based on dynamic workload changes | |
EP0788053B1 (en) | Resource management method and apparatus for information processing system of multitasking facility | |
USRE42726E1 (en) | Dynamically modifying the resources of a virtual server | |
US7689996B2 (en) | Method to distribute programs using remote Java objects | |
EP0646872B1 (en) | Method and apparatus for multimedia data interchange with pacing capability in a distributed data processing system | |
KR100727901B1 (ko) | 마이크로 스케듈링 방법 및 운영체제 커널 장치 | |
US8627330B2 (en) | Workload manager managing a workload of an enterprise data warehouse | |
US20110302587A1 (en) | Information processing device and information processing method | |
EP0656593A1 (en) | Method and apparatus for bus bandwidth management | |
CN109086135B (zh) | 资源伸缩方法、装置、计算机设备及存储介质 | |
US6473780B1 (en) | Scheduling of direct memory access | |
KR20070024552A (ko) | 컴퓨터 운영 시스템의 가상 메모리 서브시스템 자동 조정 | |
CN113032152B (zh) | 用于深度学习框架的调度方法、调度装置、电子设备、存储介质和程序产品 | |
CN109726007B (zh) | 一种容器编排配额管理方法和装置、及容器编排系统 | |
KR20020022057A (ko) | 컴퓨터 시스템에서 실행되는 어플리케이션 내에 아들프로세스의 생성 및 소멸을 모니터링하는 방법 및 장치 | |
Goossens et al. | Overview of real-time scheduling problems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040305 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040415 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080423 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080423 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090423 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090423 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100423 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110423 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110423 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120423 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130423 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130423 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140423 Year of fee payment: 10 |
|
EXPY | Cancellation because of completion of term |