JP3172423B2 - プロセッサ資源を管理するための装置および方法 - Google Patents

プロセッサ資源を管理するための装置および方法

Info

Publication number
JP3172423B2
JP3172423B2 JP01247796A JP1247796A JP3172423B2 JP 3172423 B2 JP3172423 B2 JP 3172423B2 JP 01247796 A JP01247796 A JP 01247796A JP 1247796 A JP1247796 A JP 1247796A JP 3172423 B2 JP3172423 B2 JP 3172423B2
Authority
JP
Japan
Prior art keywords
systems
work
data
resource
performance
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
JP01247796A
Other languages
English (en)
Other versions
JPH08249291A (ja
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.)
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 JPH08249291A publication Critical patent/JPH08249291A/ja
Application granted granted Critical
Publication of JP3172423B2 publication Critical patent/JP3172423B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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/5083Techniques for rebalancing the load in a distributed system

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、相互接続され協調
動作する1組の独立コンピュータ・システム間でのユー
ザ・アプリケーション・プログラム実行のパフォーマン
ス管理に関する。
【0002】ユーザ・アプリケーション・プログラム
は、コンピュータ・システムの目的である有用な作業を
実行する。このようなアプリケーション・プログラム
は、その実行がコンピュータのオペレーティング・シス
テム・ソフトウェアによって管理される作業単位を形成
する。このようなアプリケーション・プログラムが1つ
の分散作業負荷を形成すると言われるのは、1組の共通
パフォーマンス目標を共用しながら、1組のシステム間
に分散されて実行される独立プログラムであるためであ
る。
【0003】このようなコンピュータ・システムが独立
していると言われるのは、それぞれが完全に別個であ
り、全体として機能するコンピュータ・システムであっ
て、IBMの多重仮想記憶/エンタープライズ・システ
ム体系(MVS/ESA)TMオペレーティング・システ
ムなどのオペレーティング・システムの専用コピーによ
ってその資源が制御されるためである。また、このよう
なコンピュータ・システムが協調動作すると言われるの
は、それぞれが同一組内の他のコンピュータ・システム
と操作測定データを交換するためである。さらに、この
ようなコンピュータ・システムが相互接続されていると
言われるのは、それぞれが、同一組内の他のすべてのシ
ステムにその操作測定データを送信でき、同一組内の他
のすべてのシステムから類似データを受信できるためで
ある。このようなコンピュータ・システムが1つの組を
構成するのは、すべてが上記の特性を備えているためで
ある。
【0004】本発明は、オペレーティング・システムが
同一組のシステム用に設定したそれぞれの個別パフォー
マンス目標ごとにパフォーマンス目標クラスを1つずつ
設定できるようになっているという意味でのパフォーマ
ンス管理と、同一組内の単一システムまたは複数システ
ムのいずれで所与のアプリケーション・プログラムが実
行されるかにかかわらず、実行のためにアプリケーショ
ン・プログラムをスケジューリングする部分として各ア
プリケーション・プログラムをそれぞれの目標クラスに
分類することと、所与の目標クラスに割り当てられたア
プリケーション・プログラムが1つの組と見なされるす
べてのシステム間のパフォーマンス目標を達成するよう
に、アプリケーション・プログラムの実行を制御するこ
とに関する。
【0005】
【従来の技術】1994年4月4日に出願され、本発明
の出願人に譲渡され、参照により組み込まれる、J.D.ア
マン他(Aman)による"APPARATUS AND METHOD FOR MANA
GING ADATA PROCESSING SYSTEM WORKLOAD ACCORDING TO
TWO OR MORE DISTINCT PROCESSING GOAL TYPES"という
名称の米国特許出願第08/222755号に開示され
た発明では、ユーザ・パフォーマンスの標準と標準の重
要性を指定することができ、その標準および重要性に応
じてシステム・パフォーマンスを管理し、このような管
理の手引きを行うためにシステム・パフォーマンス・パ
ラメータを指定したり人間が介入する必要なしに、導入
システムの目標を達成する責任をオペレーティング・シ
ステム・ソフトウェアが引き継ぐ方法を開示している。
この発明は、1994年4月4日に出願され、本発明の
出願人に譲渡され、参照により組み込まれる、C.アイラ
ート(Eilert)およびB.ピアス(Pierce)による"APPAR
ATUS AND METHOD FOR MANAGING SERVER WORKLOAD ACCOR
DING TO CLIENT PERFORMANCE GOALS IN A CLIENT/SERVE
R DATA PROCESSING SYSTEM"という名称の米国特許出願
第08/222752号に開示された発明によって、ク
ライアントサーバ環境に拡張された。また、本発明と同
じ日に出願され、本発明の出願人に譲渡される、C.K.ア
イラートおよびP.ヨコム(Yocom)による"APPARATUS AN
D METHOD FORMANAGING A DISTRIBUTED DATA PROCESSING
SYSTEM WORKLOAD ACCORDING TO A PLURALITY OF DISTI
NCT PROCESSING GOAL TYPES"という名称の米国特許出願
第08/383168号に開示された発明は、参照によ
り組み込まれる。この発明は、前記特許出願第08/2
22755号の発明をマルチシステム環境に拡張したも
のである。
【0006】
【発明が解決しようとする課題】まだ満たされていない
要求条件は、導入システムが、作業負荷によって消費さ
れるプロセッサ資源を制限し、プロセッサ消費標準内の
作業負荷パフォーマンス標準に応じて管理し、複数シス
テム間のパフォーマンス標準と消費標準とを管理できる
ようにすることである。
【0007】
【課題を解決するための手段】本発明により、作業単位
を1つまたは複数の資源グループにグループ化し、それ
ぞれの資源グループに割り当てられた作業単位によって
消費されるコンピュータ・システム処理容量の最大量と
して消費標準を指定することができる。資源グループ
は、マルチシステムの適用範囲を有することができる。
コンピュータのオペレーティング・システムは、指定さ
れた最大量を実施する。個々のコンピュータ・システム
内の作業単位が消費する処理容量を制限することは、コ
ンピュータ・ソフトウェアの分野では周知であり、作業
単位またはプログラム・キャッピングと呼ばれることが
多い。通常、キャッピングは、1つの作業単位がオペレ
ーティング・システムのディスパッチャ構成要素による
ディスパッチに使用できる時間量を制御することによっ
て実施される。
【0008】前記の米国特許出願第08/222755
号および第08/383168号の発明と同様、本発明
でも、1つまたは複数のユーザ・パフォーマンス目標ク
ラスのそれぞれについて1つずつの目標を含むパフォー
マンス標準を指定し、それぞれの目標を達成することの
重要性を指定することができる。さらに本発明では、そ
れぞれが指定のプロセッサ資源消費最大値を有するプロ
セッサ資源消費グループにユーザ・パフォーマンス目標
クラスをグループ化することを含む、プロセッサ消費標
準の指定が可能である。
【0009】本発明の目的は、資源グループ最大値と、
ユーザ・パフォーマンス目標および重要性が分かってい
る場合に、このような最大値、目標、重要性が最も適切
に達成されるようにコンピュータ・システム資源を実行
作業単位に割り振る責任をオペレーティング・システム
が引き受けることである。
【0010】資源グループおよびユーザ・パフォーマン
ス目標クラスは、作業負荷が分散されている複数の相互
接続協調動作独立コンピュータ・システムにまたがる可
能性がある。それぞれのローカル・システムは、ローカ
ル・システム上の作業負荷パフォーマンスと資源消費の
データを収集し、そのデータのサブセットを遠隔システ
ムに定期的に同報する。ローカル・システム上で収集し
たデータと、遠隔システムから受け取ったデータとの組
合せにより、それぞれのシステムは、マルチシステムの
最大値、目標、重要性を達成させるために、個別に資源
調整値を決定することができる。
【0011】
【発明の実施の形態】図1は、3つの相互接続協調動作
コンピュータ・システム(100−A、100−B、1
00−C)を有する実施例に関する本発明の環境および
主な特徴を示している。本発明の環境は、1組のコンピ
ュータ・システム間に作業負荷が分散されるというもの
である。本発明では、その組のシステムについて単一方
針によりこのような作業負荷を管理することができる。
その組のシステムについて単一方針を用意すれば、分散
作業負荷の単一イメージ・ビューを提供するのに役立
つ。当業者は、本発明の精神または範囲を逸脱せずにこ
のような相互接続協調動作コンピュータ・システムをい
くつでも使用できることが分かるであろう。
【0012】3つのコンピュータ・システム(100−
A、100−B、100−C)は1つの分散作業負荷を
実行し、それぞれのコンピュータ・システムはIBMの
MVS/ESATMオペレーティング・システムなどのオ
ペレーティング・システム(101)の専用コピーによ
って制御される。オペレーティング・システムのこのよ
うなコピーのそれぞれは、本明細書に記載する諸ステッ
プを実行する。以下の説明でローカル・システムと言う
場合、それは、説明する諸ステップを実行している特定
のシステムを意味する。管理される他のすべてのシステ
ムは遠隔システムである。すなわち、説明の際の観点
は、ローカル・システムと見なされる特定の1つのシス
テムのものであり、他のすべてのシステムは遠隔システ
ムと見なされる。
【0013】ディスパッチャ(102)は、オペレーテ
ィング・システムの構成要素であって、そのコンピュー
タによって次に実行される作業単位を選択するものであ
る。作業単位(103)は、コンピュータ・システムの
目的である有用な作業を実行するアプリケーション・プ
ログラムである。オペレーティング・システムに割り振
られたメモリ内では、それぞれの作業単位は、アドレス
空間制御ブロック(ASCB)(104)という制御ブ
ロックによって表される。それぞれのASCBは、関連
作業単位をディスパッチしてもよいかどうかをディスパ
ッチャに示す、ディスパッチ制御フィールド(105)
を1つずつ有する。このフィールドはキャップ・ビット
(105)と呼ばれる。このディスパッチ標識は、本発
明の動作によって設定されるシステム制御データ要素ま
たはパラメータであり、1つの資源グループの作業単位
用に見込まれているプロセッサ実行時間の量を制御する
ために使用する。
【0014】本発明は、システム管理者によって設定さ
れ、データ記憶機構(108)に格納されるパフォーマ
ンス目標(106)とプロセッサ消費最大値(107)
を入力として受け取る。この目標と最大値は、管理され
るすべてのシステム(100−A、100−B、100
−C)にわたる作業に適用される。また、データ記憶機
構(108)は、管理されるそれぞれのシステムからア
クセス可能である。
【0015】ここに示すパフォーマンス目標は応答時間
目標(秒単位)である。当業者は、本発明の精神または
範囲を逸脱せずに他の目標または追加目標を選択できる
ことが分かるだろう。このパフォーマンス目標ととも
に、それぞれの目標の相対的重要性の指定が含まれる。
目標(106)は、オペレーティング・システムの作業
負荷マネージャ(WLM)構成要素(109)によって
各システム(100−A、100−B、100−C)に
読み込まれる。システム管理者によって指定された各目
標により、作業負荷マネージャは、個々の作業単位が割
り当てられるユーザ・パフォーマンス目標クラスを設定
することになる。それぞれのユーザ・パフォーマンス目
標クラスは、クラス・テーブル項目(110)によって
オペレーティング・システムに割り振られたメモリ内に
表される。クラス・テーブル項目に格納される情報とし
ては、ユーザ・パフォーマンス目標クラスが属す資源グ
ループ名(111)(入力値)、ユーザ・パフォーマン
ス目標(112)(入力値)、ユーザ・パフォーマンス
目標クラスの相対的重要性(113)(入力値)、サン
プル・データ(114)(測定データ)、ローカルおよ
びマルチシステム・パフォーマンス・インデックス(1
15)(計算値)、本発明のオペレーティング・システ
ムによって設定される作業単位のディスパッチ優先順位
などのシステム資源制御(116)などがある。
【0016】ここに示すプロセッサ消費最大値(10
7)は、プロセッサ・サービス単位で表される。当業者
は、本発明の精神または範囲を逸脱せずにプロセッサ消
費について他の測定単位を選択できることが分かるだろ
う。プロセッサ消費最大値(107)は、オペレーティ
ング・システムの作業負荷マネージャ(WLM)構成要
素(109)によって、それぞれのシステムに読み込ま
れる。システム管理者が指定したそれぞれの資源消費最
大値(107)により、作業負荷マネージャは、個々の
作業単位が割り当てられる資源グループを設定すること
になる。それぞれの資源グループは、資源グループ・テ
ーブル項目(117)によってオペレーティング・シス
テムに割り振られたメモリ内に表される。資源グループ
・テーブル項目に格納される情報としては、資源グルー
プ名(118)(入力値)、プロセッサ・サービス消費
最大値(119)(入力値)、ローカル・システムおよ
び遠隔システムからのプロセッサ・サービス消費データ
(120および121)(測定データ)、資源グループ
内の作業単位をキャッピングしなければならないときの
特定の時間スライス(キャップ・スライス・パターン、
122)、すなわち、資源グループに関連する作業単位
がディスパッチ不能であることをキャップ・ビットが示
さなければならないときの特定の時間スライスなどがあ
る。キャップ・スライス・パターン(122)は計算値
である。
【0017】オペレーティング・システムのシステム資
源マネージャ(SRM)構成要素(123)は、ディス
パッチャ(102)による問合せを受けるキャップ・ビ
ット(105)値を操作する構成要素を含むように、本
発明により変更される。システム資源マネージャのこの
新しい構成要素は、後述するようにキャップ・ビット操
作プログラム(130)と呼ばれる。システム資源マネ
ージャ(123)の状態サンプラー(124)と、遠隔
データ受信プログラム(125)と、マルチシステム目
標主導パフォーマンス制御プログラム(MGDPC)
(126)(Eilert発明に開示されているもの)も、本
発明により変更されており、以下に説明する。
【0018】状態サンプラー 状態サンプリングは、当技術分野では周知のものであ
る。状態サンプラー(124)は、キャップ・ビット操
作プログラム(130)によってキャップ・ビット(1
05)がオンになっているためにディスパッチャが任意
の単位をディスパッチしない場合に追加の状態をサンプ
リングするよう、変更されている。このようなキャップ
・サンプルは、MGDPC(126)が計算に使用する
ときにプロセッサ遅延サンプルと組み合わされる。
【0019】マルチシステム目標主導パフォーマンス制御プログラム システム資源マネージャ(123)のマルチシステム目
標主導パフォーマンス制御プログラム(MGDPC)
(126)は、Eilert発明に記載されている。MGDP
C(126)は、システム資源マネージャの構成要素の
1つであって、パフォーマンス・インデックスを計算
し、管理される1組の相互接続協調動作独立コンピュー
タ・システム間でのユーザ・パフォーマンス目標の達成
を管理するためにディスパッチ優先順位などのシステム
資源制御を調整するものである。MGDPC(126)
は、オペレーティング・システム(101)に適応性を
持たせ、自己調整させるように、増分を検出し、パフォ
ーマンス問題を修正するためのフィードバック・ループ
を提供する。MGDPC(126)はタイマの満了によ
って呼び出される。
【0020】MGDPCの動作については、図14に詳
しく示す。MGDPCは、目標の達成度を測定し、その
パフォーマンスの改善を必要とするユーザ・パフォーマ
ンス目標クラスを選択し、後述するように関連作業単位
のシステム制御パラメータ(被制御変数)を変更するこ
とにより選択されたユーザ・パフォーマンス目標クラス
のパフォーマンスを改善するという機能を実行する。M
GDPC機能は、好ましい実施例では約10秒ごとであ
る定期的なタイマの満了に基づいて、定期的に実行され
る。
【0021】1415では、指定の目標(1410また
は1411)を使用して、ユーザ・パフォーマンス目標
クラス(110)ごとに、マルチシステム・パフォーマ
ンス・インデックスとローカル・パフォーマンス・イン
デックスが計算される。マルチシステム・パフォーマン
ス・インデックス(1451)は、管理されるすべての
システム間での目標クラスに関連する作業単位のパフォ
ーマンスを表す。ローカル・パフォーマンス・インデッ
クス(1452)は、ローカル・システムでの目標クラ
スに関連する作業単位のパフォーマンスを表す。その結
果得られるパフォーマンス・インデックスは、1451
および1452で対応するクラス・テーブル項目(11
0)に記録される。ユーザ・パフォーマンス目標達成度
を測定する方法としてのパフォーマンス・インデックス
の概念は周知である。たとえば、1992年4月30日
に出願され、本発明の出願人に譲渡され、D.Ferguson他
による"WORKLOAD MANAGER FOR ACHIEVING TRANSACTION
CLASS RESPONSE TIME GOALS IN A MULTIPROCESSING SYS
TEM"という名称の米国特許出願第07/876670号
には、実際の応答時間を目標応答時間で割ったものとし
てパフォーマンス・インデックスが記載されている。同
出願は参照により組み込まれる。
【0022】1416では、相対的目標重要性(11
3)の順序のパフォーマンス改善と、パフォーマンス・
インデックス(1451、1452)の現行値とを受け
取るために、ユーザ・パフォーマンス目標クラスが選択
される。選択されたユーザ・パフォーマンス目標クラス
は、レシーバ(receiver)と呼ばれる。まず、MGDP
Cは、作業単位が管理されるすべてのシステム間で目標
を達成するようにする際にそれが行うアクションが可能
な限り最大の影響を及ぼすようにレシーバを選ぶとき
に、マルチシステム・パフォーマンス・インデックス
(1451)を使用する。マルチシステム・パフォーマ
ンス・インデックスに基づくアクションが一切行われな
い場合は、ローカル・パフォーマンス・インデックス
(1452)を使用して、ローカル・システムがその目
標を達成するのに最も役立つようなレシーバを選択す
る。
【0023】システム制御データ要素に対するパフォー
マンス隘路は、周知の技法である状態サンプル(11
4)を使用することにより決定する(1417)。この
システム制御データ要素はディスパッチ優先順位(10
)(CPU遅延およびキャップ遅延に影響する)であ
る。当業者は、本発明の精神または範囲を逸脱せずに他
の被制御変数を選択できることが分かるだろう。
【0024】1418では、被制御変数への潜在的変更
を考慮する。相対的目標重要性(113)とパフォーマ
ンス・インデックス(1451、1452)の現行値に
基づいてパフォーマンス低減を行うことができるユーザ
・パフォーマンス目標クラスが選択される(142
3)。このように選択されるユーザ・パフォーマンス目
標クラスはドナー(donor)と呼ばれる。次に、被制御
変数(ディスパッチ優先順位(1420)(105)に
ついて、レシーバおよびドナーのマルチシステムおよび
ローカル・パフォーマンス・インデックスへの予期変更
に対する提案変更の正味値が査定される(1424)。
結果が目標に関してドナーに及ぼす害以上にレシーバに
改善をもたらすと思われる場合には、提案変更が正味値
を有する。提案変更が正味値を有する場合は、それぞれ
の被制御変数がドナーとレシーバの両方のために調整さ
れる。
【0025】MGDPCを呼び出すごとに、その間、レ
シーバ目標クラスと、パフォーマンス隘路と、ドナー目
標クラスと、アクションとのあらゆる組合せが考慮され
る。被制御変数の企図変更は十分なレシーバ値をもたら
さなければならず、レシーバ(複数も可)とドナー(複
数も可)との間で企図される再割振りは、実際に行われ
る企図変更用の正味値を備えていなければならない。こ
れらのステップについては、以降の項で詳述する。
【0026】管理される各システムは、それぞれのシス
テムが他のすべてのシステムにデータ・レコードを送信
できるようにするデータ送信手段(129)を1つずつ
有する。それぞれの目標クラスの最新パフォーマンスを
記述するデータ・レコード(図23)が他のすべてのシ
ステムに送信される(214)。
【0027】125では、遠隔データ受信プログラム
が、MGDPCの動作とは非同期に遠隔システムからパ
フォーマンス・データを受け取る。受け取ったデータ
は、遠隔パフォーマンス・データ履歴(1457、14
58)と、MGDPCによるその後の処理のために遠隔
データ・ウィンドウ(121)とに置かれる。
【0028】主要処理ステップ 図2は、本発明のマルチシステム目標主導パフォーマン
ス制御プログラム(MGDPC)(126)の主要処理
ステップの論理の流れを示す流れ図である。
【0029】MGDPCの主な目的は、管理されるすべ
てのシステム間でパフォーマンス目標を達成することで
ある。この目的は、中央制御を行わずに達成される。む
しろ、それぞれのシステムが管理される他のすべてのシ
ステムからパフォーマンス・データを受け取り、分散作
業負荷全体が行われる状態に関する各システムのビュー
に基づいて、目標を最も適切に達成するための資源割振
り決定を行う。MGDPCの第2の目的は、パフォーマ
ンス目標をローカルで達成することであり、その場合、
資源割振り決定はローカル・データと遠隔データを使用
して行われる。
【0030】201では、各ユーザ・パフォーマンス目
標クラスごとにマルチシステムおよびローカル・パフォ
ーマンス・インデックスが計算される。(このパフォー
マンス・インデックスの計算については後述する。)ス
テップ203〜213により、最高2回のパスを行うこ
とができる。第1のパスは、マルチシステム・パスと呼
ばれる。このマルチシステム・パス中は、管理されるす
べてのシステム間で目標クラスがどのように実行される
かに基づいて、レシーバとドナーが選択される。ローカ
ル・パスという第2のパス中は、管理されるすべてのシ
ステム間で目標クラスがどのように実行されるかに加
え、その目標クラスがローカルでどのように実行される
かの両方に基づいて、レシーバとドナーが選択される。
ローカル・パスは、マルチシステム・パス中にアクショ
ンが一切行われない場合にのみ行われる。202では、
マルチシステム・パスが現在、処理されていることを示
すために、ループ制御変数が設定される。203では、
そのパフォーマンスが改善されるように、レシーバと呼
ばれるユーザ・パフォーマンス目標クラスが選択され
る。この選択プロセスについては、図3に詳しく示し、
後述する。204では、対処すべき隘路として、レシー
バの資源隘路の1つが選択される。隘路選択について
は、図5に詳しく示し、後述する。205では、レシー
バのパフォーマンスの改善に必要なものとして識別され
た資源を所有するユーザ・パフォーマンス目標クラスが
選択される。このように選択されたユーザ・パフォーマ
ンス目標クラスはドナーと呼ばれる。ドナーはレシーバ
とは逆の順序で選択される。すなわち、最適パフォーマ
ンス・インデックスと最低重要性を有するユーザ・目標
クラスが選択される。ドナー選択については、図6に詳
しく示し、後述する。
【0031】206では、ドナーからレシーバへの資源
再割振りの影響が見積られる。資源再割振りの影響を見
積るのに使用するアルゴリズムは、関係する資源に応じ
て決まる。CPU遅延とキャップ遅延に対処するための
CPUアルゴリズムについては、本明細書で後述する。
207では、ドナー(複数も可)からレシーバへの資源
の再割振りの正味値が査定される。資源再割振りにとっ
て正の正味値になるように見積られる場合は、特定のド
ナーからの資源を再割振りすることにより、レシーバの
み改善される。レシーバを改善するためのドナーの使用
が見積られ、結果的に、目標および重要性に関してレシ
ーバの改善以上にドナーに及ぼす害の方が大きくなる場
合には、資源再割振りは行われない。正味値の査定につ
いては、図8に詳しく示し、後述する。
【0032】再割振りにとって正の正味値がある場合
は、208でドナー(複数も可)からレシーバに資源が
再割振りされる。正の正味値がない場合は、別の潜在的
ドナーが存在するかどうかを判定するために、209で
検査が行われる。
【0033】別の潜在的ドナーが存在する場合は、別の
潜在的ドナーを選択するために制御が205に渡され
る。選択された隘路に対処するのに必要な資源の潜在的
ドナーがそれ以上存在しない場合は、レシーバが別の隘
路を持っているかどうかを判定するために、210で検
査が行われる。
【0034】レシーバが対処可能な別の隘路を持ってい
る場合は、別の隘路を選択するために制御が204に戻
される。レシーバが対処すべき隘路をそれ以上持ってい
ない場合は、別の潜在的レシーバが存在するかどうかを
判定するために、211で検査が行われる。
【0035】別の潜在的レシーバが存在する場合は、別
の潜在的レシーバを選択するために制御が203に戻さ
れる。潜在的レシーバがそれ以上存在しない場合は、現
行パスがマルチシステム・パスであることをループ制御
変数が示しているかどうかを確認するために、212で
検査が行われる。現行パスがマルチシステム・パスであ
る場合は、現行パスがローカル・パスであることを示す
ように213でローカル制御変数が設定され、別の潜在
的レシーバを選択するために制御が203に戻される。
【0036】ローカル・パスがすでに行われた場合は、
管理される各遠隔システムにパフォーマンス・データを
送信するために、制御が214に渡される。215で
は、データ履歴がロールされる(次の項に示すデータ履
歴の説明を参照)。
【0037】タイマが次に満了すると、MGDPC機能
がもう一度呼び出され、前に行われた資源再割振りの影
響に関するフィードバックを行うとともに、パフォーマ
ンス問題に対処する機会をもう一度提供する。
【0038】データ履歴 データ履歴とは、時間に関するデータを収集して分析す
るための機構である。データ履歴を使用することによ
り、MGDPCは、時代遅れになっている恐れがあるほ
ど古いデータを使用せずに、代表となるべき十分なサン
プルを有するデータを使用することができる。図19
は、データ履歴の一例を示している。データ履歴は、6
行のデータ(1903)とロール・カウンタ(190
1)を含んでいる。各行は、所定の範囲の履歴時間から
のデータを表している。行1は、最新期間のみのデータ
を含む。行2〜6は、各種範囲の古いデータを含む。ロ
ール・カウンタは、任意の時間範囲からそれより前の時
間範囲まで1行分のデータをロールすべき時期を制御す
る。ロール・カウンタはそれぞれのMGDPC間隔ごと
に増分される。各行には、その行のデータを「ロール」
すべき時期を指定するロール・カウンタ値に対応する数
値(1902)が関連づけられている。行1の行カウン
タ値は1であり、すべての間隔ごとに行1がロールされ
ることを意味する。行2の間隔数は2であり、間隔2つ
分ごとに行2がロールされる。行3のロール・カウンタ
値は4であり、行4のロール・カウンタ値は16であ
り、行5のロール・カウンタ値は64であり、行6のロ
ール・カウンタ値は64である。
【0039】データは次のように履歴に追加される。行
1に新しいデータが追加される。各MGDPC間隔の終
わりに、現行ロール・カウンタ値に均等に分かれるロー
ル・カウンタ値を有する最高行が検出される。次に数値
が大きい行にその行の内容が追加される。それより数値
が小さいすべての行の内容が1行ずつ上に上がり、行1
が空のままになる。行6からのデータをロールする時期
になると、そのデータが破棄される。データ履歴からデ
ータを獲得するには、行1〜nのデータをすべて加え
る。nの値は、使用するデータが代表となる十分なサン
プルを有する十分長い間隔にわたって収集されるように
選択する。行数の選択については、本明細書のパフォー
マンス・インデックスの項を参照されたい。
【0040】応答時間目標を備えたそれぞれの目標クラ
スは、その目標クラスについて遠隔システムから受け取
ったパフォーマンス・データを含む、ローカルおよび遠
隔応答時間データ履歴(1457)を有する。この履歴
の各行は、28項目を含む配列である。図20は、この
配列のレイアウトを示している。この配列の各項目は、
目標の所与の割合(%)の範囲内の応答時間を有する完
了回数を含む。第1の項目は、目標の半分より少ない応
答時間を有する完了のカウントを含む。第2の項目は、
目標の半分以上であるが0.575倍未満である応答時
間を有する完了のカウントを含む。
【0041】速度目標を備えたそれぞれの目標クラス
は、ローカルおよび遠隔速度サンプル・データ履歴(1
58)を有する。この履歴の各行は、2つの項目を含
む配列である。第1の項目は、目標クラスの作業が実行
中としてサンプリングされた回数のカウントを含む。第
2の項目は、目標クラスの作業が実行中または遅延済み
(非アイドル)としてサンプリングされた回数のカウン
トである。
【0042】パフォーマンス・インデックス パフォーマンス・インデックスが1.0の場合は、ユー
ザ・パフォーマンス目標クラスがその目標を正確に達成
していることを示す。パフォーマンス・インデックスが
1より大きい場合は、そのクラスのパフォーマンスがそ
の目標より悪いことを示し、パフォーマンス・インデッ
クスが1.0未満の場合は、そのクラスのパフォーマン
スがその目標より良いことを示す。マルチシステム・パ
フォーマンス・インデックスは、管理されるすべてのシ
ステム間でユーザ・パフォーマンス目標クラスがどのよ
うに実施しているかを示す。ローカル・パフォーマンス
・インデックスは、ローカル・システムでユーザ・パフ
ォーマンス目標クラスがどのように実施しているかを示
す。
【0043】実行速度パフォーマンス・インデックス 実行速度目標(1411)のパフォーマンス・インデッ
クスは次のように計算される(1415)。 (実行速度目標)/(実際の実行速度)
【0044】実行速度は、ユーザ目標パフォーマンス・
クラスの作業が実行中の時間をその作業が実行中または
遅延済みの時間で割って、パーセントで表したものであ
る。パフォーマンス・インデックスは、実行速度目標を
備えた作業の実際の実行速度で割った目標と、応答時間
目標を備えた作業の応答時間目標で割った実際の応答時
間である。
【0045】実行速度目標の場合、ローカル・サンプル
履歴(125)からローカル実行速度が計算される。ロ
ーカル・サンプル履歴(125)の各行は配列であり、
その第1の項目は、目標クラスの作業単位が実行中とし
てサンプリングされた回数のカウントであり、残りの項
目は、目標クラスの作業単位が本発明により対処される
8つの遅延状態のそれぞれについて遅延済みとしてサン
プリングされた回数のカウントになっている。サンプリ
ングされる遅延状態は、CPU遅延、MPL遅延、スワ
ップ遅延、専用領域補助記憶装置ページング遅延、共通
領域補助記憶装置ページング遅延、クロスメモリ・ペー
ジング遅延、仮想入出力(VIO)補助記憶装置遅延、
ハイパー空間TM補助記憶装置ページング遅延である。こ
れらの遅延をサンプリングする技法は当技術分野では周
知のものである。
【0046】ローカル・サンプル履歴(125)からデ
ータを取る場合、少なくとも500個の非アイドル・サ
ンプルを含めるために十分な行が合計される。履歴の最
初の2行はいつも使用される。履歴行を合計する場合、
最新データにより大きい重みを付けるために、最初の行
を2倍にする。現行速度を計算するため、結合行からの
サンプルを使用するCPUを結合行の合計サンプルで割
る。このローカル速度をクラスの目標に分割し、ローカ
ル・パフォーマンス・インデックスを計算する。
【0047】応答時間パフォーマンス・インデックス 応答時間目標(1410)のパフォーマンス・インデッ
クスは次のように計算される(1415)。 (実際の応答時間)/(応答時間目標)
【0048】応答時間目標の場合、ローカル応答時間履
歴(1426)からのデータからローカル・パフォーマ
ンス・インデックスが計算される。図20は、ローカル
応答時間履歴(1426)の1行を示している。20秒
以下の応答目標を有する目標クラスの場合、少なくとも
100回の完了を含めるために、ローカル応答時間デー
タ履歴の十分な行が合計される。それより長い応答時間
目標を有する目標クラスの場合、少なくとも10回の完
了を含めるために、十分な行が合計される。履歴のうち
少なくとも最初の2行はいつも使用される。行を合計す
る場合、最新情報により大きい重みを付けるため、最初
の行の値を2倍にする。次に、作動中の各作業単位ごと
に次のように応答時間が見積られる。 1.問題の作業単位がこれまでに使用したサービス時間
より多くのサービス時間で完了した同一目標クラスに割
り当てられた作業単位によって使用された平均サービス
量を求める。 2.その作業単位がこれまでに使用したサービス時間量
をこの平均から引いて、その作業単位が今後使用する追
加のサービス時間量の見積りを得る。 3.作業単位がサービス時間を蓄積する速度で追加サー
ビス時間の見積りを割って、作業単位が完了するまでの
時間の見積りを得る。 4.作業単位がすでに実行した時間の長さに作業単位が
完了するまでの時間の見積りを加算し、作業単位応答時
間の見積りを得る。
【0049】ローカル応答時間履歴から構築した行の適
切な項目に、作動中の作業単位の各完了見積りが加えら
れる。この結合行からローカル平均応答時間が計算さ
れ、この平均応答時間を目標で割って、ローカル・パフ
ォーマンス・インデックスを計算する。
【0050】マルチシステム・パフォーマンス・インデックス 各目標クラスごとにマルチシステム・パフォーマンス・
インデックスを計算するために以下のステップが行われ
るが、このステップについては図22に示す。2201
では、変数Cが第1の目標クラスに設定される。220
2では、その目標クラスが応答時間目標を有するかどう
かを判定するためにCがテストされる。Cが応答時間目
標を有する場合は、制御が2203に渡され、そこで遠
隔応答時間データ履歴からデータが取られる。遠隔応答
時間データ履歴からこのデータを取る場合、ローカル・
パフォーマンス・インデックスの計算に使用したデータ
と同じ量の時間を表すために、履歴の十分な行が使用さ
れる。遠隔応答時間データ履歴から返された応答時間デ
ータは履歴の1行分の形式になっている(図19を参
照)。管理されるすべてのシステムを表すデータを得る
ために、ローカル・パフォーマンス・インデックスの計
算に使用したローカル応答時間データを2204で遠隔
データに加える。この結合応答時間データから平均応答
時間が計算され、この平均を使用して2205でマルチ
システム・パフォーマンス・インデックスを計算する。
【0051】Cによって指定された目標クラスが実行速
度目標を有する場合は、制御が2206に渡され、そこ
で遠隔速度履歴からデータが取られる。遠隔速度履歴か
らこのデータを取る場合、ローカル・パフォーマンス・
インデックスを計算する際にローカル・サンプル履歴か
ら取られたのと同じ数の行が使用される。ローカル速度
の計算に使用したローカルCPUが使用するサンプル
結合行の第1の項目に加え、ローカル速度の計算に使用
した遅延状態カウントの合計を結合行の第2の項目に加
えることにより、2207でこの遠隔データにローカル
実行速度データを加える。このマルチシステム実行速度
データからマルチシステム速度が計算され、2208で
マルチシステム速度からマルチシステム・パフォーマン
ス・インデックスが計算される。
【0052】処理すべき目標クラスがそれ以上存在する
場合は(2209)、制御が2210に渡され、そこで
Cが次の目標クラスに設定される。次に、次の目標クラ
スを処理するために制御が2202に戻される。
【0053】パフォーマンス・データの送信 マルチシステム目標主導パフォーマンス制御プログラム
間隔の終わりに、その間隔中の各目標クラスのパフォー
マンスを記述するデータ・レコードが管理される各遠隔
システムに送られる。それぞれの資源グループごとのプ
ロセッサ資源消費データは、パフォーマンス・データの
送信と同時に各遠隔システムに送られる。プロセッサ資
源消費データについては、図18に示し、後述する。図
23は、各遠隔システムに送られるパフォーマンス・デ
ータを示している。応答時間目標を有するパフォーマン
ス目標クラスの場合、このデータ・レコードは、目標ク
ラス名(2301)と、最後のMGDPC間隔でのその
目標クラスの完了を記述する遠隔応答時間データ履歴の
1行分に相当する28個の項目を有する配列(230
2)とを含む。速度目標を有する目標クラスの場合、こ
のデータ・レコードは、目標クラス名(2303)と、
最後のMGDPC間隔で目標クラスの作業が実行中とし
てサンプリングされた回数のカウントと、最後のMGD
PC間隔で目標クラスの作業が実行中または遅延済みと
してサンプリングされた回数のカウント(2304)と
を含む。
【0054】遠隔データ受信プログラム 図21は、遠隔目標クラス・パフォーマンス・データを
受け取るための論理の流れを示す流れ図である。210
1では、まったく同じ組の目標クラスとパフォーマンス
目標で実行中のシステムからのものであることを確認す
るために、着信データ・レコードが検査される。この検
査に不合格である場合、そのデータ・レコードは無視さ
れる(2102)。2103では、着信データ・レコー
ドが表す目標クラスと同じ名前の目標クラスを見つける
ために、パフォーマンス目標クラス・テーブルが探索さ
れる。この探索によって見つかった目標クラスが応答時
間目標を有する場合は(2104)、目標クラスの遠隔
応答時間データ履歴に着信データ・レコードの応答時間
データが加えられ(2105)、応答時間目標を有して
いない場合は、目標クラスの遠隔速度データ履歴に着信
レコードの速度データが加えられる(2106)。
【0055】データ履歴を使用して遠隔パフォーマンス
・データを管理することにより、管理されるシステムは
独立して動作することができる。1つのMGDPC間隔
中に遠隔システムからのデータが到着しない場合は、必
要であれば、代表となる十分なサンプルを備えたデータ
が使用されることを保証するために古いデータを使用す
ることによって、データ履歴機構が補正することにな
る。また、管理される遠隔システムのうちの1つが故障
した場合は、1つのシステムが故障したことを残りのシ
ステムに具体的に通知する必要なく、そのデータがデー
タ履歴から消される。
【0056】遠隔データ受信プログラム手段(125)
は、Eilert発明に開示されている。この遠隔データ受信
プログラム手段は、システム資源マネージャ(123)
の構成要素であって、それぞれのシステム上で動作し、
遠隔システムから同報されたデータを受け取り(図2
3)、ローカル・システム上で使用するためにそのデー
タを制御ブロックに格納するものである。本発明の遠隔
データ受信プログラムは、遠隔システムによって同報さ
れた資源グループ・プロセッサ消費データをさらに受け
取り、そのデータ(図18)を資源グループ・テーブル
項目(図15)の現行ウィンドウ面に格納するように変
更されている。受け取ったデータ・レコードは、資源グ
ループ名(1800)と、それぞれの重要性ごとのプロ
セッサ消費(1801)と、システムがそれぞれの重要
性の作業を有するかどうかを示す標識(1802)とか
ら構成される。適切な資源グループ・テーブル項目は、
受け取ったデータに関連する資源グループ名(180
0)から判定される。現行ウィンドウ面インデックス
(1503)は、到着したデータを格納するためにウィ
ンドウ配列(121)のうちのどの要素を使用すべきか
を指定する。遠隔プロセッサ資源消費データは、MGD
PC(126)のキャッピング調整手段(128)によ
って使用される。
【0057】データ・ウィンドウを使用して遠隔パフォ
ーマンス・データを管理することにより、管理されるシ
ステムは独立して動作することができる。1つのMGD
PC間隔中に遠隔システムからのデータが到着しない場
合は、必要であれば、代表となる十分なサンプルを備え
たデータが使用されることを保証するために古いデータ
を使用することによって、データ・ウィンドウ機構が補
正することになる。また、管理される遠隔システムのう
ちの1つが故障した場合は、1つのシステムが故障した
ことを残りのシステムに具体的に通知する必要なく、そ
のデータがデータ・ウィンドウから消されるる。
【0058】改善するレシーバの選択 図3は、パフォーマンス目標を選択してパフォーマンス
の重要性を受け取るためにレシーバ選択手段(141
6)が使用する論理の流れを示す流れ図である。301
では、任意の項目が関連づけられた重要性値を有するか
どうかを判定するためにパフォーマンス目標クラス・テ
ーブルが探索される。パフォーマンス目標を指定する場
合、重要性値は任意選択である。いずれの目標クラスに
ついても重要性値が指定されていない場合は、現行パス
がマルチシステム・パスかまたはローカル・パスかを判
定するために302でMGDPCパスがテストされる。
現行パスがマルチシステム・パスである場合は、最悪
(最高)のマルチシステム・パフォーマンス・インデッ
クスを有する目標クラスが選択される(303)。現行
パスがローカル・パスである場合は、最悪のローカル・
パフォーマンス・インデックスを有する目標クラスが選
択される(304)。
【0059】重要性値が指定されている場合は、考慮す
べき重要性値を、任意のパフォーマンス目標クラスに指
定した最高の重要性値に初期設定する(305)。30
6では、このような目標クラスのいずれかがその目標を
達成していないかどうかを判定するために、重要性を考
慮して目標クラスの設定が検査される。目標不達成の定
義は、実行されるMGDPCパスによって決まる。MG
DPCパスがマルチシステム・パスである場合は、その
マルチシステム・パフォーマンス・インデックスが1よ
り大きければ、目標クラスはその目標を達成していない
と見なされる。MGDPCパスがローカル・パスである
場合は、そのマルチシステムまたはローカルのいずれか
のパフォーマンス・インデックスが1より大きければ、
目標クラスはその目標を達成していないと見なされる。
考慮中の重要性レベルの目標クラスで、その目標を達成
していないものがある場合は、MGDPCパスに基づい
て目標クラスが選択される(307)。すなわち、パス
がマルチシステム・パスである場合は、最悪のマルチシ
ステム・パフォーマンス・インデックスを備えた目標ク
ラスが選択され(308)、パスがローカル・パスであ
る場合は、最悪のローカル・パフォーマンス・インデッ
クスを備えた目標クラスが選択される(309)。
【0060】考慮中の重要性レベルのいずれの目標クラ
スもその目標を達成している場合であって、しかもそれ
より低い別の重要性値が指定されている場合は(31
0)、指定されている次に低い重要性値が考慮の対照と
して設定され(311)、制御は306に戻される。い
ずれの重要性レベルの目標クラスもその目標を達成して
いる場合は、MGDPCパスに基づいて最悪のパフォー
マンス・インデックスを備えた目標クラスを選択するた
めに、制御が302に渡される。
【0061】隘路の検出 図4は、対処すべき資源隘路の選択(1417)に使用
する状態データを示している。それぞれの遅延タイプご
とに、パフォーマンス目標クラス・テーブル項目は、そ
の遅延タイプを検出したサンプル数と、マルチシステム
目標主導パフォーマンス制御プログラムの現行呼出し中
に隘路としてその遅延タイプがすでに選択されているか
どうかを示すフラグとを含む。
【0062】隘路検出手段の論理の流れは図5に示す。
対処すべき隘路の選択は、マルチシステム目標主導パフ
ォーマンス制御プログラムの現行呼出し中にすでに選択
されていない、最大数のサンプル数を有する遅延タイプ
を選択することによって行われる。遅延タイプを選択す
ると、マルチシステム目標主導パフォーマンス制御プロ
グラムのこの呼出し中に隘路検出手段が再呼出しされた
場合にその遅延タイプがスキップされるように、フラグ
が設定される。
【0063】MGDPC(126)の制御調整手段(1
27)の隘路検出手段は、プロセッサ遅延サンプル(5
01)に新しいキャップ遅延サンプルを加え、対処すべ
き次に大きい隘路がプロセッサ・アクセスであるかどう
かを判定するためにキャップ遅延サンプルとプロセッサ
遅延サンプルの合計を使用するように、変更されてい
る。この変更により、ディスパッチ優先順位を上げるこ
とによりプロセッサ遅延とキャップ遅延の両方を調整で
きるようなMGDPCの新しい結果が得られる。
【0064】図5の501では、CPU遅延タイプ・サ
ンプルとキャップ遅延タイプ・サンプルの合計が、まだ
選択されていないすべての遅延タイプのうちの最大数の
遅延サンプルを有するかどうかを判定するために、検査
が行われる。YESの場合は、502でCPU遅延選択
済みフラグが設定され、対処すべき次の隘路としてCP
U遅延が返される。503では、別の遅延タイプ、たと
えば、タイプX遅延タイプが、まだ選択されていないす
べての遅延タイプのうちの最大数の遅延サンプルを有す
るかどうかを判定するために、検査が行われる。YES
の場合は、504でタイプX遅延選択済みフラグが設定
され、対処すべき次の隘路としてタイプX遅延が返され
る。505では、第3の遅延タイプ、たとえば、タイプ
Y遅延タイプが、まだ選択されていないすべての遅延タ
イプのうちの最大数の遅延サンプルを有するかどうかを
判定するために、検査が行われる。YESの場合は、5
06でタイプY遅延選択済みフラグが設定され、対処す
べき次の隘路としてタイプY遅延が返される。当業者
は、上記と同じように隘路を検出するために、サンプリ
ングした各種遅延タイプをいくつでも使用できることが
分かるであろう。
【0065】遅延の修正 この項では、隘路検出手段が選択した遅延を低減するた
めに被制御変数またはパラメータを変更することにより
レシーバのパフォーマンス目標クラス・パフォーマンス
を改善する方法について具体的に説明する。
【0066】一般的修正の流れ 図7は、選択した資源隘路に関連する被制御変数を変更
することによるレシーバ目標クラス・パフォーマンスの
改善を査定するために、修正手段(1418)が必要と
する諸ステップを示している。701では、被制御変数
用として新しい値が選択される。702では、レシーバ
・パフォーマンス目標クラス用として、マルチシステム
およびローカル・パフォーマンス・インデックスの変更
が計算される。この計算の詳細は、個々の資源に固有で
あり、あとで説明する。703では、その変更の結果、
レシーバにとって十分な値になっているかどうかを判定
するために、パフォーマンス・インデックスの改善が検
査される。十分なレシーバ値になっていない場合は、制
御が701に戻され、そこで、レシーバにとってより多
くの恩恵が得られるような値が被制御変数用に選択され
る。
【0067】十分なレシーバ値になっているときは、制
御が704に渡され、そこで制御変数の変更を行うのに
必要な資源のドナーを検出するために、ドナー選択手段
(1423)が呼び出される。705では、提案変更が
正味値を有するかどうかを確認するために検査が行われ
る。その変更が正味値を有する場合は、目標および重要
性に関してレシーバにもたらされる恩恵はドナーに及ぼ
す害より大きくなければならない。提案変更が正味値を
持つ場合は、706で被制御変数が変更される。正味値
がない場合は、選択された資源隘路を修正することがで
きない(707)。
【0068】ドナーの選択 図6は、ドナー選択手段(1423)の論理の流れを示
す流れ図である。ドナー選択手段の目的は、必要な資源
を所有する1組の目標クラスから、レシーバにその資源
を寄贈するのに最も適格な目標クラスを選択することで
ある。601では、任意の項目が関連の重要性値を持っ
ているかどうかを判定するために、パフォーマンス目標
クラス・テーブルが探索される。いずれの目標クラスも
それに関連する重要性値を持たない場合は、任意の目標
クラスが必要な資源を所有しているかどうかをドナー選
択手段が判定する(602)。いずれの目標クラスも必
要な資源を所有していない場合は、適格ドナーは一切存
在しない(603)。このような目標クラスがある場合
は、ドナー選択手段は、MGDPCパスに基づいて、最
良パフォーマンス・インデックスを有する目標クラスを
ドナーとして選択する(604〜607)。現行パスが
マルチシステム・パスである場合は、マルチシステム・
パフォーマンス・インデックスが使用され、そうでない
場合は、ローカル・パフォーマンス・インデックスが使
用される。
【0069】重要性が指定された目標クラスが存在する
場合は、目標を達成する必要資源を所有する目標クラス
が存在するかどうかをドナー選択手段が判定する(60
7)。レシーバ選択手段の場合と同様、MGDPCパス
がマルチシステムである場合は、そのマルチシステム・
パフォーマンス・インデックスが1以下であれば、目標
クラスはその目標を達成するものと見なされる。現行パ
スがローカル・パスである場合は、そのマルチシステム
およびローカルの両方のパフォーマンス・インデックス
が1以下であれば、目標クラスはその目標を達成するも
のと見なされる。必要な資源を所有する目標を達成する
目標クラスが存在する場合は、MGDPCパスに基づい
て、最良のパフォーマンス・インデックスを備えた目標
クラスを選択するために制御が604に渡される。それ
ぞれの指定の目標を達成する目標クラス間を区別する場
合、重要性は使用しない。
【0070】その指定の目標を達成し、しかも必要な資
源を所有している目標クラスが一切存在しない場合は、
ドナー選択手段は、指定の最低重要性値を有し、しかも
必要な資源を所有する目標クラスを検出する(608〜
611)。このような目標クラスが存在する場合は、ド
ナー選択は、MGDPCパスに基づいて、最良のパフォ
ーマンス・インデックスを有する目標クラスを選択する
(613〜615)。いずれの目標クラスも必要な資源
を所有していない場合は、システム内には適格ドナーが
一切存在しない(612)。
【0071】正味値の査定 図8は、レシーバとドナーとの間の企図された資源再割
振りの正味値を判定するために正味値査定手段(142
4)が使用する諸ステップを示している。資源ドナーが
その目標を達成するように見積られ(801)、レシー
バがその目標を達成していない(802)場合は、再割
振りが正味値を持つ(803)。ただし、MGDPCの
マルチシステム・パスでは、そのマルチシステム・パフ
ォーマンス・インデックスが1以下であれば、目標クラ
スは目標を達成していると見なされることに留意された
い。また、MGDPCのローカル・パスでは、そのマル
チシステムとローカル両方のパフォーマンス・インデッ
クスが1以下であれば、目標クラスは目標を達成してい
ると見なされる。
【0072】ドナーがその目標を達成するように見積ら
れ、レシーバがその目標を達成している場合は、アクシ
ョンは正味値を持たない(805)。ドナーとレシーバ
の両方が目標を達成していない場合は、レシーバの方が
(重要性値が示すように)ドナーより重要であれば、
割振りが正味値を持ち(807)、ドナーの方がレシー
バより重要であれば、再割振りが正味値を持たない(8
09)。810では、レシーバとドナーの両方が目標を
達成しておらず、同じように重要であるか、または両方
ともその目標を達成している。この場合、それによって
マルチシステム・パフォーマンス・インデックス(P
I)の正味利得が得られれば、再割振りが正味値を持
つ。MGDPCのローカル・パスでは、再割振りがロー
カル・パフォーマンス・インデックスの正味利得も持っ
ていなければならない。以下の条件が両方とも該当する
場合は、資源再割振りがパフォーマンス・インデックス
の正味利得を持つ。 1.レシーバについて見積られたパフォーマンス・イン
デックス値の減少(パフォーマンスの改善)の方が、ド
ナーの見積られたパフォーマンス・インデックス値の増
加(パフォーマンスの低下)より大きい。 2.レシーバがドナーより低いパフォーマンス・インデ
ックス値(パフォーマンスの改善)を持つように見積ら
れる場合は、レシーバのパフォーマンス・インデックス
値は、再割振り前より再割振り後の方がドナーのパフォ
ーマンス・インデックス値に近くなるように見積られな
ければならない。
【0073】上記1の場合、レシーバの見積られたパフ
ォーマンス・インデックスの減少とドナーの見積られた
パフォーマンス・インデックスの増加とを比較すると、
レシーバは、そのパフォーマンス・インデックス値の減
少の0.90を上回る部分についてのみ寄与すると認め
られる。同様に、ドナーは、そのパフォーマンス・イン
デックス値の増加の0.90を上回る部分についてのみ
寄与すると認められる。たとえば、レシーバのパフォー
マンス・インデックス値が1.50から0.70に改善
するように見積られた場合、比較に使用するパフォーマ
ンス・インデックスの減少は0.60になるはずであ
る。
【0074】レシーバ値 十分なレシーバ値があるかどうかを検査することは、最
適化の1つである。十分なレシーバ値になるように見積
られている場合のみ、レシーバに役に立つ。レシーバ値
は、最小パフォーマンス・インデックス改善基準か、ま
たは最小遅延サンプル・デルタ基準のいずれかになる。
たとえば、好ましい実施例では、レシーバ値基準は、レ
シーバの現行パフォーマンス・インデックスと1.00
との差の少なくとも10%の改善か、またはレシーバで
検出された最大遅延の遅延サンプルの少なくとも半分に
相当する遅延サンプル・デルタを必要とする。これらの
基準は、非常に小さい改善を拒否するように設計されて
いる。レシーバ値が小さすぎるアクションを拒否する理
由は、限界改善のみをもたらす変更を避けるためであ
る。
【0075】CPU遅延 この項では、レシーバで検出されたCPU遅延(142
0)を低減することによるパフォーマンスの改善につい
て説明する。
【0076】図9は、不公正にドナーのパフォーマンス
に害を及ぼさずにレシーバのパフォーマンスを改善する
ために使用する新しい1組のディスパッチ優先順位を見
つけるための諸ステップを示している。図9〜13は、
修正手段(1418)から正味値査定手段(1424)
に提供されるパフォーマンス・インデックス・デルタの
見積りに関連する諸ステップを示している。
【0077】901では、それぞれの目標クラスごとに
最大需要および待機/使用中の比率が計算され、それぞ
れの優先順位のすべての目標クラスについて蓄積され
る。これらの計算については、本明細書で後述する。こ
れらの値のテーブルが構築されるが、各行はディスパッ
チ優先順位を表し、2つの列は、対応するディスパッチ
優先順位値ですべてのパフォーマンス目標クラスについ
て蓄積された、待機/使用中の比率および最大需要であ
る。このテーブルは、待機/使用中テーブルと呼ばれ、
後述するように新しいディスパッチ優先順について新し
い待機/使用中の値を見積るために使用する。待機/使
用中の比率(CPU遅延サンプルをCPU使用中サンプ
ルで割ったもの)は、コンピュータ・システムのパフォ
ーマンス測定では周知の概念である。最大需要は新しい
概念である。最大需要とは、CPU遅延がない場合に目
標クラスに関連する作業単位が消費できる全プロセッサ
時間の理論上の最大割合(%)である。最大需要の計算
については、本明細書で後述する。
【0078】ステップ902〜909は、上方移動と下
方移動の組合せによって十分なレシーバ値または不十分
な正味値が得られるまで、レシーバのディスパッチ優先
順位を上げた結果(レシーバの上方移動)とドナーのデ
ィスパッチ優先順位を下げた結果(ドナーの下方移動)
を交互に査定するプロセスを示している。1回の移動の
影響を見積るためのステップ903および912は図1
0に示す。また、正味値の検査は図8に示す。いずれか
の正味値検査で不合格になった場合は、移動の組合せで
正味値検査に合格するかどうかを判定するために、レシ
ーバとともに上方移動させるか、またはドナーとともに
下方移動させる2次ドナーおよびレシーバが選択され
る。
【0079】移動の組合せで正味値検査に合格した場合
は、2次レシーバおよびドナーを1次レシーバおよびド
ナーとともに移動させる。2次ドナーおよびレシーバは
ドナー選択手段とレシーバ選択手段では検出されない。
むしろ、2次レシーバは、1)1次レシーバのディスパ
ッチ優先順位より低いディスパッチ優先順位を有し、
2)正味値検査に不合格だった、パフォーマンス目標ク
ラスとして定義されている。同様に、2次ドナーは、
1)1次ドナーのディスパッチ優先順位より高いディス
パッチ優先順位を有し、2)正味値検査に不合格だっ
た、パフォーマンス目標クラスである。
【0080】最大需要の計算 最大需要は次のように計算される。
【0081】最大需要とは、CPU遅延がない場合に目
標クラスが消費できる全プロセッサ時間の理論上の最大
割合(%)である。
【0082】優先順位変更の査定 図10は、ディスパッチ優先順位の変更の影響を見積る
ための諸ステップを示している。1001では、そのデ
ィスパッチ優先順位が変更されるパフォーマンス目標ク
ラスの最大需要が、その「変更前」(現行)優先順位で
の最大需要から引かれ、その「変更後」(提案された新
しい)優先順位での最大需要に加えられる。1002で
は、各クラスごとの達成可能需要割合(%)をグラフか
ら読み取り、次にその達成可能需要割合(%)にシステ
ム内で使用可能な全時間を掛けることにより、ディスパ
ッチ優先順位変更による影響を受けた各クラスが使用す
るように見積られるCPU時間が見積られる。1003
では待機/使用中の新しい比率が見積られ、1004で
はCPU使用中と遅延のサンプル・デルタが計算され、
1005ではディスパッチ優先順位の変更の影響を受け
た各パフォーマンス目標クラスごとにパフォーマンス・
インデックス・デルタが計算される。
【0083】達成可能需要グラフ 図11は、達成可能需要グラフを示している。横座標値
は、任意のディスパッチ優先順位で使用可能な最大需要
をそのディスパッチ優先順位での全最大需要で割った商
である。任意のディスパッチ優先順位で使用可能な最大
需要は、問題のパフォーマンス目標クラスのディスパッ
チ優先順位より上のすべてのディスパッチ優先順位での
累積最大需要を100から引いたものである。任意のデ
ィスパッチ優先順位で使用可能な最大需要は、この計算
ではゼロより小さくなることはない。任意のディスパッ
チ優先順位での最大需要は、そのディスパッチ優先順位
でのすべてのクラスの全最大需要である。
【0084】達成可能需要グラフの縦座標値は、達成可
能需要割合(%)である。達成可能需要割合は、それよ
り高いディスパッチ優先順位のすべての作業の最大需要
と、同一優先順位のすべての作業の最大需要が与えられ
ている場合に、消費するようにあるクラスが見積られて
いるそのクラスの最大需要の割合(%)である。
【0085】使用するCPU時間を見積るため、達成可
能需要グラフから任意のクラスの達成可能需要割合が読
み取られる。この達成可能需要割合を使用して、プロセ
ッサ時間消費を見積る。CPU時間消費は、達成可能最
大需要にそのクラスの最大需要を掛け、全CPU時間を
掛けることによって計算される。
【0086】達成可能需要グラフは、このグラフ用のす
べての値がハード・コード化されているという点によ
り、本発明で使用する他のグラフとは異なっている。他
のすべてのグラフには、実行中のシステムからの実デー
タの所見を使用する。達成可能需要グラフの値は、モデ
リングにより得られたものである。
【0087】CPUの待機/使用中の比率 図12は、前述のように構築した待機/使用中テーブル
を使用して新しい待機/使用中の比率を計算する方法を
示している。新しい遅延サンプル・デルタを計算するに
は、実際の待機/使用中の比率と見積られた待機/使用
中の比率を使用する。
【0088】1201では、関心のあるディスパッチ優
先順位の見積られた累積最大需要より上および下の最も
近い累積最大での待機/使用中の比率を待機/使用中テ
ーブルで見つける。新しい累積最大需要に正確に一致す
るものがテーブルで見つからない場合(1202で検
査)は、上および下の最大需要での待機/使用中の比率
を補間して、使用する新しい待機/使用中の比率を求め
る(1203)。正確に一致するものが見つかった場合
は、その待機/使用中の比率が使用される。
【0089】関心のあるディスパッチ優先順位より上の
100%累積最大需要より大きくなるように見積られて
いる場合(1204)であって、100%累積最大需要
より小さかった場合(1205)は、そのディスパッチ
優先順位で消費されているはずの最大需要と、消費する
ように見積られている最大需要との比率の1/2だけ、
待機/使用中の比率が膨張する(1206)。
【0090】関心のあるディスパッチ優先順位より上の
100%累積最大需要より大きくなるように見積られて
いない場合(1204)であって、この累積最大需要が
現行ディスパッチ優先順位用になるように見積られたも
のより悪い場合(1207)は、その提案されたディス
パッチ優先順位で消費されているはずの最大需要と、消
費するように見積られている最大需要との比率の1/2
だけ、待機/使用中の比率が膨張する(1208)。
【0091】関心のあるディスパッチ優先順位より上の
100%累積最大需要より大きくなるように見積られて
いない場合(1204)であって、この累積最大需要が
以前より悪くなっておらず(1207)、しかも上記の
100%累積最大需要より小さかった場合(1210)
は、その優先順位で消費されるはずの最大需要と、消費
するように見積られている最大需要との比率だけ、待機
/使用中の比率が縮小する(1211)。
【0092】関心のあるディスパッチ優先順位より上の
100%累積最大需要より大きくなるように見積られて
いない場合(1204)であって、この需要が現行ディ
スパッチ優先順位用のものより悪くなっておらず(12
07)、しかも上記の100%累積最大需要より小さく
なかった場合(1210)は、2で割ることによって待
機/使用中の比率が縮小する(1213)。
【0093】すべての膨張ケースでは、膨張した値が次
に低い優先順位での実際の待機/使用中の比率より大き
い場合、待機/使用中の比率は、次に低い優先順位での
待機/使用中の比率に指定変更される。縮小した値が次
に高い優先順位での実際の待機/使用中の比率より小さ
い場合、待機/使用中の比率は、次に高い優先順位での
待機/使用中の比率に指定変更される。
【0094】前述の待機/使用中テーブルから得られた
待機/使用中の比率は、個々のパフォーマンス目標クラ
スごとに次のようにさらに調整される。 待機/使用中比率(調整後)=待機/使用中比率(テー
ブルからの値)×(A/B) ただし、 A=その優先順位でのサービスで重みを付けた平均待機
間隔 B=個々のパフォーマンス目標クラスの平均待機間隔
【0095】CPU使用中のサンプル・デルタ 図13は、CPU使用中のサンプル・デルタを計算する
ための論理の流れを示している。パフォーマンス目標ク
ラスについてCPU時間が蓄積された場合(1301で
検査)、見積られるCPU使用中サンプルは、実際のC
PU使用中サンプルに見積られるCPU時間を掛け、実
際のCPU時間で割ったものに等しくなるように設定さ
れる(1303)。パフォーマンス目標クラスについて
CPU時間が蓄積されていなかった場合、見積られる使
用中サンプルは、見積られるCPU時間をサンプル当た
りのCPU時間で割ったものに等しくなるように設定さ
れる(1302)。使用中サンプル・デルタは、見積ら
れるサンプルから実際のサンプルを引いたものである。
【0096】CPU遅延サンプル・デルタ CPU遅延サンプル・デルタは、次のように計算され
る。
【0097】見積られる遅延サンプル数は、実際に観察
された遅延サンプル数に見積られる待機/使用中の比率
を掛け、実際の待機/使用中の比率で割ったものに等し
くなる。遅延サンプル・デルタは、見積られるサンプル
数から実際のサンプル数を引いたものである。
【0098】CPUパフォーマンス・インデックス・デルタ パフォーマンス・インデックス・デルタは、以下に示す
ようにディスパッチ優先順位の変更について計算され
る。ただし、CPU使用中と遅延のサンプル・デルタは
符号付き数字なので、これらの式はレシーバ用とドナー
用の両方の道筋をたどることに留意されたい。また、上
記で計算したサンプル・デルタはローカル・システム用
であることに留意されたい。
【0099】
【0100】キャップ・ビット操作プログラム キャップ・ビット操作プログラム(130)の動作は、
システム資源マネージャ(123)の周知の時間スライ
ス機能と同様である。所定の長さの時間(この長さはプ
ロセッサ速度による)をいくつかの間隔、好ましい実施
例では64個の間隔に分割する。64個の間隔のそれぞ
れに対応する標識は、その間隔中に資源グループをキャ
ッピングする必要があるかどうかを示す。これらの標識
は、キャップ・スライス・パターン(122)を形成
し、MGDPC(126)のキャッピング調整手段(1
28)によって設定される。キャップ・ビット操作プロ
グラム(130)が呼び出されると、このプログラム
は、どの資源グループをキャッピングすべきかを検査
し、それに応じて作業単位のASCB(104)にキャ
ップ・ビット(105)を設定する。
【0101】資源グループ・データ 図15は、資源グループ内の作業単位をキャッピングす
べき時間量を決定するために使用する資源グループ・テ
ーブル項目データを示している。資源グループ名は11
8に格納されている。この名前を使用して、遠隔システ
ムから送信されたプロセッサ資源消費データを相関さ
せ、ユーザ・パフォーマンス目標クラスを資源グループ
に関連づける。目標クラスが属している資源グループ用
の資源グループ名は、ユーザ・パフォーマンス目標クラ
ス・テーブル項目に格納されている。その資源グルー
に指定されたプロセッサ消費最大値(107)は11
9に格納されている。資源グループ内のすべての作業単
位が消費する全プロセッサ・サービス単位は、この最大
値を超えてはならない。これは、ローカル・システムと
すべての遠隔システム(100−A、100−B、10
0−C)で実行されるすべての作業単位の合計である。
資源グループ最大値は複数のシステムに及ぶ。資源グル
ープ名とプロセッサ資源消費最大値は入力値である。
【0102】計算に使用するグループ・プロセッサ消費
(120)とキャップ・スライス・データ(122)
は、移動時間ウィンドウにわたって保持される。この移
動時間ウィンドウは最新の60秒として定義されてい
る。この60秒のウィンドウは、6つのウィンドウ面と
呼ばれる10秒ずつの6つの間隔に分割され、各ウィン
ドウごとに6要素の配列として実現される。好ましい実
施例では、3つのデータ・ウィンドウがあり、1つはロ
ーカル・システム上で消費されるプロセッサ・サービス
用(120)であり、2つ目はすべての遠隔システムの
合計で消費されるプロセッサ・サービス用(121)で
あり、3つ目のウィンドウはローカル・システム上のキ
ャップ・スライス用(122)である。
【0103】現行の10秒の間隔用のデータは、現行ウ
ィンドウ面インデックス(1503)でインデックスが
付けられたウィンドウ面配列要素に格納される。それぞ
れのウィンドウ配列は、6つのウィンドウ面配列要素を
有する。この6つの配列要素は順に使用する。6番目の
要素の使用後、次の時間間隔用のデータは最初の要素に
格納され、すでに最初の配列要素に入っていた古いデー
タに置き換わる。計算に使用するデータは、ウィンドウ
のすべてのウィンドウ面のデータ、すなわち、6つの間
隔分のデータの合計である。
【0104】資源グループ用の現行ウィンドウ面インデ
ックス(1503)は、グループ・テーブル項目に格納
される。プロセッサ・サービス単位データ(120)
は、1つのウィンドウ分の時間、好ましい実施例では6
つの10秒間隔にわたって保持される。現行ウィンドウ
面インデックス(1503)は、現行データにどのウィ
ンドウ面を使用すべきかを示す。いくつかの間隔(好ま
しい実施例では6つの10秒間隔)にわたってデータが
保持されることは、本発明の重要な特徴の1つである。
この特徴により、データが平滑になり、管理されるシス
テム間で同期を取る必要がなくなる。このウィンドウ
は、遠隔データが遅れたり順不同になっても特殊な処理
やエラー処理を必要としないように十分な時間をカバー
している。遅れたデータは、到着したときにウィンドウ
・データに追加されるだけである。システムが故障し、
データの到着が停止した場合は、そのシステム用のデー
タが含まれなくなるだけであり、決定での使用が停止さ
れる。このプロセスにより、特殊なケースおよびエラー
処理機構の必要性がなくなり、個々のシステムでの資源
割振りの急激な変化の可能性が低減される。
【0105】前の6つの間隔の間に資源グループについ
て計算されたキャップ・スライスの数(122)は、6
つのウィンドウ面に格納される。キャップ・スライス値
はキャッピング調整手段(128)によって記入され
る。それぞれの重要性レベルでローカル(120)およ
び遠隔(121)で消費されるプロセッサ・サービス単
位の数は、最後の6つの間隔の間、6つのウィンドウ面
に保持される。遠隔システムからのプロセッサ・サービ
ス単位消費データは遠隔データ受信プログラム(12
5)によって記入される。そのウィンドウでの重要性ご
とのローカルおよび全プロセッサ・サービス単位(15
06)と、そのウィンドウでの全プロセッサ・サービス
単位(1507)は、グループ・テーブル項目(11
7)に格納される。これらの値は、キャッピング調整手
段(128)によって計算され、使用される。
【0106】ローカル・システムがそれぞれの重要性レ
ベルの作業を有するかどうかを示す標識(1508)
は、それぞれの重要性レベルの作業を有する遠隔システ
ムの数(1509)とともに、グループ・テーブル項目
(117)に格納される。この標識(1508)は、プ
ロセッサ・サービス単位消費データ(120)ととも
に、データ送信手段(129)によってローカル・シス
テムからすべての遠隔システムに送られる。この標識
は、遠隔データ受信プログラム(125)によって受信
され、格納される。
【0107】グループ内の作業単位をキャッピングすべ
き特定のスライスは、122に格納されたキャップ・ス
ライス・パターンに示される。これらのビットは、キャ
ップ・スライス割当て手段によって設定される。
【0108】キャッピングの調整 本発明のため、MGDPC(126)は、キャッピング
調整という新しい機能を実行するように変更されてい
る。このキャッピング調整手段(128)は、資源消費
をその資源グループについて指定された最大値に制限す
るために、各資源グループに割り当てられた作業単位を
ディスパッチ不能にする(キャッピングする)必要があ
る時間量を決定する。MGDPC(126)のこの新し
いキャッピング調整手段(128)については、図16
に示し、後述する。データ送信手段(129)は、資源
グループごとにプロセッサ資源消費データをさらに送信
するように変更されている。送信される追加データは、
重要性ごとのローカル・プロセッサ・サービス単位消費
(1801)と、ローカル・システムがそれぞれの重要
性レベルの作業を有するかどうかを示す標識(180
2)である。
【0109】それぞれのシステムには、資源グループご
とに、ローカル・システムとすべての遠隔システム用の
重要性レベルごとのプロセッサ・サービス消費が用意さ
れている。各システムは、測定したプロセッサ消費と導
入システム指定の最大プロセッサ消費から、すべてのシ
ステムでどの程度プロセッサ消費を低減して、全プロセ
ッサ消費がその最大値を超えないようにするかを決定す
ることができる。重要性レベルごとのプロセッサ消費デ
ータを使用して、各システムは、重要性レベルを下げて
いき、所与の重要性レベルで消費したプロセッサ・サー
ビスのうち、どの程度を引き続きローカル・システム上
で割り振っておく必要があるかを判定する。所与の重要
性レベルで測定したすべてのプロセッサ・サービス消費
が最大値を下回る場合は、ローカル・システム上でその
重要性レベルで消費したすべてのプロセッサ・サービス
が、ローカル・システム上で許されるプロセッサ・サー
ビスの量に追加される。それより高い重要性レベルで割
り振られたプロセッサ・サービスと結合したときに、そ
の重要性レベルで消費したプロセッサ・サービスのすべ
てが最大値を下回るわけではない場合は、ローカル・シ
ステムでその重要性レベルで消費したプロセッサ・サー
ビスの比例分だけが、ローカル・システムで許される全
プロセッサ・サービスに追加される。このプロセスの結
果、重要性ごとに複数のシステム間で公平なキャッピン
グが行われる。このプロセスについては図16に示す。
【0110】最大量未満のプロセッサ・サービスが消費
される場合は、各システムで実行中の作業の重要性に基
づいて、追加量のプロセッサ・サービスもシステム間に
割り振られる。次に、ローカル・システムで許されるプ
ロセッサ・サービス単位の数が、キャップ・スライスの
数(図16)とキャップ・スライス・パターン(図1
7)に変換される。
【0111】キャッピング調整手段(128)は、各シ
ステムで定期的に(好ましい実施例では10秒おき)動
作して、ローカル・システム上のキャップ・スライスの
数を調整し、条件の変化を補正する。たとえば、1つの
システム内のある資源グループに割り当てられた作業単
位が要求の厳しいサービスを停止した場合、他のシステ
ム上の同じ資源グループに割り当てられた作業単位の方
を多く消費することができる。ただし、ローカル・シス
テム上の各資源グループをどの程度制限するかはそれぞ
れのシステムが独立して決定できることに留意すること
が重要である。中央での調整は不要である。それぞれの
システムは、ローカル・システムでいくつのキャップ・
スライスが必要になるかを判断できるだけの十分な情報
を持っている。
【0112】図16は、資源グループごとに作業単位を
キャッピングすべき時間量を決定するために使用する制
御の流れを示している。1601では、処理すべき別の
資源グループがあるかどうかを判定するために検査が行
われる。別の資源グループがない場合は、機能が完了
し、ウィンドウ面インデックスを次のウィンドウ面に設
定して終了するために制御が1602に移行する。ウィ
ンドウ面インデックスは、現行ウィンドウ面インデック
スに1を加え、新しいウィンドウ面インデックスが6よ
り大きいかどうかを検査することにより、次のウィンド
ウ面に設定される。新しいウィンドウ面インデックスが
6より大きい場合は、新しいウィンドウ面インデックス
が1に設定される。処理すべき別の資源グループがある
場合は、資源グループに現在キャップ・スライスが設定
されているか、または資源グループが指定の最大値を上
回るプロセッサ時間を現在消費しているかを判定するた
めに、1603で検査が行われる。NOの場合は、次の
資源グループを処理するために制御は1601に移行す
る。YESの場合は、初期設定が行われる1604に制
御が移行する。
【0113】初期設定は、資源グループに割り振り可能
な残りのプロセッサ・サービス単位を表す変数RSAを
資源グループ用に指定された最大値に設定することと、
ローカル・システム上で消費可能なプロセッサ・サービ
ス単位を表す変数LSAをゼロに設定することから構成
される。ローカル・プロセッサ上で許されるプロセッサ
・サービス単位は、ローカル・プロセッサとすべての遠
隔プロセッサ上での消費および作業の重要性に基づいて
割り当てられる。1604では、配列変数LSとTSも
初期設定される。LSとTSは、重要性レベルの数に等
しい数の要素を備えた配列である。変数LS(IMP)
は、それぞれの重要性レベルごとに、最新ウィンドウ分
の時間にわたってローカル・システム上でその重要性レ
ベルで消費された全サービスに設定される。これは、ロ
ーカル・プロセッサ・サービス消費ウィンドウの6つの
要素からのその重要性レベルのサービス消費データを加
えることによって行われる。それぞれの重要性レベルで
消費された全サービスである変数TS(IMP)は、同
様に計算される。
【0114】1605では、重要性変数(IMP)が、
プロセッサ・サービス単位データにより重要性ごとにル
ープするために初期設定すべき最高の重要性に設定され
る。1606では、まだ割当て可能なプロセッサ・サー
ビス単位があるかどうかを判定するために検査が行われ
る。すべてのプロセッサ・サービス単位が割り当てられ
ている場合は、ローカル・プロセッサに割り当てられた
プロセッサ・サービス単位の数をキャップ・スライスの
数(130)に変換する1616に制御が移行する。
【0115】指定の最大値を超えずに割り当てられるプ
ロセッサ・サービス単位が残っている場合は、制御が1
607に移行し、そこで、ローカル・システムとすべて
の遠隔システム上で現行重要性レベルIMPで消費した
プロセッサ・サービス単位の合計量TSが割当て対象と
して残っているプロセッサ・サービス単位より少ない
どうかを判定するために検査が行われる。現行重要性レ
ベルですべてのシステム上で消費したプロセッサ・サー
ビス単位の合計が割当て対象として残っているプロセッ
サ・サービス単位以下である場合は、制御は1608に
移行し、そこで、現行重要性レベルIMPでローカル・
システム上で消費したプロセッサ・サービス単位の数L
Sが許されるローカル・プロセッサ・サービス単位の数
LSAに加えられる。現行重要性レベルで消費したプロ
セッサ・サービス単位の総数が割当て対象として残って
いるプロセッサ・サービス単位より多い場合は、制御は
1609に移行し、そこで、許される残りのプロセッサ
・サービス単位の一部がローカル・システムに割り振ら
れる。ローカル・システムに割り振られる残りのプロセ
ッサ・サービス単位の一部は、ローカル・システム上で
現行重要性レベルで消費したプロセッサ・サービス単位
の数を、ローカル・システムとすべての遠隔システム上
で現行重要性レベルで消費した全プロセッサ・サービス
単位で割ったものである。
【0116】いずれの場合も制御は次に1610に移行
し、そこで、ローカル・システムとすべての遠隔システ
ム上で消費したプロセッサ・サービス単位の総数TS
(IMP)が、割当て対象として残っているプロセッサ
・サービス単位の数RSAから引かれる。次に、161
1では、処理すべき別の重要性があるかどうかを判定す
るために検査が行われる。YESの場合は、制御が16
12に移行し、そこで現行重要性変数IMPが次に低い
重要性に設定され、次に制御が1606に戻り、前述の
ようにさらに割り当てるべきプロセッサ・サービス単位
があるかどうかが検査される。
【0117】すべての重要性値が処理されたと1611
で判定された場合は、制御が1613に移行し、そこ
で、資源グループの消費量がその最大許容プロセッサ・
サービス単位未満であったかどうかを判定するために検
査が行われる。資源グループの消費量がその許容最大プ
ロセッサ・サービス単位未満ではなかった場合は、制御
が1616に移行し、その資源グループ用のキャップ・
スライスを計算する。資源グループの消費量がその最大
プロセッサ・サービス単位未満だった場合は、制御は1
614に移行し、そこで、いずれかのシステム上の資源
グループ内のいずれかの作業の最高重要性レベルの作業
をローカル・システムが有しているかどうかを判定する
ために検査が行われる。資源グループ内の作業の重要性
のうち最高の作業を有するシステムには、追加のプロセ
ッサ・サービス単位が割り当てられる。ローカル・シス
テムが資源グループ内の作業の最高重要性レベルの作業
を有していない場合は、制御が1616に移行し、資源
グループ用のキャップ・スライスを計算する。ローカル
・システムが資源グループ内の作業の最高重要性レベル
の作業を有する場合は、割当て可能な残りのプロセッサ
・サービス単位の一部がローカル・システム上の作業に
割り当てられる。このローカル・システム上の作業に割
り当てられた部分は、1を最高重要性レベルの作業を有
するシステムの数(1509)で割ったものである。
【0118】1616では、以下のステップを使用し
て、ローカル・システム上で許されるプロセッサ・サー
ビス単位の数がキャップ・スライスの数に変換される。 1.許される非キャップ・スライスの数を次のように計
算する。 非キャップ・スライス=LSA*(TSLOW−CSL
OW)/LSEROW ただし、 LSA: 許されるローカル・プロセッサ・サービス単
位 TSLOW: ウィンドウでのスライスの総数 (6*64=384、定数) CSLOW: ウィンドウでのキャップ済みスライスの
数(1502) LSEROW: ウィンドウで消費されたローカル・プ
ロセッサ・サービス単位(1504) 2.計算の結果、非キャップ・スライスが0になる場合
は、これを1に設定する。時間の100%をキャッピン
グしてはならない。 3.全スライス(64)から非キャップ・スライスを引
いた数に等しくなるようにキャップ・スライスを設定す
る。 4.キャップ・スライス数の増加がスライスの総数の半
分を上回る場合は、スライスの総数の半分だけ、キャッ
プ・スライスの数を増加する。 5.キャップ・スライスの数を資源グループ・テーブル
項目(122)に格納する。キャップ・スライスの数
は、現行ウィンドウ面インデックスでインデックスが付
けられたキャップ・スライス配列要素に格納される。
【0119】特定のキャップ・スライスの割当て 図17は、キャップ・ビット操作プログラム手段が問い
合わせするために、各資源グループのキャップ・スライ
スをキャップ・スライス・パターンにわたって比較的均
等に分散するための諸ステップを示している。最大数の
キャップ済みスライスを有する資源グループに特定のス
ライスがまず割り当てられ、その後、次に多い数のキャ
ップ・スライスを必要とする資源グループ、さらにその
次と、キャップ・スライスを有するすべての資源グルー
プが処理されるまで、順に割り当てられる。システム全
体では、特定のスライスを特定の資源グループに割り当
てるときに各スライス中にキャッピングすべき資源グル
ープの数をカウントすることにより、キャップ・スライ
ス・パターンの64個のスライスのそれぞれの間に、同
数の資源グループ±1グループがキャッピングされる。
このカウントは、そのグループに特定のスライスを割り
当てるべきかどうかを判定するためにテストされる。6
4個のスライスすべてが1回ずつ割り当てられるまで、
1つのスライスが2つの資源グループに割り当てられる
ことはない。また、64個のスライスすべてが2回ずつ
割り当てられるまで、1つのスライスが3つのグループ
に割り当てられることはなく、以下同様になる。
【0120】1701では、システム・データが初期設
定される。キャップ・スライス・カウント配列(SC
A)要素はゼロにクリアされる。スライス・カウント配
列とは、複数のカウントからなる配列である。各項目に
は、そのスライス中にキャッピングされるグループの数
が入っている。キャップ・スライス・カウント配列には
64個の項目がある。各項目はその時間の1/64を表
す。
【0121】1702では、最大数のキャップ・スライ
スを有し、まだ処理されていない資源グループが選択さ
れる。処理すべき資源グループがそれ以上存在しない場
合は、制御は1703の終了に移行する。処理すべき別
の資源グループが存在する場合は、制御は1704に移
行する。
【0122】1704では、資源グループ・データが初
期設定される。スライス増分(SI)と、スライス・カ
ウント基準(SCC)と、スライス・カウント配列イン
デックス(SCAI)が初期設定される。(SI−1)
は、資源グループのキャップ・スライスが可能な64個
のキャップ・スライスに比較的均等に分散されるよう
に、資源グループ用の各キャップ・スライス間でスキッ
プ可能なスライスの数である。SIは、64をそのグル
ープのキャップ・スライスの数で割った数に設定され
る。SCCは、スライス・カウント配列の最大値に設定
される。スライス・カウント配列内のすべてのカウント
が同じ値を有する場合は、SCCに1が加えられる。S
CAIは、キャップ・スライス・パターンの最初のスラ
イスから始まるように1に設定される。
【0123】1705では、SCA(SCAI)セルの
カウントがこのグループ用の基準(SCC)と照らし合
わせて検査される。スライスがSCC個のグループに割
り当てられているか、またはこのグループにすでに割り
当てられている場合は、制御は1706に移行し、そこ
でSCAIに1が加えられる。SCAIが65まで増分
されると、これは1にリセットされる(すなわち、SC
AIはモジュロ64である)。スライス・カウント配列
内のすべてのカウントが同じ値を有する場合は、SCC
に1が加えられる。次に制御は1705に戻る。
【0124】スライスがSCC個未満の資源グループに
割り当てられていて、処理中の現行グループには割り当
てられていない場合は、制御は1707に移行し、そこ
で、そのスライスがそのグループに割り当てられ、SC
Aのスライス用の使用カウントに1が加えられる。資源
グループのキャップ・スライス・パターンのSCAIに
対応するビットを設定することにより、スライスが資源
グループに割り当てられる。次に制御は1708に移行
する。
【0125】1708では、現行資源グループに別のス
ライスを割り当てる必要があるかどうかを判定するため
に検査が行われる。そのグループのすべてのキャップ・
スライスについて特定のスライスが割り当てられている
場合は、制御は1702に戻り、別の資源グループの有
無を検査する。そのグループが別の特定のスライスの割
当てを必要とする場合は、制御が1709に移行する。
【0126】1709では、検査すべき次の特定のスラ
イスを設定するため、SCAIにSIが加えられる。S
CAIが64を上回る場合は、SCAIから64が引か
れる。SCAのすべてのカウントが同じ値を有する場合
は、SCCに1が加えられる。次に制御は1705に戻
る。
【0127】
【0128】
【図面の簡単な説明】
【図1】3つの相互接続協調動作コンピュータ・システ
ムを有する実施例のシステム構造図であり、本発明に関
して記載するように適応された制御オペレーティング・
システムおよびシステム資源マネージャ構成要素を備え
たローカルおよび遠隔コンピュータ・システムを示す図
である。
【図2】目標主導パフォーマンス制御プログラム構成要
素内の全体的な論理の流れを示す流れ図である。
【図3】レシーバ選択機能の論理の流れを示す流れ図で
ある。
【図4】資源隘路の選択に使用する状態データを示す図
である。
【図5】隘路検出機能の論理の流れを示す流れ図であ
る。
【図6】ドナー選択機能の論理の流れを示す流れ図であ
る。
【図7】修正手段の論理の流れを示す流れ図である。
【図8】変更案用の正味値査定機能の論理の流れを示す
流れ図である。
【図9】ディスパッチの優先順位を上げることによるパ
フォーマンスの改善を査定するための諸ステップを示す
流れ図である。
【図10】ディスパッチの優先順位の変更の影響を投影
するための論理の流れを示す流れ図である。
【図11】達成可能な需要のサンプル・グラフである。
【図12】待機/使用中の新しい比率を計算するための
流れ図である。
【図13】サンプル・デルタを使用してCPU時間を計
算するための流れ図である。
【図14】図1のシステム構造の詳細を示す図である。
【図15】資源グループ内の作業単位をキャッピングす
べき時間量を決定するために使用するデータを示す図で
ある。
【図16】作業単位をキャッピングすべき時間量を決定
するために使用する諸ステップを示す流れ図である。
【図17】特定のスライスをキャップ・スライス・パタ
ーンで割り当てる方法を示す流れ図である。
【図18】遠隔データ受信プログラム手段が受け取るデ
ータを示す図である。
【図19】データ履歴の各部を示す図である。
【図20】遠隔応答時間データ履歴の1行分を示す図で
ある。
【図21】遠隔データ受信プログラムが実行する諸ステ
ップを示す流れ図である。
【図22】マルチシステム・パフォーマンス・インデッ
クスを計算するために実行する諸ステップを示す流れ図
である。
【図23】応答時間タイプのパフォーマンス目標クラス
と実行速度タイプのパフォーマンス目標タイプの両方に
ついて遠隔システムに送られるデータを示す図である。
【符号の説明】 100−A コンピュータ・システム 100−B コンピュータ・システム 100−C コンピュータ・システム 101 オペレーティング・システム 102 ディスパッチャ 103 作業単位 104 ASCB 105 キャップ・ビット優先順位 106 目標 107 プロセッサ消費最大値 109 作業負荷マネージャ 110 クラス・テーブル項目 111 グループ名 112 目標 113 重要性 114 サンプル・データ 115 パフォーマンス・インデックス 116 システム資源制御 117 グループ・テーブル項目 118 グループ名 119 最大値 120 ローカル・データ 121 遠隔データ 122 キャップ・スライス・パターン 123 システム資源マネージャ(SRM) 124 状態サンプラー 125 遠隔データ受信プログラム 126 マルチシステム目標主導パフォーマンス制御プ
ログラム(MGDPC) 127 制御調整 128 キャッピング調整 129 データ送信 130 キャップ・ビット操作プログラム
───────────────────────────────────────────────────── フロントページの続き (72)発明者 バーナード・ロイ・ピアス アメリカ合衆国12601 ニューヨーク州 ポーキープシー クリーム・ストリート 262 (56)参考文献 特開 平6−19861(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 15/177 674 G06F 9/46 360 WPI(DIALOG)

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】複数の独立協調動作データ処理システムを
    備える分散データ処理システムのプロセッサ資源を管理
    するための装置であって、 a)前記複数の独立協調動作データ処理システムのうち
    の少なくとも2つのシステムが前記分散データ処理シス
    テムの分散作業負荷を実行し、当該分散 作業負荷が複
    の作業単位から成り、当該複数の作業単位のうちの少な
    くとも一部が1つ以上の資源グループに編成され、当該
    1つ以上の資源グループのうちの少なくとも1つの資源
    グループが前記少なくとも2つのシステムによってアク
    セス可能で且つ当該少なくとも2つのシステムに共通の
    少なくとも1つのプロセッサ消費最大値を有し、前記複
    数の作業単位のうちの少なくとも1つの作業単位が少な
    くとも1つの重要性レベルを有し、 b)前記少なくとも1つのプロセッサ消費最大値および
    前記少なくとも1つの重要性レベルに従って前記少なく
    とも2つのシステム間でシステム資源を管理するシステ
    ム資源マネージャ手段を備え、 前記システム資源マネージャ手段が、 i)前記少なくとも2つのシステムの各々にそれぞれ設
    けられ、当該各システム上で実行中の作業単位のローカ
    ル・プロセッサ消費データを決定するとともに、当該各
    システム上で実行中の作業単位に関連する1つ以上の資
    源グループおよび当該1つ以上の資源グループ内の1つ
    以上の重要性レベルに基づいて、当該各システムのロー
    カル・プロセッサ消費データを遠隔プロセッサ消費デー
    タとして前記少なくとも2つのシステムのうちの他のシ
    ステムに提供する手段と、ii前記少なくとも2つのシステムの各々にそれぞれ設
    けられ、前記他のシステムから前記遠隔プロセッサ消費
    データを受信する遠隔データ受信手段と、iii前記少なくとも2つのシステムの各々にそれぞれ
    設けられ、前記他のシステムからの前記遠隔プロセッサ
    消費データおよび当該各システムからの前記ローカル・
    プロセッサ消費データに応答して、当該各システム上の
    少なくともつのシステム制御パラメータを調整して、
    当該各システム上で実行中の1つ以上の作業単位のプロ
    セッサ消費を変更させるマルチシステム目標主導パフォ
    ーマンス制御手段と、iv前記少なくとも2つのシステムの各々にそれぞれ設
    けられ、前記調整された少なくとも1つのシステム制御
    パラメータに応答し、所定の割合の時間の間、当該各
    システム上で前記1つ以上の作業単位をキャッピングす
    るキャッピング手段とを含むことを特徴とする、前記
    置。
  2. 【請求項2】前記キャッピング手段が、 a)前記少なくとも1つの資源グループのうち各資源
    グループをキャッピングする必要がある所定の割合の時
    間を決定する計算手段と、 b)前記各資源グループについて決定された所定の割合
    の時間により当該各資源グループ用のキャップ・スライ
    ス・パターンを作成する手段と、 c)前記キャップ・スライス・パターンに応答し、ど
    の作業単位をキャッピングすべきかを示す標識を設定す
    る手段と、 d)前記標識に応答し作業単位のディスパッチを制
    御する手段とを含むことを特徴とする、請求項に記載
    の装置。
  3. 【請求項3】複数の独立協調動作データ処理システムを
    備える分散データ処理システムのプロセッサ資源を管理
    するための方法であって、 a)前記複数の独立協調動作データ処理システムのうち
    の少なくとも2つのシステム間で前記分散データ処理シ
    ステムの分散作業負荷を実行するステップを含み、 当該分散 作業負荷が複の作業単位から成り、当該複数
    の作業単位のうちの少なくとも一部が1つ以上の資源グ
    ループに編成され、当該1つ以上の資源グループのうち
    の少なくとも1つの資源グループが前記少なくとも2つ
    のシステムによってアクセス可能で且つ当該少なくとも
    2つのシステムに共通の少なくとも1つのプロセッサ消
    費最大値を有し、前記複数の作業単位のうちの少なくと
    も1つの作業単位が少なくとも1つの重要性レベルを有
    し、 b)前記少なくとも1つのプロセッサ消費最大値および
    前記少なくとも1つの重要性レベルに従って前記少なく
    とも2つのシステム間でシステム資源を管理するステッ
    を含み、 前記管理するステップが、 i)前記少なくとも2つのシステムの各々において、当
    該各システム上で実行中の作業単位のローカル・プロセ
    ッサ消費データを決定するとともに、当該各システム上
    で実行中の作業単位に関連する1つ以上の資源グループ
    および当該1つ以上の資源グループ内の1つ以上の重要
    性レベルに基づいて、当該各システムのローカル・プロ
    セッサ消費データを遠隔プロセッサ消費データとして前
    記少なくとも2つのシステムのうちの他のシステムに提
    するステップと、ii前記少なくとも2つのシステムの各々において、
    他のシステムから前記遠隔プロセッサ消費データを受
    信するステップと、iii前記少なくとも2つのシステムの各々において、
    前記他のシステムからの前記遠隔プロセッサ消費データ
    および当該各システムからの前記ローカル・プロセッサ
    消費データに応答して、当該各システム上の少なくとも
    1つのシステム制御パラメータを調整して、当該各シス
    テム上で実行中の1つ以上の作業単位のプロセッサ消費
    を変更させるステップと、iv前記少なくとも2つのシステムの各々において、前
    記調整された少なくとも1つのシステム制御パラメータ
    に応答し、所定の割合の時間の間、当該各上システム
    上で前記1つ以上の作業単位をキャッピングするステッ
    とを含むことを特徴とする、前記方法。
  4. 【請求項4】前記キャッピング・ステップが、 a)前記少なくとも1つの資源グループのうち各資源
    グループをキャッピングする必要がある所定の割合の時
    間を決定するステップと、 b)前記各資源グループについて決定された所定の割合
    の時間に従って当該各資源グループ用のキャップ・スラ
    イス・パターンを作成するステップと、 c)前記キャップ・スライス・パターンに応答し、ど
    の作業単位をキャッピングすべきかを示す標識を設定す
    るステップと、 d)前記標識に応答し作業単位のディスパッチを制
    御するステップとを含むことを特徴とする、請求項
    記載の方法。
