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
Application number
JP10053657A
Other languages
English (en)
Other versions
JP3547976B2 (ja
Inventor
K Ayrert Catharin
キャサリン・ケイ・アイラート
B Wakom Peter
ピーター・ビィ・ワコム
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH10289116A publication Critical patent/JPH10289116A/ja
Application granted granted Critical
Publication of JP3547976B2 publication Critical patent/JP3547976B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation 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

(57)【要約】 【課題】 リアルタイム・データ・ストリームを割込み
なくスムーズに配信する一方、システムで同時に実行さ
れる他の作業に所望の量のプロセッサ・リソースを提供
する装置を提供する。 【解決手段】 ある量のプロセッサ・リソースがコンピ
ュータ装置のリアルタイム・アプリケーションに割当て
られる。この量は、リアルタイム・アプリケーションの
グループに選択された限度を超えない。グループはリソ
ースが割当てられたリアルタイム・アプリケーションを
含む。選択された量のプロセッサ・リソースは、装置の
他のタイプのアプリケーションや作業を実行するため、
引き続き利用できる。リアルタイム・アプリケーション
の処理の間に、プロセッサ・リソースの使用量は選択さ
れた最大値を超えず、よってプロセッサ・リソースがリ
アルタイム・アプリケーションによって独占されず、装
置の他のタイプの作業を処理できるようにする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、一般的にはコンピ
ュータ装置のプロセッサ・リソース管理に関し、特に、
他のタイプのアプリケーションや作業を同じシステム上
で同時に実行できるようにしながら、割込みのないスム
ーズなリアルタイム・データ・ストリームを提示するの
に適したプロセッサ・リソースを提供することに関す
る。
【0002】
【従来の技術】コンピュータ環境では、質のよいリアル
タイム・データ・ストリームを配信することは大きな課
題である。リアルタイム・データ・ストリームには、例
えば、ビデオ、オーディオ、及びマルチメディア等のデ
ータ・ストリームが含まれる。現在、リアルタイム・デ
ータ・ストリームを配信するためのアプローチは、構成
管理と高ディスパッチ優先度の2つがある。それぞれに
ついて説明する。
【0003】構成管理アプローチでは、リアルタイム・
データ・ストリームの配信にサーバが専用される。特に
サーバは、リアルタイム・データ・ストリームを所与の
レートで配信するために、充分な容量を持たせて構成さ
れる。サーバはリアルタイム・データ・ストリームの配
信専用なので、リアルタイム・ストリームはシステム・
リソースを独占し、他のタイプの作業については、残る
としてもごくわずかなリソースしか残らない。
【0004】高ディスパッチ優先度アプローチの場合、
リアルタイム・アプリケーションはディスパッチ優先度
がかなり高い状態で実行される。この手法は専用システ
ムで実行する必要はないが、この場合でも、リアルタイ
ム・アプリケーションをかなり高い優先度で実行するこ
とによって、実行に充分なリソースをシステムの他の作
業が受け取ることに対する制御あるいは保証はない。
【0005】
【発明が解決しようとする課題】従って、リアルタイム
・データ・ストリームを割込みなくスムーズに配信する
一方、システムで同時に実行される他の作業に所望の量
のプロセッサ・リソースを提供する機構が求められる。
またリアルタイム・データ・ストリームに割当てられる
リソースの量に限度を設け、これにより、選択されたリ
ソース量を非リアルタイム作業に利用できる管理機構も
求められる。
【0006】
【課題を解決するための手段】従来技術の欠点は、コン
ピュータ装置のプロセッサ・リソースを管理する装置を
提供することにより克服され、他の利点も与えられる。
この装置は、1つの例では、コンピュータ装置のリアル
タイム・アプリケーションに、ある量のプロセッサ・リ
ソースが割当てられるようにされたリソース・マネージ
ャを含む。この量は、1つ以上のリアルタイム・アプリ
ケーションのグループのために選択された限度を超える
ことはない。選択された量のプロセッサ・リソースは、
コンピュータ装置の少なくとも1つの非リアルタイム・
アプリケーションに引き続き利用できる。また装置は、
リアルタイム・アプリケーションを処理する手段を含
む。
【0007】本発明の他の実施例で、処理手段は、リア
ルタイム・アプリケーションのグループのために選択さ
れたプロセッサ・リソースの最大量をリアルタイム・ア
プリケーションが超えることを防ぐ手段を含む。
【0008】また他の実施例では、リソース・マネージ
ャは、リアルタイム・データ・レートを配信するため
の、所与の時間内の最大サービス・コストを求めるよう
にされた確認ユニット、リアルタイム・アプリケーショ
ンのリアルタイム・データ・ストリームを配信するサー
ビス・レートを計算するようにされた計算ユニット、及
びサービス・レートが 限度内にあるときに、充分な量
のプロセッサ・リソースがリアルタイム・データ・スト
リームに利用できることを指定するようにされたインジ
ケータを含む。
【0009】本発明の他の側面では、コンピュータ装置
のプロセッサ・リソースを管理する装置が提供される。
1つの例として、この装置はコンピュータ装置のリアル
タイム・アプリケーションのグループに割当て可能な、
選択された量のプロセッサ・リソース、及びコンピュー
タ装置の非リアルタイム・アプリケーションに予約され
た、選択された量のプロセッサ・リソースを含む。
【0010】本発明の管理機能の利点は、リアルタイム
・アプリケーションによって利用される、ある量のプロ
セッサ・リソースを選択でき、選択された量のリソース
を非リアルタイム・アプリケーションに予約できること
である。また本発明の管理機能により、リアルタイム・
アプリケーションがコンピュータ装置の制限を超過させ
ることはなくなる。リアルタイム・アプリケーション
は、割込みなくスムーズに実行でき、他のタイプの作業
もシステム上で処理できる。
【0011】
【発明の実施の形態】本発明に従い、リアルタイム・ア
プリケーション、及びバッチ処理、トランザクション処
理等、他のタイプのアプリケーションも、汎用システム
(つまり非専用システム)で同時に実行できる。特にリ
アルタイム・アプリケーションには、リアルタイム・ア
プリケーションがシステムの制限を超過させないよう
に、一定量のプロセッサ・リソースが与えられる。他の
タイプのアプリケーション(つまり非リアルタイム・ア
プリケーション)にも、ある量のプロセッサ・リソース
が処理のため与えられる。非リアルタイム・アプリケー
ションは、ここで用いているとおり、例えば、バッチ・
アプリケーション、トランザクション処理アプリケーシ
ョン、非リアルタイムにシステムで実行される他の作業
等、リアルタイムに実行されない任意のアプリケーショ
ンを含む。
【0012】本発明の機能を取り入れて使用する非専用
コンピュータ装置の1つの例を図1に示す。以下、これ
について詳しく説明する。
【0013】ある実施例では、コンピュータ装置100
にオペレーティング・システム102、少なくとも1つ
のリアルタイム・サーバ・アプリケーション104、及
び他のタイプのアプリケーション106が含まれる。リ
アルタイム・サーバ・アプリケーション104はリアル
タイム・データを配信し、作業単位108を含む。作業
単位は、例えば、コンピュータ装置の目的である有益な
作業を行うアプリケーション・プログラムである。他の
タイプのアプリケーション106は、例えば、バッチ・
アプリケーション110とトランザクション処理アプリ
ケーション112を含む。これも作業単位を含む。リア
ルタイム・サーバ・アプリケーションとトランザクショ
ン処理アプリケーションは、例えば、コンピュータ装置
100に接続されたワークステーション側のサービング
・クライアント114である。
【0014】オペレーティング・システム102は、1
つの例として、International Business Machines Corp
orationのMVS(多重仮想記憶)オペレーティング・
システムである。ただしこれは1つの例にすぎない。他
のオペレーティング・システムも本発明の主旨または範
囲から逸脱することなく使用できる。ある実施例では、
オペレーティング・システム102は作業負荷マネージ
ャ116、システム・リソース・マネージャ118、デ
ィスパッチャ120、及び作業単位制御ブロック122
を含む。以下、それぞれについて詳しく説明する。
【0015】作業負荷マネージャ116はコンピュータ
装置100の作業負荷を管理する。作業負荷マネージャ
のタスクの1つは、本発明の管理機能によって用いられ
るある値を入力としてコンピュータ装置に読込むことを
含む。例えば、作業負荷マネージャはプロセッサ消費限
度値とプロセッサ消費最大値を読込む。これらの値は、
リアルタイム・アプリケーション(つまりリアルタイム
・データを配信するアプリケーション)及び非リアルタ
イム・アプリケーションに割当てられるリソースの量を
確認するために用いられる。1つの例として、これらの
値はシステム管理者によって設定される。
【0016】プロセッサ消費限度値はそれぞれ、例えば
リアルタイム・アプリケーションに割当てることのでき
るプロセッサ・リソースの量を指定する。この値は、シ
ステムの他のタイプのアプリケーションや作業が同時に
実行できるように選択される。後述するように、異なる
リアルタイム・アプリケーションを異なる限度値に関連
付ける、または同じ限度値にすることができる。同様
に、プロセッサ消費限度値は非リアルタイム・アプリケ
ーションに関連付けることができる。
【0017】プロセッサ消費最大値はそれぞれ、例えば
リアルタイム・アプリケーション、または非リアルタイ
ム・アプリケーションによって使用できるプロセッサ・
リソースの量に対するキャップを指定する。ある実施例
で、これらの値は限度値よりも大きい。これは、処理の
間に、データ・ストリームの配信に一時的なサージがあ
り得、これにより割当て済みリソースの量が不足すると
されるからである。従って、最大値はそれぞれ、処理側
アプリケーションが、プロセッサ消費限度値により指定
されたものより少し多くプロセッサを消費する必要のあ
る場合を考慮してバッファを与える。アプリケーション
によって消費されるリソースの量はこのキャップを超え
ない。これはシステムに追加される作業に、選択された
量のプロセッサ・リソースが与えられることを保証す
る。後述するように、異なるアプリケーションを異なる
最大値に関連付けることができ、または同じ最大値にす
ることができる。
【0018】ある実施例で、プロセッサ消費限度値と最
大値はプロセッサ・サービス単位として表される。ただ
しこれは1つの例にすぎない。当業者には明らかなよう
に、他の測定単位も、本発明の主旨または範囲から逸脱
することなく選択できる。
【0019】作業負荷マネージャは、限度値と最大値の
読込みに続いて、各プロセッサの消費限度値と消費最大
値のペアを取り、アプリケーションの個々の作業単位が
割当てられるリソース・グループを設定する。これによ
り、異なる限度値と最大値を異なるアプリケーションに
指定できる。例えば、リアルタイム・アプリケーション
A、Bをリソース・グループ1に割当て、限度値を50
0、最大値を550とすることができる。また、リアル
タイム・アプリケーションCがリソース・グループ2に
割当てられ、限度値200、最大値210が取られる。
同様に、非リアルタイム・アプリケーションD、Eがリ
ソース・グループ3に割当てられ、限度値2500とさ
れ、最大値は使用されない。これらの例で、リアルタイ
ムと非リアルタイムのアプリケーションは別々のグルー
プである。これは1つの例にすぎない。他の実施例で、
グループにタイプの異なるアプリケーションを追加する
こともできる。限度値と最大値はグループに対して選択
される。従ってグループは全体としてこれらの値を超え
ることはない。
【0020】各リソース・グループは、リソース・グル
ープ・テーブル・エントリ130によってオペレーティ
ング・システムに割当てられたメモリで表される。ある
実施例で、リソース・グループ・テーブル・エントリ1
30は次を含む。 (a)リソース・グループ名132。作業負荷マネージ
ャへの入力値であり、このリソース・グループ・エント
リに対応したリソース・グループの名前を示す。 (b)プロセッサ消費最大値134。これは先に述べた
ように、このリソース・グループのアプリケーションに
よって消費されることが許可されたプロセッサ・リソー
スの量に対するキャップを指定する入力値である。 (c)プロセッサ消費限度値136。これは先に述べた
ように、このグループのアプリケーションに割当てるこ
とのできるプロセッサ・リソースの量を指定する入力値
である。 (d)プロセッサ利用状況データ138。これは、後述
するさまざまな測定データ及び計算データを含む。 (e)キャップ・スライス・パターン140。これは、
詳細は後述するが、リソース・グループの作業単位にキ
ャップを付けるときの特定タイム・スライスを示す計算
値である。
【0021】前記の他に、作業負荷マネージャ116
は、相対的重要度を含めて、コンピュータ装置100の
性能目標を入力として読込み、個々の作業単位(例え
ば、リソース・グループの作業単位)が割当てられるユ
ーザ性能目標クラスを設定する。性能目標は、リアルタ
イム及び非リアルタイムの両方のアプリケーションに関
連付けられる。目標クラスがリソース・グループに関連
付けられる可能性は五分五分である。リソース・グルー
プの一部ではない作業単位も目標クラスの一部になり得
る。また、クラスは2つ以上をリソース・グループに関
連付けることができる。
【0022】性能目標とユーザ性能目標のクラスについ
ては、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"を参照されたい。
【0023】ユーザ性能目標クラスはそれぞれ、クラス
・テーブル・エントリ142によってオペレーティング
・システムに割当てられたメモリで表される。クラス・
テーブル・エントリ142は、例えば次を含む。 (a)リソース・グループ名144。これはリソース・
グループがあると仮定して、ユーザ性能目標クラスが属
するリソース・グループを指定する入力値である。リソ
ース・グループがなければ、このフィールドはブランク
のままである。 (b)ユーザ性能目標146。これはクラスの特定の性
能目標を示す入力値である。性能目標の例として所望の
応答時間がある。 (c)ユーザ性能目標の相対重要度148。これもコン
ピュータ装置に対するこの目標の重要度を指定する入力
値である。 (d)ディスパッチ優先度150。これはコントローラ
158によってセットされる。このクラスの作業単位が
(全体として)ディスパッチされる順序を、システムの
他のクラスに対して示す。 (e)リアルタイム・サーバ・ビット152。これはこ
のクラスの作業単位がリアルタイム・サービング・アプ
リケーションの一部かどうかを示す。このビットは、後
述するように本発明に従ってセットされる。
【0024】オペレーティング・システム102は、作
業負荷マネージャの他にシステム・リソース・マネージ
ャ118を含む。システム・リソース・マネージャはオ
ペレーティング・システムのコンポーネントであり、コ
ンピュータ装置のリソース(CPU利用率等)を管理す
る。ある実施例でシステム・リソース・マネージャ11
8はSGDPC(system goal driven performance con
troller)158を含む。SGDPCは、後述するよう
に、オペレーティング・システムに適応性と自己調整性
を持たせるよう、性能問題の増分検出と補正を行うた
め、フィードバック・ループを与える。
【0025】SGDPCの実施例は、J.D.Amanらによ
る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"を参照されたい。
【0026】コントローラ158の、特に本発明に関わ
る他の詳細について、ここで詳しく説明する。コントロ
ーラ158は、本発明に従って、本発明のプロセッサ利
用状況データの処理、ユーザ性能目標の達成を管理する
ための性能インデックスの計算とシステム・リソース管
理の調整、及びリアルタイム・アプリケーションがシス
テムの制限を超過させないためのプロセッサ・リソース
消費量のキャッピングの調整を担当する。以下、それぞ
れについて説明する。
【0027】オペレーティング・システム102は、さ
らにディスパッチャ120を含む。ディスパッチャ12
0は、コンピュータ装置100によって次に実行される
作業単位を選択するために用いられる。各作業単位は作
業単位制御ブロック(WUCB)122の1つによって
表される。作業単位制御ブロックはそれぞれオペレーテ
ィング・システム102に割当てられたメモリに格納さ
れ、例えば、次の3つのディスパッチ制御フィールドを
含む。 (a)ディスパッチ優先度フィールド154。これはデ
ィスパッチャがディスパッチ作業に取り掛かる順序をデ
ィスパッチャ120に示す。ディスパッチ優先順位の1
つの例を図2に示す。図2に示すように、ある実施例で
最大のディスパッチ優先度はオペレーティング・システ
ム、ディスパッチャ、システム・リソース・マネージ
ャ、及びSGDPCに予約され、次に最大の優先度は、
リアルタイム・アプリケーションの作業単位及びシステ
ム・ファンクションのために使われる。トランザクショ
ン及びバッチ処理のアプリケーションの作業単位には複
数の低い優先度が予約される。これら複数の低優先度
は、先に述べた特許及び特許出願に詳しく述べられてい
るとおり、SGDPCの操作によって割当てられる。 (b)優先使用ビット・フィールド156。これは関連
付けられた作業単位を、レディ状態になってすぐにディ
スパッチ対象として考慮するかどうかをディスパッチャ
に示す。 (c)キャップ・ビット・フィールド158。これは関
連付けられた作業単位をディスパッチできるかどうかを
ディスパッチャに示す。このビットは、ここで詳しく述
べているように、作業単位の特定のグループのために許
可されたプロセッサ実行時間の量を制御するために用い
られる。
【0028】本発明に従って、選択された量のプロセッ
サ・リソース(CPU時間等)をリアルタイム・アプリ
ケーションに、また選択された量をシステムの他のタイ
プの作業に提供するため、コンピュータ装置100のさ
まざまなコンポーネントが用いられる。本発明に従っ
て、リアルタイム・アプリケーションの処理に関連付け
られるロジックの実施例について、図3を参照して詳し
く説明する。
【0029】図3を参照する。最初、実行したいリアル
タイム・アプリケーションがシステム・リソース・マネ
ージャ118に対して自身を識別する(ステップ30
2)。これによりリソース・マネージャは、リアルタイ
ム・アプリケーションが割込みなくスムーズに処理を行
う一方、システムの他の作業の制限を超過させないため
充分なリソースを持つのに必要な調整を行うことができ
る。システム・リソース・マネージャに対してアプリケ
ーションを識別する手順の1つを、図4を参照して詳し
く説明する。図4に示したファンクションは、1つの例
ではシステム・リソース・マネージャ118によって実
行される。
【0030】図4を参照する。1つの例として、最初に
クラス・テーブル・エントリ142のディスパッチ優先
度150と、識別側リアルタイム・アプリケーションに
関連付けられた各作業単位制御ブロック122の優先度
154が"次に最大の優先度"に設定される。これはリア
ルタイム・アプリケーションのために指定される(ステ
ップ402)。
【0031】その後、リアルタイム・アプリケーション
のための個々の作業単位制御ブロック122の各優先使
用ビット156がセットされ、ディスパッチについて関
連付けられた作業単位を、利用できるようになればすぐ
に考慮すべきことがディスパッチャに示される(ステッ
プ404)。
【0032】また、クラス・テーブル・エントリ142
のリアルタイム・サーバ・ビット152がセットされ、
クラスの作業単位がリアルタイム・サーバであり、ディ
スパッチ優先度が調整されないことがSGDPCコント
ローラ158に示される(ステップ406)。
【0033】ディスパッチ優先度、全優先使用ビット、
及びリアルタイム・サーバ・ビットのセット後、識別フ
ァンクションは完了する。従って、図3に戻るが、リア
ルタイム・アプリケーションの次のタスクは、リソース
をアプリケーションに割当てることである(ステップ3
04)。
【0034】割当て方法の実施例を図5及び図6を参照
して詳しく説明する。図6のロジックはさまざまなプロ
セッサ利用状況データを使用する。プロセッサ利用状況
データについては図5を参照して詳しく説明する。デー
タの説明の後、割当てロジックの実施例について説明す
る。
【0035】図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/秒当たりの
前のサービス・コストが保存される。
【0036】先に述べたとおり、前記のプロセッサ利用
状況データは、本発明の割当てファンクションの実行時
に用いられる。一般的に、システム・リソース・マネー
ジャの割当てファンクションは、リアルタイム・データ
・ストリームを配信するためのプロセッサ容量を割当
て、保証するために、リアルタイム・サーバによって起
動される。割当てファンクションの入力値は、リアルタ
イム・ストリームのKB/秒データ・レートである。割
当てのとき、リアルタイム・データ・ウィンドウ枠がス
キャンされ、ウィンドウの18の枠で転送されたKB/
秒当たりの最大プロセッサ・サービス・コストが検出さ
れる。次にこの値により、新しいストリームのサービス
要件が確認される。その後、システム管理者によって指
定されたグループ・サービス限度136の範囲内で、必
要なプロセッサ容量が利用できるかどうか確認される。
割当てファンクションの実施例の詳細については、さら
に図6を参照して説明する。
【0037】図6を参照する。最初、ウィンドウ枠イン
デックス518がセットされ、ウィンドウ枠をスキャン
するときの最初のウィンドウ枠がポイントされて、高レ
ートと呼ばれる変数が0に初期化される(ステップ60
0)。その後、KB/秒(データ・レート)を配信する
サービス・コストが次のように計算される。
【数1】リアルタイム・サービス・レート・ウィンドウ
514÷(割当て済みリアルタイム・レート・ウィンド
ウ512−リアルタイム一時停止レート・ウィンドウ5
16)(ステップ602)
【0038】ステップ602で計算された値は現在のサ
ービス・レートであり、これはまた新しいレートと呼ば
れる。新しいレートはセーブされた高レートに対してチ
ェックされる(照会604)。割当て済みリアルタイム
・レート・ウィンドウ枠512にセーブされた新しいレ
ートが高レートより大きい場合、高レートは新しいレー
トにセットされる(ステップ606)。新しい高レート
をセーブした後、または現在のサービス・レートが高レ
ートより小さいか等しい場合は、さらに別のウィンドウ
枠があるかどうか確認される(照会608)。特にウィ
ンドウ枠インデックスが18と比較され、18より小さ
い場合は、リアルタイム・ウィンドウ枠インデックス5
18が1つ増分される(ステップ610)。次に制御は
ステップ602の"ウィンドウ枠のレート計算"に移る。
【0039】他方、スキャンすべきウィンドウ枠が他に
ない場合は、新しいリアルタイム・データ・ストリーム
を配信するのに必要なサービスが次のように計算され
る。
【数2】新しいストリームのKB×ウィンドウのKB当
たりの最大サービス・レート
【0040】ここで新しいストリームのKBは入力値、
最大サービス・レートは、高レート変数に格納されたレ
ートである。
【0041】必要なサービスの量が計算された後、グル
ープ・サービス限度136内でサービス量が利用できる
かどうか確認される(照会614)。充分な容量が利用
できない場合、不成功を示す戻りコードがセットされ
(ステップ616)、割当てファンクションは完了する
(ステップ618)。
【0042】リアルタイム・データ・ストリームを配信
するのに充分な容量がある場合は、新しいストリームの
レートが現在の割当て済みリアルタイム・レート506
に追加され(ステップ620)、成功を示す戻りコード
がセットされる(ステップ622)。その後、割当てフ
ァンクションは完了する(ステップ618)。
【0043】図3に戻る。割当てファンクションが実行
された後、リアルタイム・サービング・アプリケーショ
ンを実行でき、これによりリアルタイム・データ・スト
リームが配信される(ステップ306)。
【0044】リアルタイム・サービング・アプリケーシ
ョン及び非リアルタイム・アプリケーションの実行時、
SGDPCコントローラ158がシステム・リソースの
利用状況を監視し、監視内容をもとに制御を調整する。
【0045】1つの例として、性能コントローラは、例
えばユーザ性能目標の達成を管理するため、ディスパッ
チ優先度等、システム・リソース制御を調整すること
(図7、ステップ700)、及び特定のリソース・グル
ープによるリソース消費を制限するため、それらのグル
ープのキャッピングを調整すること(ステップ702)
を含めて、2つのタスクを実行する。それぞれのタスク
についてここで詳しく説明する。
【0046】最初のタスク、システム・リソース制御の
調整(ステップ700)は、1つの例として、システム
のアプリケーションの実行時にある間隔で実行される。
ある実施例で、コントローラ158は10秒毎に起動さ
れ、システム制御を調整する必要があるかどうか確認す
る。
【0047】特にコントローラ158の制御調整機能
は、性能目標の達成度を測定し、性能を改良する必要の
あるユーザ性能目標クラスを選択し、関連付けられた作
業単位のシステム制御パラメータ(つまりディスパッチ
優先度等の被制御変数)を変更することによって選択さ
れたユーザ性能目標クラスの性能を改良する。しかしデ
ィスパッチ優先度等の特定パラメータを変更する前に、
性能コントローラ158は、本発明に従って、リアルタ
イム・サーバ・ビット152をチェックし、アプリケー
ションがリアルタイム・サーバ・アプリケーションかど
うか確認する。ビットがオン、つまりリアルタイム・デ
ータ・ストリームの配信を示す場合は、クラスのディス
パッチ優先度(優先度150)及び適応できる各作業単
位のディスパッチ優先度(優先度154)は変わらない
ままである。これによりリアルタイム・データ・ストリ
ームに一定量のリソースが保証される。
【0048】リアルタイム・サーバ・ビットがオフのと
き、ディスパッチ優先度は調整できる。非リアルタイム
・アプリケーションに対するコントローラ158の処理
については、C.K.Eilertらによる1995年2月3日
付米国特許出願番号第08/383042号、"Multi-S
ystem Resource Capping"を参照されたい。しかし本発
明に従って、非リアルタイム・サービング作業単位に利
用できるプロセッサ容量は、プロセッサ総容量から、リ
アルタイム・サービング作業単位に保証され、前記作業
単位によって用いられるプロセッサ容量を引いたもので
ある。
【0049】2つ目のタスク、キャッピングの調整(ス
テップ702)も、先に述べた"Multi-System Resource
Capping"で説明されているものと同様に働く。キャッ
ピング調整ファンクションは、リソース消費量を、リソ
ース・グループ最大値134で当該リソース・グループ
に指定された最大値に制限するため、各リソース・グル
ープに割当てられた作業単位をディスパッチ不能(キャ
ップ済み)にする時間を決定する。
【0050】特に、時間の長さ(長さはプロセッサ速度
に依存)は、例えば64間隔等、いくつかの間隔に分け
られ、キャッピング調整ファンクションは、各リソース
・グループの作業単位にキャップを付ける間隔の個数を
計算する。次に64間隔のそれぞれに対応し、その間隔
でリソース・グループにキャップを付けるかどうかを示
すインジケータをセットする。これらのインジケータは
キャップ・スライス・パターン140を形成する。キャ
ップ・ビットは、"Multi-System Resource Capping"に
述べられているように、64個の間隔全体に比較的均一
に分散される。
【0051】64の間隔のそれぞれでシステム・リソー
ス・マネージャのキャップ・ビット操作ファンクション
が起動され、キャップ・ビット・パターンがチェックさ
れる。これにより、どのリソース・グループにキャップ
を付けるか確認され、作業単位制御ブロックにキャップ
・ビットがセットされる。キャップ・ビットはディスパ
ッチャ120によって問い合わせられ、作業単位をディ
スパッチできるかどうか確認される。本発明では、シス
テム管理者が、リアルタイム・サービング・リソース・
グループの最大値を指定し、キャッピング・ファンクシ
ョンは、リアルタイム・サービング・アプリケーション
が、指定された最大プロセッサ容量以上を消費しないこ
とを保証する。
【0052】キャッピング・ファンクションの実施例に
ついて、図8及び図9を参照して詳しく説明する。まず
図8を参照する。最大値を有する、従って処理が必要で
あるリソース・グループが他にあるかどうか確認される
(照会800)。処理すべきグループが他にない場合
は、ファンクションは完了し、制御はステップ802に
移る。
【0053】処理すべきリソース・グループが他にある
場合は、リソース・グループにキャップ・スライスが現
在セットされているか、または現在、指定最大値以上の
プロセッサ時間を消費しているかどうか確認される(ス
テップ804)。このチェックの結果が否定的なら、制
御はステップ800に移り、次のリソース・グループが
処理される。
【0054】他方、キャップ・スライスが現在セットさ
れているか、またはリソース・グループが最大値を超え
ている場合は、制御はステップ806に移り、リソース
・グループのキャップ・スライスが計算される。
【0055】ステップ806で、許可されるプロセッサ
・サービス単位の値(つまり最大値134)が、次のス
テップでキャップ・スライスの値に変換される。 1.許可される非キャップ・スライスの値を次のように
計算する。
【数3】非キャップ・スライス=SA*(TSLOW−
CSLOW)/SEROW
【0056】SA − 許可されたプロセッサ・サービ
ス単位(つまり最大値) 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に格納する。キャップ・スライス
数は、現在のウィンドウ枠インデックスによってインデ
ックスが付けられたキャップ・スライス配列要素に格納
される。
【0057】キャップを付けるべきキャップ・スライス
数を求める他に、各リソース・グループのキャップ・ス
ライスが、キャップ・ビット・マニピュレータが問い合
わせをするため、キャップ・スライス・パターンに比較
的均一に分散される。キャップ付きスライス数が最大の
リソース・グループには特定のスライスが最初に割当て
られ、次に最大のキャップ・スライス数を要するリソー
ス・グループが次に処理され、というように、キャップ
付きスライスを有するすべてのリソース・グループが処
理されていく。システム全体で、同じ個数のリソース・
グループ±1グループに、キャップ・スライス・パター
ンの64個のスライスのそれぞれの間で、特定スライス
が特定のリソース・グループに割当てられるとき、各ス
ライスの間でキャップが付けられるリソース・グループ
の値のカウントを維持することによってキャップが付け
られる。このカウントはテストされ、グループに特定ス
ライスを割当てるかどうか確認される。64個のすべて
のスライスが割当てられるまでは、2つのリソース・グ
ループにスライスが割当てられることはない。64個の
すべてのスライスが2回割当てられるまでは、3つのグ
ループにスライスが割当てられることはない。以下同様
である。
【0058】キャップ・スライスを分散させる実施例に
ついて、図9を参照して詳しく説明する。最初、配列要
素を0にセットすることによってシステム・データ、キ
ャップ・スライス・カウント配列(SCA)が初期化さ
れる(ステップ900)。スライス・カウント配列はカ
ウントの配列である。各エントリはそのスライスの間に
キャップが付けられるグループの値を保持する。キャッ
プ・スライス・カウント配列には64のエントリがあ
る。各エントリは時間の64分の1を表す。
【0059】その後、まだ処理されていないキャップ・
スライスの値が最大のリソース・グループが選択される
(ステップ902)。処理すべきリソース・グループが
ない場合は、制御は終了する(ステップ904)。処理
すべきリソース・グループが他にある場合は制御はステ
ップ906に進む。
【0060】ステップ906でリソース・グループ・デ
ータが初期化される。特にスライス増分(SI)、スラ
イス・カウント基準(SCC)、及びスライス・カウン
ト配列インデックス(SCAI)、が次のように初期化
される。(SI−1)は、リソース・グループの各キャ
ップ・スライスの間でスキップできるスライス数であ
り、リソース・グループのキャップ・スライスは64個
の可能なキャップ・スライスで比較的均一に分散され
る。SIは、グループのキャップ・スライス数で分けら
れた64にセットされる。SCCはスライス・カウント
配列の最大値にセットされる。スライス・カウント配列
のすべてのカウントが同じ値なら、SCCに1が追加さ
れる。SCAIはキャップ・スライス・パターンの最初
のスライスで始めるため、1にセットされる。
【0061】次に、SCA(SCAI)セルのカウント
が、このグループの基準(SCC)に対してチェックさ
れる(照会908)。スライスがSCC個のグループに
割当てられているかがチェックされ、またはすでにこの
グループに割当てられている場合は、制御はステップ9
10に移り、ここでSCAIに1が追加される。SCA
Iが65に増分されると、これは1にリセットされる
(つまりSCAIは64を法とする)。スライス・カウ
ント配列のすべてのカウントが同じ値であれば、SCC
に1が追加される。制御は次にステップ908に戻る。
【0062】スライスがSCCより小さい個数のリソー
ス・グループに割当てられていて、処理されている現在
のグループに割当てられていない場合、制御はステップ
912に移り、そこでスライスがグループに割当てら
れ、SCAのスライスの利用状況カウントに1が追加さ
れる。スライスは、リソース・グループのキャップ・ス
ライス・パターン140のSCAIに対応したビットを
セットすることによってリソース・グループに割当てら
れる。制御は次に照会914に移る。
【0063】照会914では、現在のリソース・グルー
プに割当てるスライスが他にあるかどうか確認される。
特定のスライスがすべてのグループのキャップ・スライ
スに割当てられている場合、制御はステップ902に戻
り、他のリソース・グループがチェックされる。しかし
グループに他の特定のスライスを割当てる必要がある場
合は、制御はステップ916に移る。
【0064】ステップ916では、SCAIにSIが追
加され、次にチェックすべき特定のスライスがセットさ
れる。SCAIが64より大きい場合はSCAIから6
4が引かれる。SCAのすべてのカウントが同じ値な
ら、SCCに1が追加される。次に制御はステップ90
8に戻る。その後、キャップ・スライスの分散が完了す
る。
【0065】再び図3の概要図に戻る。識別、割当て、
及び実行のファンクションが完了すると、リアルタイム
・データ・ストリームを配信するために割当てられたプ
ロセッサ・リソースの割当てが、割当て解除ファンクシ
ョンを使用して割当て解除される(ステップ308)。
特に、リアルタイム・サーバがシステム・リソース・マ
ネージャの割当て解除ファンクションを起動して、リア
ルタイム・データ・ストリームが終了し、割当て済みプ
ロセッサ・リソースをそれ以上消費することはないこと
を示す。
【0066】割当て解除ファンクションの実施例につい
て、図10を参照して説明する。1つの例として、プロ
セッサ・リソースを割当て解除するために、現在の割当
て済みリアルタイム・レート506から入力データ・レ
ートが引かれる(ステップ1000)。従って現在のレ
ートは、これらのリソースが他のデータ・ストリームの
配信に利用できることを示す。その後、割当て解除は完
了する。
【0067】本発明に従って、リアルタイム・データ・
ストリームの配信時に、クライアントは表示の一時停止
を決定することができる。その場合は、リアルタイム・
サーバがシステム・リソース・マネージャの一時停止フ
ァンクションを起動し、リアルタイム・データ・ストリ
ームを表示するクライアントが、例えばビデオの表示を
一時停止したことを示す。一時停止したストリームは、
プロセッサの消費量には関係しないが、それらに必要な
プロセッサ時間は保存される。従って、一時停止したス
トリームのデータ・レートは計算に用いられる。一時停
止ファンクションの実施例については、図11を参照し
て詳しく説明する。また再開ファンクションについても
述べる。
【0068】図11を参照する。最初、クライアントが
リアルタイム・データ・ストリームの配信を一時停止し
ているか、または一時停止の後に配信を再開しているか
どうか確認される(照会1100)。このオプションが
一時停止なら、入力データ・レートが現在の一時停止リ
アルタイム・レート510に追加される(ステップ11
02)。その後、本発明の一時停止ファンクションは完
了する(ステップ1104)。
【0069】他方、オプションが再開なら、現在の一時
停止データ・レートから入力データ・レートが引かれ
(ステップ1106)、再開ファンクションは完了する
(ステップ1104)。
【0070】上に述べたのは、選択された量のリソース
をリアルタイム・サーバに提供し、また、システムの他
のタイプのアプリケーション及び他の作業を処理するた
め、選択された量のリソースが予約されることを保証す
る、プロセッサ・リソース管理機能である。
【0071】上に述べたコンピュータ装置は1つの例に
すぎない。他のシステムや環境も、本発明の主旨から逸
脱することなく本発明を取り入れ、あるいは利用するこ
とができる。
【0072】本発明は、例えばコンピュータ使用可能媒
体を有する製品(コンピュータのプログラム・プロダク
ト等)に加えることができる。媒体には、本発明の機能
を提供し促進するため、コンピュータ読取り可能プログ
ラム・コード手段が具体化される。製品はコンピュータ
装置の一部として追加するか、または個別に販売するこ
ともできる。
【0073】ここに示したフローチャートも1つの例に
すぎない。これらの図やステップ(あるいは操作)は本
発明の主旨から逸脱することなく変更することができ
る。例えばステップは異なる順序で実行できる。あるい
はステップは追加、削除、または変更可能である。これ
らの変形はすべて特許請求範囲とみなされる。
【0074】以上、好適な実施例が詳細に図示及び説明
されたが、様々な変更、追加、代替等が、本発明の趣旨
から逸脱することなく実現可能であり、従って本発明の
範囲内で考慮されることが当業者には理解されよう。
【0075】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0076】(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つ
のリアルタイム・アプリケーションが超えることを防ぐ
手段を含む、前記処理する手段と、を含む、前記(1
5)記載の装置。
【図面の簡単な説明】
【図1】本発明の管理機能を取り入れて使用するコンピ
ュータ装置の1つの例を示す図である。
【図2】本発明に従って用いられるディスパッチ優先度
の1つの例を示す図である。
【図3】本発明に従って、リアルタイム・アプリケーシ
ョンの処理に関連して用いられるロジックの実施例を示
す図である。
【図4】本発明に従って、図3の識別機能に関連付けら
れるロジックの1つの例を示す図である。
【図5】本発明に従って用いられるプロセッサ利用状況
データの1つの例を示す図である。
【図6】本発明に従って、リアルタイム・アプリケーシ
ョンにプロセッサ・リソースを割当てるために用いられ
るロジックの実施例を示す図である。
【図7】本発明に従って、リアルタイム・アプリケーシ
ョンの実行時に用いられるロジックの実施例を示す図で
ある。
【図8】本発明に従って、図7の実行手順のキャッピン
グ機能実行時に用いられるロジックの実施例を示す図で
ある。
【図9】本発明に従って、図7の実行手順のキャッピン
グ機能実行時に用いられるロジックの実施例を示す図で
ある。
【図10】本発明に従って、リアルタイム・アプリケー
ションに割当てられるリソースの割当て解除時に用いら
れるロジックの実施例を示す図である。
【図11】本発明に従って、リアルタイム・アプリケー
ションの実行の一時停止/再開時に用いられるロジック
の実施例を示す図である。
【符号の説明】
100 コンピュータ装置 102 オペレーティング・システム 104 リアルタイム・サーバ・アプリケーション 106 他のタイプのアプリケーション 108 作業単位 110 バッチ・アプリケーション 112 トランザクション処理アプリケーション 114 サービング・クライアント 116 作業負荷マネージャ 118 システム・リソース・マネージャ 120 ディスパッチャ 122 作業単位制御ブロック 130 リソース・グループ・テーブル・エントリ 132、144 リソース・グループ名 134 プロセッサ消費最大値 136 プロセッサ消費限度値 138 プロセッサ利用状況データ 140 キャップ・スライス・パターン 142 クラス・テーブル・エントリ 146 ユーザ性能目標 148 ユーザ性能目標の相対重要度 150 ディスパッチ優先度 152 リアルタイム・サーバ・ビット 154 ディスパッチ優先度フィールド 156 優先使用ビット・フィールド 158 キャップ・ビット・フィールド 502 グループ・サービス・レート 504 前の割当て済みリアルタイム・レート 506 現在の割当て済みリアルタイム・レート 508 前の一時停止リアルタイム・レート 510 現在の一時停止リアルタイム・レート 512 割当て済みリアルタイム・レート・ウィンドウ 514 リアルタイム・サービス・レート・ウィンドウ 516 リアルタイム・一時停止レート・ウィンドウ 518 リアルタイム・ウィンドウ枠インデックス
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ピーター・ビィ・ワコム アメリカ合衆国12590、ニューヨーク州ワ ッピンガーズ・フォールズ、ワイルドウッ ド・マナー 17ビィ

Claims (17)

    【特許請求の範囲】
  1. 【請求項1】コンピュータ装置のプロセッサ・リソース
    を管理する装置であって、 少なくともリアルタイム・アプリケーションを含むリア
    ルタイム・アプリケーションのグループに選択された限
    度を超えないある量のプロセッサ・リソースを、前記コ
    ンピュータ装置のリアルタイム・アプリケーションに割
    当てるようにされ、選択された量の前記プロセッサ・リ
    ソースを、前記コンピュータ装置の少なくとも1つの非
    リアルタイム・アプリケーションに引き続き利用でき
    る、リソース・マネージャと、 前記リアルタイム・アプリケーションを処理する手段
    と、 を含む、装置。
  2. 【請求項2】前記リアルタイム・アプリケーションの処
    理が求められていることを前記コンピュータ装置に指示
    する手段を含む、請求項1記載の装置。
  3. 【請求項3】前記指示手段は、 前記リアルタイム・アプリケーションのディスパッチ優
    先度セットと、 前記ディスパッチ優先度は調整されないことを指定する
    ようにされたインジケータと、 を含む、請求項2記載の装置。
  4. 【請求項4】前記リソース・マネージャは、 リアルタイム・データ・レートを配信するための、所与
    の時間内の最大サービス・コストを求めるようにされた
    確認ユニットと、 前記リアルタイム・アプリケーションのリアルタイム・
    データ・ストリームを配信するサービス・レートを計算
    するようにされた計算ユニットと、 前記サービス・レートが前記限度内にあるときに、充分
    な量の前記プロセッサ・リソースが前記リアルタイム・
    データ・ストリームに利用できることを指定するように
    されたインジケータと、を含む、請求項1記載の装置。
  5. 【請求項5】リアルタイム・アプリケーションの前記グ
    ループに現在割当てられているプロセッサ・リソースの
    量を追跡するために、前記リアルタイム・データ・スト
    リームのデータ・レートを、現在の割当て済みデータ・
    レートに加えるようにされた加算ユニットを含む、請求
    項4記載の装置。
  6. 【請求項6】前記リソース・マネージャはさらに、前記
    リアルタイム・アプリケーションが前記プロセッサ・リ
    ソースを必要としなくなったとき、前記割当てられた量
    の前記プロセッサ・リソースを割当て解除するようにさ
    れた、請求項1記載の装置。
  7. 【請求項7】前記リソース・マネージャは、割当て解除
    された量のプロセッサ・リソースがリアルタイム・アプ
    リケーションの前記グループに利用できるように、現在
    割当てられているデータ・レートから前記リアルタイム
    ・アプリケーションのデータ・レートを引くようにされ
    た減算器を含む、請求項6記載の装置。
  8. 【請求項8】前記リソース・マネージャは、前記リアル
    タイム・アプリケーションの処理を一時停止するように
    された、請求項1記載の装置。
  9. 【請求項9】前記リソース・マネージャは、前記一時停
    止の間に、前記割当てられた量のプロセッサ・リソース
    を予約する手段を含む、請求項8記載の装置。
  10. 【請求項10】前記リソース・マネージャは、前記一時
    停止したリアルタイム・アプリケーションの処理を再開
    するようにされた、請求項8記載の装置。
  11. 【請求項11】前記リアルタイム・アプリケーションを
    処理する前記手段は、前記リアルタイム・アプリケーシ
    ョンに関連付けられ、前記コンピュータ装置の性能目標
    を達成するため制御パラメータに調整が必要なとき、調
    整されるようにされた前記制御パラメータを含む、請求
    項1記載の装置。
  12. 【請求項12】前記少なくとも1つの非リアルタイム・
    アプリケーションを処理する手段を含み、前記1つの非
    リアルタイム・アプリケーションを処理する手段は、前
    記コンピュータ装置の性能目標を達成するため、制御パ
    ラメータに調整が必要なとき、前記1つの非リアルタイ
    ム・アプリケーションに関連付けられた前記制御パラメ
    ータを調整する手段を含む、請求項1記載の装置。
  13. 【請求項13】前記処理手段は、リアルタイム・アプリ
    ケーションの前記グループに選択された前記プロセッサ
    ・リソースの最大量を前記リアルタイム・アプリケーシ
    ョンが超えることを防ぐ手段を含む、請求項1記載の装
    置。
  14. 【請求項14】前記防止手段は、前記最大量を超えずに
    は前記リアルタイム・アプリケーションの作業単位がデ
    ィスパッチ不能であることを指示するようにされたイン
    ジケータを含む、請求項13記載の装置。
  15. 【請求項15】コンピュータ装置のプロセッサ・リソー
    スを管理する装置であって、 前記コンピュータ装置のリアルタイム・アプリケーショ
    ンのグループに割当て可能な、選択された量のプロセッ
    サ・リソースと、 前記コンピュータ装置の非リアルタイム・アプリケーシ
    ョンに予約された、選択された量の前記プロセッサ・リ
    ソースと、 を含む、装置。
  16. 【請求項16】前記選択された量の前記プロセッサ・リ
    ソースはリアルタイム・アプリケーションの複数のグル
    ープに割当てることができる、請求項15記載の装置。
  17. 【請求項17】前記の量のプロセッサ・リソースの少な
    くとも一部を、リアルタイム・アプリケーションの前記
    グループの1つのリアルタイム・アプリケーションに割
    当てるようにされたリソース・マネージャと、 前記1つのリアルタイム・アプリケーションを処理する
    手段であって、リアルタイム・アプリケーションの前記
    グループに選択された前記プロセッサ・リソースの最大
    量を、前記1つのリアルタイム・アプリケーションが超
    えることを防ぐ手段を含む、前記処理する手段と、を含
    む、請求項15記載の装置。
JP05365798A 1997-03-28 1998-03-05 プロセッサ・リソース管理装置 Expired - Lifetime JP3547976B2 (ja)

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)

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

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

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

Cited By (4)

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