JP01247796A 1995-02-03 1996-01-29 プロセッサ資源を管理するための装置および方法 Expired - Fee Related JP3172423B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US38304295A 1995-02-03 1995-02-03
US383042 1995-02-03

Publications (2)

Publication Number Publication Date
JPH08249291A JPH08249291A (ja) 1996-09-27
JP3172423B2 true JP3172423B2 (ja) 2001-06-04

Family

ID=23511462

Family Applications (1)

Application Number Title Priority Date Filing Date
JP01247796A Expired - Fee Related JP3172423B2 (ja) 1995-02-03 1996-01-29 プロセッサ資源を管理するための装置および方法

Country Status (3)

Country Link
US (1) US6442583B1 (ja)
EP (1) EP0725340A3 (ja)
JP (1) JP3172423B2 (ja)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6230183B1 (en) * 1998-03-11 2001-05-08 International Business Machines Corporation Method and apparatus for controlling the number of servers in a multisystem cluster
US6587938B1 (en) * 1999-09-28 2003-07-01 International Business Machines Corporation Method, system and program products for managing central processing unit resources of a computing environment
JP4434408B2 (ja) * 2000-02-02 2010-03-17 富士通株式会社 情報処理装置
US7624356B1 (en) 2000-06-21 2009-11-24 Microsoft Corporation Task-sensitive methods and systems for displaying command sets
US6622177B1 (en) 2000-07-27 2003-09-16 International Business Machines Corporation Dynamic management of addresses to an input/output (I/O) device
US7036123B2 (en) * 2001-04-25 2006-04-25 Sun Microsystems, Inc. System using fair-share scheduling technique to schedule processes within each processor set based on the number of shares assigned to each process group
US7159221B1 (en) * 2002-08-30 2007-01-02 Unisys Corporation Computer OS dispatcher operation with user controllable dedication
US7415672B1 (en) 2003-03-24 2008-08-19 Microsoft Corporation System and method for designing electronic forms
US7913159B2 (en) * 2003-03-28 2011-03-22 Microsoft Corporation System and method for real-time validation of structured data files
US7406660B1 (en) 2003-08-01 2008-07-29 Microsoft Corporation Mapping between structured data and a visual surface
US7509646B1 (en) * 2003-09-23 2009-03-24 Unisys Corporation Method of managing workloads in a distributed processing system
US7574708B2 (en) * 2004-03-04 2009-08-11 International Business Machines Corporation Mechanism for enabling the distribution of operating system resources in a multi-node computer system
US7584476B2 (en) * 2004-03-04 2009-09-01 International Business Machines Corporation Mechanism for reducing remote memory accesses to shared data in a multi-nodal computer system
US20050198642A1 (en) * 2004-03-04 2005-09-08 International Business Machines Corporation Mechanism for assigning home nodes to newly created threads
US7784054B2 (en) * 2004-04-14 2010-08-24 Wm Software Inc. Systems and methods for CPU throttling utilizing processes
US7712102B2 (en) * 2004-07-30 2010-05-04 Hewlett-Packard Development Company, L.P. System and method for dynamically configuring a plurality of load balancers in response to the analyzed performance data
US8019636B2 (en) * 2004-09-28 2011-09-13 International Business Machines Corporation Method, system and program product for planning and managing a call center study
US8108871B2 (en) * 2005-01-13 2012-01-31 Hewlett-Packard Development Company, L.P. Controlling computer resource utilization
US9160792B2 (en) * 2005-04-05 2015-10-13 International Business Machines Corporation On-demand global server load balancing system and method of use
US7782870B1 (en) * 2005-04-22 2010-08-24 Oracle America, Inc. Method and apparatus for consolidating available computing resources on different computing devices
US8539075B2 (en) 2006-04-21 2013-09-17 International Business Machines Corporation On-demand global server load balancing system and method of use
US9846846B2 (en) * 2006-11-14 2017-12-19 International Business Machines Corporation Method and system for analyzing contact studies
JP4715758B2 (ja) * 2007-01-30 2011-07-06 株式会社日立製作所 仮想計算機システムのプロセッサキャッピング方法
US8522234B2 (en) * 2007-02-05 2013-08-27 Microsoft Corporation Tailoring an operating system to a computer system
US7487506B1 (en) * 2008-01-16 2009-02-03 International Business Machines Corporation Autonomous management of system throughput
US9251037B2 (en) * 2011-11-04 2016-02-02 Hewlett Packard Enterprise Development Lp Providing elastic insight to information technology performance data
US9384055B2 (en) 2012-04-16 2016-07-05 International Business Machines Corporation Programmatic load-based management of processor population

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IE872626L (en) * 1987-09-29 1988-04-01 Smithkline Beckman Corp Affinity adsorbents for glycopeptide antibiotics.
EP0346039A2 (en) * 1988-06-06 1989-12-13 Demax Software, Inc Dynamic load balancing for multi-user computers
JP2834210B2 (ja) * 1988-09-14 1998-12-09 株式会社日立製作所 リング状ネットワークにおけるメッセージ制御方法
US5031089A (en) * 1988-12-30 1991-07-09 United States Of America As Represented By The Administrator, National Aeronautics And Space Administration Dynamic resource allocation scheme for distributed heterogeneous computer systems
US5210872A (en) * 1991-06-28 1993-05-11 Texas Instruments Inc. Critical task scheduling for real-time systems
US5421011A (en) 1991-12-20 1995-05-30 International Business Machines Corporation Method and system for access and accounting control in a data processing system by using a single resource account for a user or a group of users
US5522070A (en) * 1992-03-19 1996-05-28 Fujitsu Limited Computer resource distributing method and system for distributing a multiplicity of processes to a plurality of computers connected in a network
US5504894A (en) 1992-04-30 1996-04-02 International Business Machines Corporation Workload manager for achieving transaction class response time goals in a multiprocessing system
US5550982A (en) * 1993-06-24 1996-08-27 Starlight Networks Video application server
US5619695A (en) * 1994-02-03 1997-04-08 Lockheed Martin Corporation Method and apparatus for scheduling resources
US5467352A (en) * 1994-02-07 1995-11-14 International Business Machines Corporation Method and apparatus for improved throughput in a multi-node communication system with a shared resource
US5446737A (en) * 1994-02-07 1995-08-29 International Business Machines Corporation Method and apparatus for dynamically allocating shared resource access quota
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
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
US5603029A (en) * 1995-06-07 1997-02-11 International Business Machines Corporation System of assigning work requests based on classifying into an eligible class where the criteria is goal oriented and capacity information is available
US5713013A (en) * 1996-01-25 1998-01-27 Apple Computer, Inc. System for establishing and enforcing maximum size of directory by preventing the size of the directory from exceeding the set quota size of the directory
US5819047A (en) * 1996-08-30 1998-10-06 At&T Corp Method for controlling resource usage by network identities
US5778320A (en) * 1996-10-04 1998-07-07 Motorola, Inc. Method for allocating communication resources among groups of communication units
US5925102A (en) * 1997-03-28 1999-07-20 International Business Machines Corporation 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
US5956734A (en) * 1997-07-11 1999-09-21 International Business Machines Corporation Parallel file system with a quota check utility

Also Published As

Publication number Publication date
JPH08249291A (ja) 1996-09-27
US6442583B1 (en) 2002-08-27
EP0725340A3 (en) 1996-10-02
EP0725340A2 (en) 1996-08-07

Similar Documents

Publication Publication Date Title
JP3172423B2 (ja) プロセッサ資源を管理するための装置および方法
US5675739A (en) Apparatus and method for managing a distributed data processing system workload according to a plurality of distinct processing goal types
US5537542A (en) Apparatus and method for managing a server workload according to client performance goals in a client/server data processing system
JP2940450B2 (ja) クラスタ型コンピュータのジョブスケジュール方法及び装置
JP2720910B2 (ja) データ処理システムの作業負荷を管理するための装置及び方法
US5504894A (en) Workload manager for achieving transaction class response time goals in a multiprocessing system
US8015289B2 (en) System and method predicting and managing network capacity requirements
CN100397341C (zh) 管理计算环境中的工作负载的方法和系统
US8812639B2 (en) Job managing device, job managing method and job managing program
JP5041805B2 (ja) データストレージシステムのサービス品質コントローラ及びサービス品質方法
US5283897A (en) Semi-dynamic load balancer for periodically reassigning new transactions of a transaction type from an overload processor to an under-utilized processor based on the predicted load thereof
US20040143664A1 (en) Method for allocating computer resource
EP0942363B1 (en) Method and apparatus for controlling the number of servers in a multisystem cluster
JP3672236B2 (ja) コンピュータ環境の中央処理装置を管理する方法、システム、およびプログラム製品
US7127716B2 (en) Method of load balancing a distributed workflow management system
JP3813056B2 (ja) 優先順位に基づくチャネル・サブシステム保留入出力作業キューの処理
JP3807916B2 (ja) コンピュータ環境の区画のグループを管理する方法およびシステム
US20070250837A1 (en) System and method for adjusting multiple resources across multiple workloads
US20070233866A1 (en) Method and system for dynamically allocating servers to compute-resources using capacity thresholds
US20030005028A1 (en) Method and apparatus for controlling the number of servers in a hierarchical resource environment
KR20210023693A (ko) 스파이크 검출 및 부하 분산 자원 관리 시스템 및 그 방법
CN110535894B (zh) 一种基于负载反馈的容器资源动态分配方法及其系统
US20080195447A1 (en) System and method for capacity sizing for computer systems
US20130290669A1 (en) Physical memory usage prediction
Lili et al. A Markov chain based resource prediction in computational grid

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees