JPH04229356A - ロードバランスシステム - Google Patents
ロードバランスシステムInfo
- Publication number
- JPH04229356A JPH04229356A JP3093261A JP9326191A JPH04229356A JP H04229356 A JPH04229356 A JP H04229356A JP 3093261 A JP3093261 A JP 3093261A JP 9326191 A JP9326191 A JP 9326191A JP H04229356 A JPH04229356 A JP H04229356A
- Authority
- JP
- Japan
- Prior art keywords
- computer
- transaction
- transaction type
- computers
- type
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000012545 processing Methods 0.000 title claims abstract description 32
- 239000011159 matrix material Substances 0.000 claims abstract description 14
- 238000000034 method Methods 0.000 claims description 41
- 230000008569 process Effects 0.000 claims description 39
- 238000004891 communication Methods 0.000 claims description 10
- 230000004044 response Effects 0.000 claims description 9
- 230000008859 change Effects 0.000 claims description 6
- 238000012544 monitoring process Methods 0.000 claims 8
- 230000006870 function Effects 0.000 description 24
- 230000003068 static effect Effects 0.000 description 8
- 230000007423 decrease Effects 0.000 description 5
- 238000012935 Averaging Methods 0.000 description 3
- 230000002776 aggregation Effects 0.000 description 3
- 238000004220 aggregation Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000012804 iterative process Methods 0.000 description 2
- 230000005012 migration Effects 0.000 description 2
- 238000013508 migration Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 241001522296 Erithacus rubecula Species 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 239000013256 coordination polymer Substances 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008450 motivation Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 244000038293 primary consumers Species 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5033—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering data affinity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques 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)
- Computer And Data Communications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【0001】
【産業上の利用分野】本発明は一般に通信リンクにより
相互接続されると共に一つの共用データベースへのアク
セスを有するコンピュータのシステムについてのロード
バランサに関し、詳細には、一つのトランザクション形
式が1つのコンピュータから他に動かされるときにシス
テム内に過度のオーバヘッドが発生されないようにトラ
ンザクション形式間のロック競合についての情報を保持
することによりこのシステムのコンピュータ間でトラン
ザクション形式を再割振りを行うロードバランサに関す
る。トランザクション形式とはトランザクションの具体
例であるシステム内に記憶されるプログラムに関連する
すべての要求を意味する。トランザクション形式は一般
にプログラムに関連づけを行うシステムに対する名前(
すなわちコード)で識別される。
相互接続されると共に一つの共用データベースへのアク
セスを有するコンピュータのシステムについてのロード
バランサに関し、詳細には、一つのトランザクション形
式が1つのコンピュータから他に動かされるときにシス
テム内に過度のオーバヘッドが発生されないようにトラ
ンザクション形式間のロック競合についての情報を保持
することによりこのシステムのコンピュータ間でトラン
ザクション形式を再割振りを行うロードバランサに関す
る。トランザクション形式とはトランザクションの具体
例であるシステム内に記憶されるプログラムに関連する
すべての要求を意味する。トランザクション形式は一般
にプログラムに関連づけを行うシステムに対する名前(
すなわちコード)で識別される。
【0002】
【従来の技術および課題】トランザクション処理システ
ムは、しばしば大きい地域にわたり分散された複数の末
端装置を支持する複数プロセッサデータ処理システムで
一般に具体化されるオンライン、適用業務型システムで
ある。代表的なトランザクション処理システムは、本来
航空機予約システムで用いられるが他のシステム、特に
オンラインテラー業務を行う銀行で用いられるIBM
ACP(Airline Control Prog
ram )である。コンピュータ、末端装置、共用デー
タベース、通信リンク等を含むこのシステム全体をここ
ではコンピュータのシステムあるいは単にシステムと呼
ぶ。 高性能トランザクション処理システムは大規模
組織での使用が増加しつつある。代表的な大規模設備で
は数千のトランザクション形式が、しばしば使用される
ものは数百にすぎないが、定義しうる。共通に用いられ
るトランザクション形式の入力速度は種々の理由、例え
ば季節、1日の内の特定の時間帯、あるいはランダムに
も変動しうる。更に、このシステムの複数のコンピュー
タは増加または減少され、あるいは故障することがある
。他の適用業務(プログラム開発、他の対話ユーザ)は
時としてシステム機械の使用部分の拡大を要求するもの
である。
ムは、しばしば大きい地域にわたり分散された複数の末
端装置を支持する複数プロセッサデータ処理システムで
一般に具体化されるオンライン、適用業務型システムで
ある。代表的なトランザクション処理システムは、本来
航空機予約システムで用いられるが他のシステム、特に
オンラインテラー業務を行う銀行で用いられるIBM
ACP(Airline Control Prog
ram )である。コンピュータ、末端装置、共用デー
タベース、通信リンク等を含むこのシステム全体をここ
ではコンピュータのシステムあるいは単にシステムと呼
ぶ。 高性能トランザクション処理システムは大規模
組織での使用が増加しつつある。代表的な大規模設備で
は数千のトランザクション形式が、しばしば使用される
ものは数百にすぎないが、定義しうる。共通に用いられ
るトランザクション形式の入力速度は種々の理由、例え
ば季節、1日の内の特定の時間帯、あるいはランダムに
も変動しうる。更に、このシステムの複数のコンピュー
タは増加または減少され、あるいは故障することがある
。他の適用業務(プログラム開発、他の対話ユーザ)は
時としてシステム機械の使用部分の拡大を要求するもの
である。
【0003】この環境的な変化はそのシステム内のコン
ピュータに重大なオーバロードを負わせ、その結果オー
バロードのプロセッサにおいて走行するトランザクショ
ン形式の劇的な性能(レスポンス時間そしてまたはスル
ープット)の劣化が生じる。そのようなシステムでは処
理が最大効率で行なわれることが重要である。これには
システム内のいくつかのコンピュータ間である種のロー
ドバランスが必要である。
ピュータに重大なオーバロードを負わせ、その結果オー
バロードのプロセッサにおいて走行するトランザクショ
ン形式の劇的な性能(レスポンス時間そしてまたはスル
ープット)の劣化が生じる。そのようなシステムでは処
理が最大効率で行なわれることが重要である。これには
システム内のいくつかのコンピュータ間である種のロー
ドバランスが必要である。
【0004】ロードバランサは周知である。静的ロード
バランサはシステム内のコンピュータ間でいかにワーク
が分担されているから監視しそれにもとづきロードを平
等にするためにシステムを調整するシステムオペレータ
(人間)により手動的に調整される。平衡はこのシステ
ムが動作中に固定され、従ってシステムは異常な環境ま
たはシステムの使用パターンの変化に応答しえない。変
化が故障または長いレスポンス時間のために必要とみな
されるならばオペレータの介入が要求されそして、最悪
の場合にはこのシステムをオペレータが再調整する間に
停止させねばならない。
バランサはシステム内のコンピュータ間でいかにワーク
が分担されているから監視しそれにもとづきロードを平
等にするためにシステムを調整するシステムオペレータ
(人間)により手動的に調整される。平衡はこのシステ
ムが動作中に固定され、従ってシステムは異常な環境ま
たはシステムの使用パターンの変化に応答しえない。変
化が故障または長いレスポンス時間のために必要とみな
されるならばオペレータの介入が要求されそして、最悪
の場合にはこのシステムをオペレータが再調整する間に
停止させねばならない。
【0005】ジョブそしてまたはトランザクションの静
的割振りが文献上で提案されている。入ってくるジョブ
とコンピュータのシステムの特性は一般に静的情報を構
成する。システムパラメータのいくつか、例えばジョブ
/トランザクション入来速度が時間と共に徐々に変わる
場合には、そのようなパラメータは見積られて、改善さ
れたジョブ/トランザクション宛先指定に用いられる。 また、宛先再指定は人間により行われる。この場合のポ
リシを、「アダプティブ・ロード・バランシング・イン
・ヘテロジニアス・マルチサーバ・システム・ウイズ・
ア・セントラル・ジョブ・スケデューラ」、プロシーデ
ィング・オブ・8th・インターナショナル・コンファ
レンス。ディストリビューテッド・コンピューティング
・システム、1988年6月、pp.500−508に
示されるように、疑似静的、または疑似動的と呼ぶ。静
的宛先指定には次のものがある。
的割振りが文献上で提案されている。入ってくるジョブ
とコンピュータのシステムの特性は一般に静的情報を構
成する。システムパラメータのいくつか、例えばジョブ
/トランザクション入来速度が時間と共に徐々に変わる
場合には、そのようなパラメータは見積られて、改善さ
れたジョブ/トランザクション宛先指定に用いられる。 また、宛先再指定は人間により行われる。この場合のポ
リシを、「アダプティブ・ロード・バランシング・イン
・ヘテロジニアス・マルチサーバ・システム・ウイズ・
ア・セントラル・ジョブ・スケデューラ」、プロシーデ
ィング・オブ・8th・インターナショナル・コンファ
レンス。ディストリビューテッド・コンピューティング
・システム、1988年6月、pp.500−508に
示されるように、疑似静的、または疑似動的と呼ぶ。静
的宛先指定には次のものがある。
【0006】1. 確率型宛先指定。ジョブの一部が
ベルヌーイ試行に従って各コンピュータシステムに向け
られる。各システムに宛先指定される確率は例えばすべ
てのシステムにおけるプロセッサ利用度の平均化、期待
される総合レスポンス時間の最少化、またはすべてのシ
ステムにおける期待されるレスポンス時間システムの平
均化、のような性能上の目安を最適化するために予め計
算される。期待される総合レスポンス時間の最少化は「
インフォーメーション・プロセシング74、pp271
−175、ノースホランド出版、ニューヨーク(197
4)および「オプティマル・スタティック・ロード・バ
ランシング・イン・ディストリビューテド・コンピュー
タ・システム」、ジャーナル・オフ・ザ・ACM、32
(2):445−465(1985)に示されている。 期待されるレスポンス時間システムの平均化は「ア・フ
ェア・ワークロード・アロケーション・ポリシー・フォ
ー・ヘテロジニアス・システムズ」IBM J.J.
ワトソン研究センタ、RC14323(1988)に示
されている。
ベルヌーイ試行に従って各コンピュータシステムに向け
られる。各システムに宛先指定される確率は例えばすべ
てのシステムにおけるプロセッサ利用度の平均化、期待
される総合レスポンス時間の最少化、またはすべてのシ
ステムにおける期待されるレスポンス時間システムの平
均化、のような性能上の目安を最適化するために予め計
算される。期待される総合レスポンス時間の最少化は「
インフォーメーション・プロセシング74、pp271
−175、ノースホランド出版、ニューヨーク(197
4)および「オプティマル・スタティック・ロード・バ
ランシング・イン・ディストリビューテド・コンピュー
タ・システム」、ジャーナル・オフ・ザ・ACM、32
(2):445−465(1985)に示されている。 期待されるレスポンス時間システムの平均化は「ア・フ
ェア・ワークロード・アロケーション・ポリシー・フォ
ー・ヘテロジニアス・システムズ」IBM J.J.
ワトソン研究センタ、RC14323(1988)に示
されている。
【0007】2. 決定型宛先指定 2個の均一な
サーバの場合には、初期状態が同一(例えば両サーバ共
に遊休中である)であるときにラウンド−ロビン(ro
und−robin )宛先指定が最適である。これは
「ア・シンプル・ダナミック・ルーチング・プログレム
」、IEEEトランザクション・オン・オートマチック
・コントロール、AC−25(4):690−693、
1982年8月に示されている。
サーバの場合には、初期状態が同一(例えば両サーバ共
に遊休中である)であるときにラウンド−ロビン(ro
und−robin )宛先指定が最適である。これは
「ア・シンプル・ダナミック・ルーチング・プログレム
」、IEEEトランザクション・オン・オートマチック
・コントロール、AC−25(4):690−693、
1982年8月に示されている。
【0008】動的ロードバランサも提案され、これは完
全に動的、すなわち、各トランザクション後のロードバ
ランスの必要性を検査する。そのようなシステムは実際
には不可能な程の大きいオーバーヘッドを必要とする。 云い換えると、動的ロードバランスを行うに実際のトラ
ンザクションの処理に用いられるべき多量のプロセッサ
電力を用いる。
全に動的、すなわち、各トランザクション後のロードバ
ランスの必要性を検査する。そのようなシステムは実際
には不可能な程の大きいオーバーヘッドを必要とする。 云い換えると、動的ロードバランスを行うに実際のトラ
ンザクションの処理に用いられるべき多量のプロセッサ
電力を用いる。
【0009】以上の文献に示される動的ロードバランサ
はいまだに実現されていない。「ノーツ・オン・ダイナ
ミック・ロード・シェアリング・アンド・トランザクシ
ョン・ルーティング」、IBMリサーチ、RC1153
7(1985)では、宛先指定の決定は分散システムに
入る各メッセージについてなされるが、これらの傾向は
、特に「短い」トランザクションについて高価なものと
なる傾向がある。「ホエン・イズ・ザ・ベスト・ロード
・シェアリング・アルゴリズム・ア・ロード・バランシ
ング・アルゴリズム?」ウィスコンシン大学コンピュー
タ科学部、1987年4月ではFIFOあるいはプロセ
ッサ共用のような局所スケジュールポリシとロード共用
およびロードバランスのような大域スケジュールポリシ
を組合せる種々のアルゴリズムが述べられている。大域
スケジュールポリシが遊休プロセッサにワークを与える
ためのものである場合には、そのポリシはロード共用の
一つであり、ロードバランスはこのポリシがプロセッサ
のロードを平衡させておくものであるときに行われる。 これと同じ仮定を用いる他の動的アルゴリズムについて
は例えば「ロード・バランシング・イン・P・ホモジニ
アス・ディストリビューテド・システム」、プロシーデ
ィングズ・オフ・ザ・ACM・コンピュータ・ネットワ
ークス・パフォーマンス・シンポジウム、1982年4
月、「ダイナミック・ロード・シェアリング・イン・ホ
モジニアス・ディストリビューテド・システムズ」サス
カチワン大学 技報84−10−01、1984年1
0月、「ア・ステーブル・ディストリビューテド・スケ
ジューリング・アルゴリズム」プロシーディングス・オ
フ・ザ・セコンド・インターナショナル・コンファレン
ス・オン・ディストリビューテド・コンピューティング
・システムズ」、1981年4月、および「ア・ディス
トリビューテド・ロードバランシング・ポリシ・フォー
・ア・マルチコンピュータ」、ソフトウエア−プラクテ
ィス・アンド・エクスペクエンス、15(9):901
−913、1985年9月がある。これらアルゴリズム
のいくつかはプロセス移行を行うときにプロセス優先使
用(premption )を用いる。このオプション
はオンライントランザクション処理システムにおける使
用は不可能である。これはオーバロードとなったプロセ
ッサについての実行の優先使用に感応しそしてそれをア
ンダーロードとなったプロセッサに移行させるが、トラ
ンザクションエンバイロンメントではトランザクション
管理オーバーヘッドのために実用的でない。
はいまだに実現されていない。「ノーツ・オン・ダイナ
ミック・ロード・シェアリング・アンド・トランザクシ
ョン・ルーティング」、IBMリサーチ、RC1153
7(1985)では、宛先指定の決定は分散システムに
入る各メッセージについてなされるが、これらの傾向は
、特に「短い」トランザクションについて高価なものと
なる傾向がある。「ホエン・イズ・ザ・ベスト・ロード
・シェアリング・アルゴリズム・ア・ロード・バランシ
ング・アルゴリズム?」ウィスコンシン大学コンピュー
タ科学部、1987年4月ではFIFOあるいはプロセ
ッサ共用のような局所スケジュールポリシとロード共用
およびロードバランスのような大域スケジュールポリシ
を組合せる種々のアルゴリズムが述べられている。大域
スケジュールポリシが遊休プロセッサにワークを与える
ためのものである場合には、そのポリシはロード共用の
一つであり、ロードバランスはこのポリシがプロセッサ
のロードを平衡させておくものであるときに行われる。 これと同じ仮定を用いる他の動的アルゴリズムについて
は例えば「ロード・バランシング・イン・P・ホモジニ
アス・ディストリビューテド・システム」、プロシーデ
ィングズ・オフ・ザ・ACM・コンピュータ・ネットワ
ークス・パフォーマンス・シンポジウム、1982年4
月、「ダイナミック・ロード・シェアリング・イン・ホ
モジニアス・ディストリビューテド・システムズ」サス
カチワン大学 技報84−10−01、1984年1
0月、「ア・ステーブル・ディストリビューテド・スケ
ジューリング・アルゴリズム」プロシーディングス・オ
フ・ザ・セコンド・インターナショナル・コンファレン
ス・オン・ディストリビューテド・コンピューティング
・システムズ」、1981年4月、および「ア・ディス
トリビューテド・ロードバランシング・ポリシ・フォー
・ア・マルチコンピュータ」、ソフトウエア−プラクテ
ィス・アンド・エクスペクエンス、15(9):901
−913、1985年9月がある。これらアルゴリズム
のいくつかはプロセス移行を行うときにプロセス優先使
用(premption )を用いる。このオプション
はオンライントランザクション処理システムにおける使
用は不可能である。これはオーバロードとなったプロセ
ッサについての実行の優先使用に感応しそしてそれをア
ンダーロードとなったプロセッサに移行させるが、トラ
ンザクションエンバイロンメントではトランザクション
管理オーバーヘッドのために実用的でない。
【0010】しかしながら、上記のワークのすべては競
合のために他と干渉するトランザクションの場合をアド
レスしない。これは、トランザクションがそれらの入来
速度により発生されるロードがプロセッサ間でほぼ平均
化されるように方向づけられたとしてもデータ競合によ
り発生されたオーバーヘッドは結果としてのロードがま
だアンバランスであり、総合スループットが大きく減少
するから重要なことである。
合のために他と干渉するトランザクションの場合をアド
レスしない。これは、トランザクションがそれらの入来
速度により発生されるロードがプロセッサ間でほぼ平均
化されるように方向づけられたとしてもデータ競合によ
り発生されたオーバーヘッドは結果としてのロードがま
だアンバランスであり、総合スループットが大きく減少
するから重要なことである。
【0011】静的最適化アルゴリズムはプロセッサの容
量制約のもとでトランザクション通信(またはトランザ
クションがデータを共用する場合には干渉)のコストを
最少にするために考えられている。その例は「エステイ
メーション・オブ・インターモジュール・コミュニケー
ション(IMC)・アンド・イッツ・アプリケーション
ズ・イン・ディストリビューテド・プロセシングシステ
ムズ」、IEEEトランザクションス・オン・コンピュ
ータス、C−33、1984年8月および「アナライシ
ス・オブ・アフィニティ・ベースド・ルーチング・イン
・マルチシステム・データ・シエアリング」、IBM、
RC11424(1985年)に示されている。しかし
ながら、システム発生時点でトランザクションロードお
よび通信についての統計的情報は一般に未知である。更
に、頻繁なロードおよび構成の変化により、この最適化
アルゴリズムは実用的でない。これらの組合せから、特
定の場合について効率のよいアルゴリズムの開発が問題
となる。その例は「アサインメント・オブ・タスクス・
イン・ア・ディストリビューテド・プロセッサ・システ
ム・ウイズ;リミテッド・メモリ」、IEEEトランザ
クションス・オン・コンピュータス、C−28(4)、
1979年4月および「マルチプロセッサ・スケージュ
ーリング・ウイズ・ザ・エンド・オブ・ネットワーク・
フロー・アルゴリズムス」、IEEEトランザクション
・オン・ソフトウエア・エンジニアリング、SE−3(
1)、1977年1月に示されている。
量制約のもとでトランザクション通信(またはトランザ
クションがデータを共用する場合には干渉)のコストを
最少にするために考えられている。その例は「エステイ
メーション・オブ・インターモジュール・コミュニケー
ション(IMC)・アンド・イッツ・アプリケーション
ズ・イン・ディストリビューテド・プロセシングシステ
ムズ」、IEEEトランザクションス・オン・コンピュ
ータス、C−33、1984年8月および「アナライシ
ス・オブ・アフィニティ・ベースド・ルーチング・イン
・マルチシステム・データ・シエアリング」、IBM、
RC11424(1985年)に示されている。しかし
ながら、システム発生時点でトランザクションロードお
よび通信についての統計的情報は一般に未知である。更
に、頻繁なロードおよび構成の変化により、この最適化
アルゴリズムは実用的でない。これらの組合せから、特
定の場合について効率のよいアルゴリズムの開発が問題
となる。その例は「アサインメント・オブ・タスクス・
イン・ア・ディストリビューテド・プロセッサ・システ
ム・ウイズ;リミテッド・メモリ」、IEEEトランザ
クションス・オン・コンピュータス、C−28(4)、
1979年4月および「マルチプロセッサ・スケージュ
ーリング・ウイズ・ザ・エンド・オブ・ネットワーク・
フロー・アルゴリズムス」、IEEEトランザクション
・オン・ソフトウエア・エンジニアリング、SE−3(
1)、1977年1月に示されている。
【0012】「データ・アロケーション・ヒューリステ
ィックス・フォー・ディストリビューテッド・システム
ス」、プロシーディングス・オブ・ザ・IEEE I
NFOCOM 1985、pp118−129(19
85)は特定の割振りについてのレスポンス時間予測を
得ることのできるトランザクション処理システムの待ち
合せ回路モデルと組合された交換および集合ピューリス
ティックスを与えるものである。「オン・オプティカル
・アロケーション・イン・ア・ディストリビューテッド
・プロセシング・エンバイロンメント」、マネージメン
ト・サイエンス28(8):839−853、1982
年8月は部分的割当て(マップ)ではじまり、予測され
る最良の完成を計算することによりそれらを増加させる
。 「オプティマル・ペーティショニング・オブ・ワークロ
ード・フォー・ディストリビューテッド・システムス」
プロシーディングス・オブ・COMPCON Fal
l 1976、(1976)はトランザクションの集
合化を提案しており、セントロイド(centroid
)を用いるがそのアルゴリズムはクラスタの初期形成に
応答する。「ヒューリスティック・モデルス・オブ・タ
スク・アサインメント・スケジューリング・イン・ディ
ストリビューテッド・システムス」コンピュータ、19
82年6月は対化とプロセッサへのクラスタのアルゴリ
ズムの割当てによる集合アルゴリズムを提案している。 「オン・ザ・マッピング・プルブレム」IEEEトラン
ザクション・オン・コンピュータス、C−30(3)、
1981年3月はアレイプロセッサの縁にマッピングさ
れるプログラムグラフの縁の数を最大にするためのビュ
ーカスティクス(リンク交換)を与えている。このアル
ゴリズムは最適割当てとの比較はないが良好に動作する
ようにみえる。 並列機械(例えばNASAのファイナイトエレメントマ
シン(Finite Element Machine
))にマッピングされる周辺プログラムグラフを備えた
数値問題への特定の適用性を有するものである。
ィックス・フォー・ディストリビューテッド・システム
ス」、プロシーディングス・オブ・ザ・IEEE I
NFOCOM 1985、pp118−129(19
85)は特定の割振りについてのレスポンス時間予測を
得ることのできるトランザクション処理システムの待ち
合せ回路モデルと組合された交換および集合ピューリス
ティックスを与えるものである。「オン・オプティカル
・アロケーション・イン・ア・ディストリビューテッド
・プロセシング・エンバイロンメント」、マネージメン
ト・サイエンス28(8):839−853、1982
年8月は部分的割当て(マップ)ではじまり、予測され
る最良の完成を計算することによりそれらを増加させる
。 「オプティマル・ペーティショニング・オブ・ワークロ
ード・フォー・ディストリビューテッド・システムス」
プロシーディングス・オブ・COMPCON Fal
l 1976、(1976)はトランザクションの集
合化を提案しており、セントロイド(centroid
)を用いるがそのアルゴリズムはクラスタの初期形成に
応答する。「ヒューリスティック・モデルス・オブ・タ
スク・アサインメント・スケジューリング・イン・ディ
ストリビューテッド・システムス」コンピュータ、19
82年6月は対化とプロセッサへのクラスタのアルゴリ
ズムの割当てによる集合アルゴリズムを提案している。 「オン・ザ・マッピング・プルブレム」IEEEトラン
ザクション・オン・コンピュータス、C−30(3)、
1981年3月はアレイプロセッサの縁にマッピングさ
れるプログラムグラフの縁の数を最大にするためのビュ
ーカスティクス(リンク交換)を与えている。このアル
ゴリズムは最適割当てとの比較はないが良好に動作する
ようにみえる。 並列機械(例えばNASAのファイナイトエレメントマ
シン(Finite Element Machine
))にマッピングされる周辺プログラムグラフを備えた
数値問題への特定の適用性を有するものである。
【0013】それ故本発明の目的は共用データベースト
ランザクション処理システムのコンピュータからプロセ
ッサ利用度情報を集めることによりプロセッサのロード
を等しくするためにトランザクション形式を再分配する
ロードバランサを提供することである。
ランザクション処理システムのコンピュータからプロセ
ッサ利用度情報を集めることによりプロセッサのロード
を等しくするためにトランザクション形式を再分配する
ロードバランサを提供することである。
【0014】本発明の他の目的はバランスしたロードを
達成するためにコンピュータにトランザクション形式を
再分配することによりワークロードの変化に応答する複
数コンピュータトランザクションシステム用の半動的ロ
ードバランサを提供することである。
達成するためにコンピュータにトランザクション形式を
再分配することによりワークロードの変化に応答する複
数コンピュータトランザクションシステム用の半動的ロ
ードバランサを提供することである。
【0015】本発明の他の目的はカテゴリによりグルー
プ化されるトランザクション形式の構成(スキーム)を
用いてシステム内でのロードバランスを増分的に改善す
るためのくり返しプロセスを提供することである。
プ化されるトランザクション形式の構成(スキーム)を
用いてシステム内でのロードバランスを増分的に改善す
るためのくり返しプロセスを提供することである。
【0016】
【課題を解決するための手段】本発明によれば、動的で
も静的でもなく半動的(または半静的)であるロードバ
ランサが提供させる。すなわち、本発明によるロードバ
ランサはワークロード状態を周期的にみて所要の調整を
行う。この半動的な性質の結果、これは一時に1個では
なく多数のトランザクションをみるために傾向をみそし
て推測することができる。静的または全動的ロードバラ
ンサは傾向の推測を行うことができない。また、本発明
の半動的ロードバランサは全動的ロードバランサよりも
著しく少いオーバーヘッドを使用し、それ故プロセッサ
資源のより生産的な使用が可能である。好適な実施例で
は、入子の前端プロセッサがトランザクション宛先指定
手段として作用するが、本発明は複数のトランザクショ
ン宛先指定手段のある場合にも拡張しうる。単純な拡張
は1つのトランザクション宛先指定手段において再割当
てアルゴリズムを行いそして次にその新しい宛先指定の
決定を残りの指定手段に分配することである。
も静的でもなく半動的(または半静的)であるロードバ
ランサが提供させる。すなわち、本発明によるロードバ
ランサはワークロード状態を周期的にみて所要の調整を
行う。この半動的な性質の結果、これは一時に1個では
なく多数のトランザクションをみるために傾向をみそし
て推測することができる。静的または全動的ロードバラ
ンサは傾向の推測を行うことができない。また、本発明
の半動的ロードバランサは全動的ロードバランサよりも
著しく少いオーバーヘッドを使用し、それ故プロセッサ
資源のより生産的な使用が可能である。好適な実施例で
は、入子の前端プロセッサがトランザクション宛先指定
手段として作用するが、本発明は複数のトランザクショ
ン宛先指定手段のある場合にも拡張しうる。単純な拡張
は1つのトランザクション宛先指定手段において再割当
てアルゴリズムを行いそして次にその新しい宛先指定の
決定を残りの指定手段に分配することである。
【0017】更に、この半動的特質に加えてこのロード
バランサもトランザクション形式にもとづきトランザク
ションを再割当てする。これはロックの競合およびデッ
ドロックを避けるために行われる。例えば、一つの与え
られたトランザクション形式が同一のメモリそしてまた
は直接アクセス記憶装置(DASD)のアドレスをアド
レスすることがある。もしこれらトランザクションの形
式のすべてが同一のプロセッサにあるとすれば他のプロ
セッサからのロックは回避される。
バランサもトランザクション形式にもとづきトランザク
ションを再割当てする。これはロックの競合およびデッ
ドロックを避けるために行われる。例えば、一つの与え
られたトランザクション形式が同一のメモリそしてまた
は直接アクセス記憶装置(DASD)のアドレスをアド
レスすることがある。もしこれらトランザクションの形
式のすべてが同一のプロセッサにあるとすれば他のプロ
セッサからのロックは回避される。
【0018】本発明は、共用データベースをアクセスす
るコンピュータのシステムでのロードバランスを増分に
改善するためにカテゴリで重みづけされたトランザクシ
ョン形式の構成にもとづいて反復プロセスを行う。詳細
にはトランザクション形式は3つのサブセットに分割さ
れる。これらの内の第1のものは、1つの形式がオーバ
ロードとなったコンピュータから除去されるとすると、
そのコンピュータの利用度は予定のしきい値より下とな
るようなすべてのトランザクション形式である。第2は
、もう一つがオーバロードとなったコンピュータから除
去されるとするとそのコンピュータの利用度が減少はす
るがしきい値より下にはならないようなすべてのトラン
ザクション形式である。最後のものは、それらの内の1
つがオーバロードとなったコンピュータから除去される
ときそのコンピュータの利用度はプロセス間の競合アク
ティビティの結果として増加するようなすべてのトラン
ザクション形式である。
るコンピュータのシステムでのロードバランスを増分に
改善するためにカテゴリで重みづけされたトランザクシ
ョン形式の構成にもとづいて反復プロセスを行う。詳細
にはトランザクション形式は3つのサブセットに分割さ
れる。これらの内の第1のものは、1つの形式がオーバ
ロードとなったコンピュータから除去されるとすると、
そのコンピュータの利用度は予定のしきい値より下とな
るようなすべてのトランザクション形式である。第2は
、もう一つがオーバロードとなったコンピュータから除
去されるとするとそのコンピュータの利用度が減少はす
るがしきい値より下にはならないようなすべてのトラン
ザクション形式である。最後のものは、それらの内の1
つがオーバロードとなったコンピュータから除去される
ときそのコンピュータの利用度はプロセス間の競合アク
ティビティの結果として増加するようなすべてのトラン
ザクション形式である。
【0019】第1サブセットからのトランザクション形
式は再割振りについての第1候補であり、そしてこれら
候補の内最少のロック競合をもつ候補が第1に選ばれる
。この選択された候補トランザクションはロードファク
タの予測される変化が最少であるシステム内のコンピュ
ータに再割振りされる。候補となるコンピュータがない
ならばこのプロセスは第1サブセットからの次のトラン
ザクション形式でくり返される。
式は再割振りについての第1候補であり、そしてこれら
候補の内最少のロック競合をもつ候補が第1に選ばれる
。この選択された候補トランザクションはロードファク
タの予測される変化が最少であるシステム内のコンピュ
ータに再割振りされる。候補となるコンピュータがない
ならばこのプロセスは第1サブセットからの次のトラン
ザクション形式でくり返される。
【0020】第1サブセット内のすべてのトランザクシ
ョンが検査されればこのプロセスは第2サブセット内の
トランザクションでくり返される。もし1つのトランザ
クションが適正に見出されれば、トランザクション対が
考慮されそして、以下、適正なコンピュータが見出され
るか、検索限界となるか、あるいはどのノードにも適合
しうるコンピュータがいないことになるまで同様である
。
ョンが検査されればこのプロセスは第2サブセット内の
トランザクションでくり返される。もし1つのトランザ
クションが適正に見出されれば、トランザクション対が
考慮されそして、以下、適正なコンピュータが見出され
るか、検索限界となるか、あるいはどのノードにも適合
しうるコンピュータがいないことになるまで同様である
。
【0021】
【実施例】図面、特に図1は1個の前端コンピュータ1
0と複数の後端コンピュータ12,14,16からなる
システムを示しており、これら後端コンピュータは、こ
こでは複数のDASD(直接アクセス記憶手段)18で
ある共通のデータベースを共用する。大域ロック管理プ
ログラムがデータベースの適正な共用を保証するために
用いられる。トランザクションはそれらをスループット
を最大にする目的で宛先指定テーブル1に従って後端コ
ンピュータ12,14,16に分配する前端コンピュー
タ10に処理のために到着する。この宛先指定テーブル
11は前端コンピュータ10内のメモリに記憶されそし
て本発明によるロードバランスアルゴリズムに従って周
期的に更新される。
0と複数の後端コンピュータ12,14,16からなる
システムを示しており、これら後端コンピュータは、こ
こでは複数のDASD(直接アクセス記憶手段)18で
ある共通のデータベースを共用する。大域ロック管理プ
ログラムがデータベースの適正な共用を保証するために
用いられる。トランザクションはそれらをスループット
を最大にする目的で宛先指定テーブル1に従って後端コ
ンピュータ12,14,16に分配する前端コンピュー
タ10に処理のために到着する。この宛先指定テーブル
11は前端コンピュータ10内のメモリに記憶されそし
て本発明によるロードバランスアルゴリズムに従って周
期的に更新される。
【0022】各トランザクションはJ個のトランザクシ
ョン形式の1つに属する。同一形式に属するトランザク
ションは同様の処理要求を有しそしてデータベース18
の同一の部分にアクセスしている。ここでは個々のトラ
ンザクションの移行は許さない。すなわち、1つのトラ
ンザクションは前端コンピュータ10により宛先指定さ
れているコンピュータについての処理を完了するものと
する。
ョン形式の1つに属する。同一形式に属するトランザク
ションは同様の処理要求を有しそしてデータベース18
の同一の部分にアクセスしている。ここでは個々のトラ
ンザクションの移行は許さない。すなわち、1つのトラ
ンザクションは前端コンピュータ10により宛先指定さ
れているコンピュータについての処理を完了するものと
する。
【0023】本発明によれば、ロードバランスアルゴリ
ズムは前端コンピュータ10に適用される。この目的は
高いトランザクションスループットを保証する。簡単で
低いオーバーヘッド手順を与えることである。コンピュ
ータ内で競合のある主資源は中央処理ユニット(CPU
)でありそしてこの資源の基本的な消費はトランザクシ
ョン(データベース管理プログラムのような他の「サー
ビス」ルーチンによりトランザクションの代りに行われ
る処理を含む)および大域ロック管理プログラムである
。
ズムは前端コンピュータ10に適用される。この目的は
高いトランザクションスループットを保証する。簡単で
低いオーバーヘッド手順を与えることである。コンピュ
ータ内で競合のある主資源は中央処理ユニット(CPU
)でありそしてこの資源の基本的な消費はトランザクシ
ョン(データベース管理プログラムのような他の「サー
ビス」ルーチンによりトランザクションの代りに行われ
る処理を含む)および大域ロック管理プログラムである
。
【0024】CPUの利用度がしきい値U1 より下の
ままである限りコンピュータシステムのスループットは
CPUの利用度とほぼ増加することが経験的にわかって
おり、分析的にも評価されている。この場合、このシス
テムは入来ロードのすべてを処理することができ、そし
てそのスループットは入来速度に等しい。CPU利用度
をしきい値U1 の上まで増加することにより、スルー
プットのわずかな増加が得られ、しきい値U2 と交わ
った後にスループットは減少する。U1 より上の利用
度についてのこのシステムのこの行為はこのシステムが
すべての入来ロードに適合しえないということ(すなわ
ちこのシステムがオーバロードとなったこと)によるも
のであり、CPU時間の殆んどは待ち行列、オーバーフ
ィルされたバッファ等を管理するためのシステムルーチ
ンにより使われる。このシステムがオーバロードとなっ
ている期間中、スループットは到着速度より小さい。図
には代表的なCPU利用度対スループット曲線を示す。 点線は正の勾配の直線セグメントAB、平らなラインB
Cと負の勾配の直線セグメントCDによるこの曲線の近
似である。以下の説明においてセグメントABをコンピ
ュータシステムの動作を「正常領域」と呼ぶ。
ままである限りコンピュータシステムのスループットは
CPUの利用度とほぼ増加することが経験的にわかって
おり、分析的にも評価されている。この場合、このシス
テムは入来ロードのすべてを処理することができ、そし
てそのスループットは入来速度に等しい。CPU利用度
をしきい値U1 の上まで増加することにより、スルー
プットのわずかな増加が得られ、しきい値U2 と交わ
った後にスループットは減少する。U1 より上の利用
度についてのこのシステムのこの行為はこのシステムが
すべての入来ロードに適合しえないということ(すなわ
ちこのシステムがオーバロードとなったこと)によるも
のであり、CPU時間の殆んどは待ち行列、オーバーフ
ィルされたバッファ等を管理するためのシステムルーチ
ンにより使われる。このシステムがオーバロードとなっ
ている期間中、スループットは到着速度より小さい。図
には代表的なCPU利用度対スループット曲線を示す。 点線は正の勾配の直線セグメントAB、平らなラインB
Cと負の勾配の直線セグメントCDによるこの曲線の近
似である。以下の説明においてセグメントABをコンピ
ュータシステムの動作を「正常領域」と呼ぶ。
【0025】図3はワークロード管理プログラムのプロ
セス構造を示す。このシステム内の夫々のコンピュータ
について、親ワークロード管理プロセス22がまず初期
化されそしてオペレータとのインターフェースを与える
。またこれは通信リンクを介して異なる機械にある他の
ワークロード管理プログラムとの接続をつくるプロセス
24をつくる。次に、モニタプロセス26が、トランザ
クションを処理する各機械について活性化される。バラ
ンサプロセス28は前端コンピュータ10について、活
性化される。このプロセスはトランザクション形式を再
割振りするための決定をなす。モニタプロセス26は周
期的に行われそしてモニタが最後に活性であったときか
ら累積されたCPUの使用時間を検査する。モニタプロ
セス26はアフィニティマトリクスについてのロック競
合情報を検査する。バランサプロセス28はこのシステ
ムのモニタにより送られる利用値を検査するために周期
的に動作する。この情報にもとづきバランサプロセス2
8は1個以上のコンピュータがオーバロードとなったか
どうかの決定をなす。オーバロードとなった夫々のコン
ピュータについてトランザクション形式はそのコンピュ
ータからアンダーロードであるコンピュータへの切換え
について考慮される。切換えのための、バランサプロセ
ス28により検査される目安は(1)とのトランザクシ
ョン形式が切換えに最も適しているか、および(2)そ
れらをこのシステム内のどのコンピュータに切換えるべ
きかである。異なるトランザクション形式が実行のため
に異なった時間量を必要としそして異なった速度で出さ
れるものとすると、それらの相対的ロードも異なったも
のであることは明らかである。経験によれば、トランザ
クション形式のレスポンス時間とスループットはトラン
ザクション形式の再分配のし方により影響される。更に
、同一のデータベースをアクセスするトランザクション
形式が異なったコンピュータに指向されるとすると、ロ
ック競合およびデータロックの可能性が劇的に上昇する
。これは本発明ではアフィニティ型宛先指定により回避
される。
セス構造を示す。このシステム内の夫々のコンピュータ
について、親ワークロード管理プロセス22がまず初期
化されそしてオペレータとのインターフェースを与える
。またこれは通信リンクを介して異なる機械にある他の
ワークロード管理プログラムとの接続をつくるプロセス
24をつくる。次に、モニタプロセス26が、トランザ
クションを処理する各機械について活性化される。バラ
ンサプロセス28は前端コンピュータ10について、活
性化される。このプロセスはトランザクション形式を再
割振りするための決定をなす。モニタプロセス26は周
期的に行われそしてモニタが最後に活性であったときか
ら累積されたCPUの使用時間を検査する。モニタプロ
セス26はアフィニティマトリクスについてのロック競
合情報を検査する。バランサプロセス28はこのシステ
ムのモニタにより送られる利用値を検査するために周期
的に動作する。この情報にもとづきバランサプロセス2
8は1個以上のコンピュータがオーバロードとなったか
どうかの決定をなす。オーバロードとなった夫々のコン
ピュータについてトランザクション形式はそのコンピュ
ータからアンダーロードであるコンピュータへの切換え
について考慮される。切換えのための、バランサプロセ
ス28により検査される目安は(1)とのトランザクシ
ョン形式が切換えに最も適しているか、および(2)そ
れらをこのシステム内のどのコンピュータに切換えるべ
きかである。異なるトランザクション形式が実行のため
に異なった時間量を必要としそして異なった速度で出さ
れるものとすると、それらの相対的ロードも異なったも
のであることは明らかである。経験によれば、トランザ
クション形式のレスポンス時間とスループットはトラン
ザクション形式の再分配のし方により影響される。更に
、同一のデータベースをアクセスするトランザクション
形式が異なったコンピュータに指向されるとすると、ロ
ック競合およびデータロックの可能性が劇的に上昇する
。これは本発明ではアフィニティ型宛先指定により回避
される。
【0026】2以上のコンピュータと処理されるべき1
つの与えられたとロードからなる図1のシステムについ
てはスループットはすべてのコンピュータが正常領域で
動作するようにロードを割振ることが可能であれば最大
化されることは明らかである。このことは本発明により
用いられるアルゴリズムの基本である。このアルゴリズ
ムは、ロードのこれらコンピュータへの配分と再配分が
、すべてユニットの利用度が与えられたしきい値より下
にとどまるようになされるものである。正常領域は直線
でなく、凸関数であるという事実により、すべてのユニ
ットからそれらの通常領域内で動作するときであっても
ロードを再配分するより複雑なアルゴリズムを適用する
ことによりいく分の改善が期待できるが、この場合の改
善はシステムの複雑性とオーバーヘッドの増加に見合う
に充分なものではない。
つの与えられたとロードからなる図1のシステムについ
てはスループットはすべてのコンピュータが正常領域で
動作するようにロードを割振ることが可能であれば最大
化されることは明らかである。このことは本発明により
用いられるアルゴリズムの基本である。このアルゴリズ
ムは、ロードのこれらコンピュータへの配分と再配分が
、すべてユニットの利用度が与えられたしきい値より下
にとどまるようになされるものである。正常領域は直線
でなく、凸関数であるという事実により、すべてのユニ
ットからそれらの通常領域内で動作するときであっても
ロードを再配分するより複雑なアルゴリズムを適用する
ことによりいく分の改善が期待できるが、この場合の改
善はシステムの複雑性とオーバーヘッドの増加に見合う
に充分なものではない。
【0027】このアルゴリズムは特定の一つのトランザ
クション形式に属するすべてのトランザクションを特定
の一つのコンピュータに割振る。この選択の理由は次の
通りである。
クション形式に属するすべてのトランザクションを特定
の一つのコンピュータに割振る。この選択の理由は次の
通りである。
【0028】1. 同一形式に属するトランザクショ
ンはデータベースの同一部分をアクセスする可能性が高
い。それ故、同一形式の2つのトランザクションが同時
に2つの異なったコンピュータシステムにより処理され
るとき、ロック競合とデッドロックの可能性は増大する
。
ンはデータベースの同一部分をアクセスする可能性が高
い。それ故、同一形式の2つのトランザクションが同時
に2つの異なったコンピュータシステムにより処理され
るとき、ロック競合とデッドロックの可能性は増大する
。
【0029】2. 同一形式に属するトランザクショ
ンは同様の特性を有し、それ故トランザクション形式に
もとづき集められる統計はより意味をもち信頼性が高い
。
ンは同様の特性を有し、それ故トランザクション形式に
もとづき集められる統計はより意味をもち信頼性が高い
。
【0030】トランザクションが他のトランザクション
によりロックされているデータベースの部分にアクセス
を要求するときはそのロックコンフリクトを処理するた
めにはある量のCPU処理が必要である。Cs とCd
をロックコンフリクトが夫々同一のコンピュータシス
テムおよび異なるコンピュータシステムに生じるときに
必要とされる処理量とする。Cs 《Cd とし、これ
は最も実用的なシステムにおける場合である。一つのロ
ックを処理するに必要な処理量はロックの形式(読取、
書込)、細分性(ページレベル、レコードレベル)およ
び用いられるアルゴリズムによりきまる。説明を簡潔に
するために、Cs とCd が、夫々同一および異なっ
たコンピュータでのロックを処理するために必要な処理
の平均であるとする。この仮定は異なったロックの形式
の処理要求を考えることにより緩和しうる。本発明によ
り行われるアルゴリズムは同一のままであるが集めるべ
き情報の量は増加する。
によりロックされているデータベースの部分にアクセス
を要求するときはそのロックコンフリクトを処理するた
めにはある量のCPU処理が必要である。Cs とCd
をロックコンフリクトが夫々同一のコンピュータシス
テムおよび異なるコンピュータシステムに生じるときに
必要とされる処理量とする。Cs 《Cd とし、これ
は最も実用的なシステムにおける場合である。一つのロ
ックを処理するに必要な処理量はロックの形式(読取、
書込)、細分性(ページレベル、レコードレベル)およ
び用いられるアルゴリズムによりきまる。説明を簡潔に
するために、Cs とCd が、夫々同一および異なっ
たコンピュータでのロックを処理するために必要な処理
の平均であるとする。この仮定は異なったロックの形式
の処理要求を考えることにより緩和しうる。本発明によ
り行われるアルゴリズムは同一のままであるが集めるべ
き情報の量は増加する。
【0031】nijを形式iのトランザクションがトラ
ンザクション形式jによりロックが保持されているため
に阻止される平均回数であるとする。代表的エレメント
nijをもつマトリックスはアフィニティマトリクスと
定義される。ロックを処理するためのCPU時間Sij
はトランザクションiに対し用いられる。上記の定義を
用いると次のようになる。
ンザクション形式jによりロックが保持されているため
に阻止される平均回数であるとする。代表的エレメント
nijをもつマトリックスはアフィニティマトリクスと
定義される。ロックを処理するためのCPU時間Sij
はトランザクションiに対し用いられる。上記の定義を
用いると次のようになる。
【0032】
両トランザクションが同一コンピュー
タによる場合、Cs nij Sij{
(1) 両トランザクションが異
なるコンピュータによる場合、Cd nij ここで
プロセッサへのトランザクション形式の割振りが与えら
れているとする。Si をトランザクション形式iによ
り要求される平均CPU処理時間、ρi をこのトラン
ザクション形式を処理するコンピュータとする。ρi
c をコンピュータの残りのものとする(すなわち、ρ
i c ={1,…,N}−{ρi })とすると、ト
ランザクション形式iが必要とするCPU処理時間は次
のようになる。
タによる場合、Cs nij Sij{
(1) 両トランザクションが異
なるコンピュータによる場合、Cd nij ここで
プロセッサへのトランザクション形式の割振りが与えら
れているとする。Si をトランザクション形式iによ
り要求される平均CPU処理時間、ρi をこのトラン
ザクション形式を処理するコンピュータとする。ρi
c をコンピュータの残りのものとする(すなわち、ρ
i c ={1,…,N}−{ρi })とすると、ト
ランザクション形式iが必要とするCPU処理時間は次
のようになる。
【0033】
【数1】
ここでコンピュータPがオーバロードとなっている、す
なわちρp >U1 であるとする。前端コンピュータ
10の目的はトランザクション形式をコンピュータPか
らアンダーロードである他のコンピュータに再割振りす
ることによりコンピュータPの利用度を減少させようと
することである。しかしながら任意のトランザクション
形式を単に再割振りしても次の条件のために状況を改善
することにはならない。
なわちρp >U1 であるとする。前端コンピュータ
10の目的はトランザクション形式をコンピュータPか
らアンダーロードである他のコンピュータに再割振りす
ることによりコンピュータPの利用度を減少させようと
することである。しかしながら任意のトランザクション
形式を単に再割振りしても次の条件のために状況を改善
することにはならない。
【0034】1. 誤ったトランザクション形式が再
割振りされると、ロックコンフリクトが増加し、そのた
めコンフリクトの解消のために処理要求が増大する。得
られる効果はコンピュータPの利用度が増加することに
なる。
割振りされると、ロックコンフリクトが増加し、そのた
めコンフリクトの解消のために処理要求が増大する。得
られる効果はコンピュータPの利用度が増加することに
なる。
【0035】2. ロードの再割振りを受けたコンピ
ュータQの利用度がしきい値U1 を越えて増加し、そ
の場合の問題はコンピュータPからQに単に移される。 この現象はスラッシングとして知られている。
ュータQの利用度がしきい値U1 を越えて増加し、そ
の場合の問題はコンピュータPからQに単に移される。 この現象はスラッシングとして知られている。
【0036】以上からトランザクション形式の注意深い
再割振りがプロセッサの利用度を特定のしきい値の下の
ままとなるに必要であることは明らかである。
再割振りがプロセッサの利用度を特定のしきい値の下の
ままとなるに必要であることは明らかである。
【0037】本発明により行われるアルゴリズムは出来
るだけ新しいトランザクション形式を再割振りすること
によりオーバロードとなったプロセッサの利用度を減少
するものである。事実、1つのトランザクション形式が
各ステップで再割振りされる。その理由は、そのような
再割振りがアルゴリズムを簡単にしそして新しいプログ
ラムを主メモリに入れる必要性および、割振られるプロ
セッサにおける新しいトランザクション形式の処理のた
めの新しい制御ブロックにより生じるオーバーヘッドを
減少するからである。更に、このステップ形の方法は連
続する形式再割振り間のトランザクション形式に関する
意味のある統計をつくることを可能にする。またここで
は、特定のコンピュータへの割振自体によりそのコンピ
ュータをオーバロードとするような主たるトランザクシ
ョン形式がシステム内にないものと仮定している。
るだけ新しいトランザクション形式を再割振りすること
によりオーバロードとなったプロセッサの利用度を減少
するものである。事実、1つのトランザクション形式が
各ステップで再割振りされる。その理由は、そのような
再割振りがアルゴリズムを簡単にしそして新しいプログ
ラムを主メモリに入れる必要性および、割振られるプロ
セッサにおける新しいトランザクション形式の処理のた
めの新しい制御ブロックにより生じるオーバーヘッドを
減少するからである。更に、このステップ形の方法は連
続する形式再割振り間のトランザクション形式に関する
意味のある統計をつくることを可能にする。またここで
は、特定のコンピュータへの割振自体によりそのコンピ
ュータをオーバロードとするような主たるトランザクシ
ョン形式がシステム内にないものと仮定している。
【0038】
【数2】
残りのコンピュータのCPU利用度には影響はない。項
(Cd −Cs )は正であるから式(5)から、一つ
のトランザクション形式を再割振りすることによればコ
ンピュータPでのCPU利用度の減少の保証はないこと
は明らかである。同様に、式(8)から、トランザクシ
ョン形式のターゲットコンピュータQへの再割振りは特
定の場合にはコンピュータQにとって有利であることが
わかる。
(Cd −Cs )は正であるから式(5)から、一つ
のトランザクション形式を再割振りすることによればコ
ンピュータPでのCPU利用度の減少の保証はないこと
は明らかである。同様に、式(8)から、トランザクシ
ョン形式のターゲットコンピュータQへの再割振りは特
定の場合にはコンピュータQにとって有利であることが
わかる。
【0039】一つのコンピュータのCPU利用度の変化
はパラメータnij(i=1,…,N、j=1,…,N
)およびSij(i=1,…,N)が与えられれば容易
に計算することができる。これらパラメータは後端コン
ピュータにより測定されそして前端コンピュータに送ら
れる統計的な量である。特に、Wを平均値を測定する時
間インターバルとすると、nijは次のようにいして計
算される。
はパラメータnij(i=1,…,N、j=1,…,N
)およびSij(i=1,…,N)が与えられれば容易
に計算することができる。これらパラメータは後端コン
ピュータにより測定されそして前端コンピュータに送ら
れる統計的な量である。特に、Wを平均値を測定する時
間インターバルとすると、nijは次のようにいして計
算される。
【0040】
(形式jのトランザクションにより保
持されるロックを 要求した形式i
のトランザクションの回数) nij=
(9
) (W中の形式iのトランザクション
の数)量nijは後端コンピュータで計算されて前端コ
ンピュータに送られる。前端コンピュータは次の量を計
算する。
持されるロックを 要求した形式i
のトランザクションの回数) nij=
(9
) (W中の形式iのトランザクション
の数)量nijは後端コンピュータで計算されて前端コ
ンピュータに送られる。前端コンピュータは次の量を計
算する。
【0041】
(W中に形式iに割振られた総合CP
U時間) Si =
(10)
(W中に保存された形式iのトランザクション数)パ
ラメータCd とCs は比較的一定であり頻繁に更新
する必要はない。これらは時間についての平均CPU消
費として計算してもよく、あるいは一つのロックの処理
に必要なトランザクションの数から予測することもでき
る。
U時間) Si =
(10)
(W中に保存された形式iのトランザクション数)パ
ラメータCd とCs は比較的一定であり頻繁に更新
する必要はない。これらは時間についての平均CPU消
費として計算してもよく、あるいは一つのロックの処理
に必要なトランザクションの数から予測することもでき
る。
【0042】以上の説明はCPU利用度についてのトラ
ンザクション形式の再割振りの項かを述べるものであり
、新しい利用度を計算するために前端コンピュータに必
要なパラメータを識別する。以下の説明ではこれまでの
計算にもとづき特定のトランザクション形式を再割振り
するために用いられるアルゴリズムを述べる。
ンザクション形式の再割振りの項かを述べるものであり
、新しい利用度を計算するために前端コンピュータに必
要なパラメータを識別する。以下の説明ではこれまでの
計算にもとづき特定のトランザクション形式を再割振り
するために用いられるアルゴリズムを述べる。
【0043】時刻Tにおけるρp ≧U1 、(ρp
<U1 )であるコンピュータ群をΗ0 、(Hu)と
する。 その目的は(1)とのトランザクション形式が
<U1 )であるコンピュータ群をΗ0 、(Hu)と
する。 その目的は(1)とのトランザクション形式が
【004
4】
4】
【数3】
にこれらトランザクション形式が、H0 のすべてのコ
ンピュータの利用度がU1 より下になりHu のすべ
てのコンピュータの利用度がU1 より下のままとなる
ように再割振りされるかを決定することである。勿論、
これは常に可能であるとは限らず、実行可能な再割振り
があっても適正なものを見出だすためにすべての可能性
を検査するにはコストがかかりすぎることがある。他方
、決定は比較的短い時間インターバルで行われるから「
最良」のポリシを見出す必要はなく、小さいオーバーヘ
ッドでゆるい段階をもって状況を改善するだけではない
。これは本発明により行われるアルゴリズムの基本的動
機である。
ンピュータの利用度がU1 より下になりHu のすべ
てのコンピュータの利用度がU1 より下のままとなる
ように再割振りされるかを決定することである。勿論、
これは常に可能であるとは限らず、実行可能な再割振り
があっても適正なものを見出だすためにすべての可能性
を検査するにはコストがかかりすぎることがある。他方
、決定は比較的短い時間インターバルで行われるから「
最良」のポリシを見出す必要はなく、小さいオーバーヘ
ッドでゆるい段階をもって状況を改善するだけではない
。これは本発明により行われるアルゴリズムの基本的動
機である。
【0045】
【数4】
計算されたこのD1 にもとづきPにおけるトランザク
ション形式が三つのサブセットに分割される。
ション形式が三つのサブセットに分割される。
【0046】1. サブセットP(1) はD1 <
(U1 −ρp )<0となるような、すなわち1つの
形式がオーバロードとなったコンピュータPから除かれ
るとそのコンピュータの利用度がしきい値U1 より下
となる、すべてのトランザクション形式からなる。
(U1 −ρp )<0となるような、すなわち1つの
形式がオーバロードとなったコンピュータPから除かれ
るとそのコンピュータの利用度がしきい値U1 より下
となる、すべてのトランザクション形式からなる。
【0047】2. サブセットP(2) は(U1
−ρp )≦D1 <0、すなわち1つがオーバロード
となったコンピュータPから除かれるとそのコンピュー
タの利用度が減少するがしきい値U1 の下にはならな
い、すべてのトランザクション形式からなる。
−ρp )≦D1 <0、すなわち1つがオーバロード
となったコンピュータPから除かれるとそのコンピュー
タの利用度が減少するがしきい値U1 の下にはならな
い、すべてのトランザクション形式からなる。
【0048】3. サブセットP(3) は0≦D1
、すなわち、それらの一つがオーバロードとなったコ
ンピュータPから除かれるとそのコンピュータの利用度
がプロセッサ間競合アクティビティにより増加する、す
べてのトランザクション形式からなる。 サブセット
P(1) からの1つのトランザクション形式の再割振
りは上述のようにコンピュータPの利用度をしきい値U
1 より小さくする。それ故、サブセットP(1) か
らのトランザクション形式は再割振りに関する第1候補
である。次の問題はこれら候補の内のどれを選ぶかとい
うことである。式(11)の右側の第1項は再割振りさ
れるトランザクション形式と現在オーバロードとなって
いるコンピュータにある形式との間のロックの競合によ
るものである。この利用度はコンフリクトを解決するた
めのシステムワークに対応し、進行のためのワークに対
応するものではないから、それを小さくすることが望ま
しい。それ故、下記の最小値を有する候補がまず選ばれ
る。
、すなわち、それらの一つがオーバロードとなったコ
ンピュータPから除かれるとそのコンピュータの利用度
がプロセッサ間競合アクティビティにより増加する、す
べてのトランザクション形式からなる。 サブセット
P(1) からの1つのトランザクション形式の再割振
りは上述のようにコンピュータPの利用度をしきい値U
1 より小さくする。それ故、サブセットP(1) か
らのトランザクション形式は再割振りに関する第1候補
である。次の問題はこれら候補の内のどれを選ぶかとい
うことである。式(11)の右側の第1項は再割振りさ
れるトランザクション形式と現在オーバロードとなって
いるコンピュータにある形式との間のロックの競合によ
るものである。この利用度はコンフリクトを解決するた
めのシステムワークに対応し、進行のためのワークに対
応するものではないから、それを小さくすることが望ま
しい。それ故、下記の最小値を有する候補がまず選ばれ
る。
【0049】
【数5】
【0050】
【数6】
候補コンピュータがない場合にはこのプロセスはサブセ
ットP(1) からの次のトランザクション形式でくり
返される。サブセットP(1) 内のすべてのトランザ
クションが検査されれば、サブセットP(2) のトラ
ンザクション形式でこのプロセスをくり返す。サブセッ
トP(2) に該当するトランザクション形式がなくあ
るいはサブセットP(2) が空であれば、1つのトラ
ンザクション形式の再割振りは適当でないことになる。 トランザクション形式1は、(1)このトランザクショ
ン形式の「個々」のロード、すなわち、λ1 S1 が
ρQ +λ1 S1 >U1 となるに充分に大きいか
ら、そして(2)トランザクション形式1がコンピュー
タP内の少くとも他の1つのトランザクション形式と強
く干渉しそれ故その再割振りがコンフリクト解消のため
にコンピュータQの利用度を増大させるから、コンピュ
ータPからQへの再割振りに適さない。上記第1のケー
スは行われうることは何もないが、第2のケースには、
他のトランザクション形式、例えばkもコンピュータQ
に再割振りされるときそのCPU利用度が低下する可能
性がある。ケース(1)が実際にはより頻繁に生じうる
が、ケース(2)が生じたならそれを解決する機構を設
けるべきである。
ットP(1) からの次のトランザクション形式でくり
返される。サブセットP(1) 内のすべてのトランザ
クションが検査されれば、サブセットP(2) のトラ
ンザクション形式でこのプロセスをくり返す。サブセッ
トP(2) に該当するトランザクション形式がなくあ
るいはサブセットP(2) が空であれば、1つのトラ
ンザクション形式の再割振りは適当でないことになる。 トランザクション形式1は、(1)このトランザクショ
ン形式の「個々」のロード、すなわち、λ1 S1 が
ρQ +λ1 S1 >U1 となるに充分に大きいか
ら、そして(2)トランザクション形式1がコンピュー
タP内の少くとも他の1つのトランザクション形式と強
く干渉しそれ故その再割振りがコンフリクト解消のため
にコンピュータQの利用度を増大させるから、コンピュ
ータPからQへの再割振りに適さない。上記第1のケー
スは行われうることは何もないが、第2のケースには、
他のトランザクション形式、例えばkもコンピュータQ
に再割振りされるときそのCPU利用度が低下する可能
性がある。ケース(1)が実際にはより頻繁に生じうる
が、ケース(2)が生じたならそれを解決する機構を設
けるべきである。
【0051】1つの適正なトランザクションが見出され
ない場合にはトランザクション対を次のように考慮する
。最少のロック競合オーバロードC1 をもつトランザ
クションをとり出す。残りのトランザクションは、mを
コンピュータPについての
ない場合にはトランザクション対を次のように考慮する
。最少のロック競合オーバロードC1 をもつトランザ
クションをとり出す。残りのトランザクションは、mを
コンピュータPについての
【0052】
【数7】
順次に、オーバロードコンピュータPに記憶する。すな
わち、これらトランザクション形式は1との干渉量に従
って記憶される。この区分けリストの一番上のトランザ
クション形式tがトランザクション形式1と対になるパ
ートナーとなる。このプロセスは次のようにくり返され
る。トランザクション形式1がそのパートナーtと共に
あたかも1つのトランザクション形式であるかのように
動かされる。次に、適当なコンピュータが見出されると
、このプロセスは停止し、この対が再割振りされる。 そうでなければこのリストを第1の2つのトランザクシ
ョン、例えばt1 とt2 について再びアクセスし、
1とのトリプレットすなわち三重のトランザクションを
つくり、このプロセスをくり返す。これが成功しない場
合にはこのプロセスを四重について続け、以下オーバー
ヘッドに関する事項によりつくられるある限界までそれ
を行う。このプロセスは適当なコンピュータが見出され
るか、あるいは検索限界となるか、あるいはトランザク
ションまたはトランザクション群に適合するコンピュー
タがないかするときに停止する。
わち、これらトランザクション形式は1との干渉量に従
って記憶される。この区分けリストの一番上のトランザ
クション形式tがトランザクション形式1と対になるパ
ートナーとなる。このプロセスは次のようにくり返され
る。トランザクション形式1がそのパートナーtと共に
あたかも1つのトランザクション形式であるかのように
動かされる。次に、適当なコンピュータが見出されると
、このプロセスは停止し、この対が再割振りされる。 そうでなければこのリストを第1の2つのトランザクシ
ョン、例えばt1 とt2 について再びアクセスし、
1とのトリプレットすなわち三重のトランザクションを
つくり、このプロセスをくり返す。これが成功しない場
合にはこのプロセスを四重について続け、以下オーバー
ヘッドに関する事項によりつくられるある限界までそれ
を行う。このプロセスは適当なコンピュータが見出され
るか、あるいは検索限界となるか、あるいはトランザク
ションまたはトランザクション群に適合するコンピュー
タがないかするときに停止する。
【0053】図4,5は本発明による再割振りプロセス
を示すフローチャートである。図示のプロセスは好適な
実施例ではあるがその変更は当業者には容易である。前
述のように、量nij、すなわち形式jのトランザクシ
ョンにより保持されるロックにより形式iのトランザク
ションが阻止される平均回数、とSij、すなわち、こ
のロックを処理するためのCPU時間、は後端コンピュ
ータにより測定されて前端コンピュータに送られる。前
端コンピュータでのプロセスは機能ブロック40におい
てしきい値U1 に対する各コンピュータの利用度を検
査しそしてしきい値を越えるコンピュータ利用度の値を
そのコンピュータの名前と共に一時的に記憶することに
より開始する。決定ブロック42においてそのような値
がないこと、すなわち、いずれのコンピュータもオーバ
ロードとなっていないことが決定されると、このプロセ
スが存在する。そうでない場合には、最大のオーバロー
ドを有するコンピュータPが機能ブロック44で選ばれ
る。コンピュータPにおけるトランザクションは次に機
能ブロック46においてサブセットP(1) ,P(2
) ,P(3) に分けられる。まずサブセットP(1
) 内のトランザクションが機能ブロック48で選ばれ
、そして次にそのサブセット内の、最少のロックオーバ
ーヘッドをもつトランザクション形式が機能ブロック5
0において再割振りされるべき候補トランザクション形
式として選ばれる。
を示すフローチャートである。図示のプロセスは好適な
実施例ではあるがその変更は当業者には容易である。前
述のように、量nij、すなわち形式jのトランザクシ
ョンにより保持されるロックにより形式iのトランザク
ションが阻止される平均回数、とSij、すなわち、こ
のロックを処理するためのCPU時間、は後端コンピュ
ータにより測定されて前端コンピュータに送られる。前
端コンピュータでのプロセスは機能ブロック40におい
てしきい値U1 に対する各コンピュータの利用度を検
査しそしてしきい値を越えるコンピュータ利用度の値を
そのコンピュータの名前と共に一時的に記憶することに
より開始する。決定ブロック42においてそのような値
がないこと、すなわち、いずれのコンピュータもオーバ
ロードとなっていないことが決定されると、このプロセ
スが存在する。そうでない場合には、最大のオーバロー
ドを有するコンピュータPが機能ブロック44で選ばれ
る。コンピュータPにおけるトランザクションは次に機
能ブロック46においてサブセットP(1) ,P(2
) ,P(3) に分けられる。まずサブセットP(1
) 内のトランザクションが機能ブロック48で選ばれ
、そして次にそのサブセット内の、最少のロックオーバ
ーヘッドをもつトランザクション形式が機能ブロック5
0において再割振りされるべき候補トランザクション形
式として選ばれる。
【0054】オーバロードとなっていないコンピュータ
については各コンピュータへのこの候補トランザクショ
ン形式の再割振りによるロードの増加が機能ブロック5
2で計算され、そしてその結果がコンピュータの名前と
共に機能ブロック54で一時的に記憶される。次に、決
定ブロック56において、この計算されたロード増加が
このコンピュータの現在の利用度より小さいしきい値と
比較される。ロード増加が現在の利用度より小さいしき
い値より小さいコンピュータが機能ブロック58で候補
コンピュータとして識別される。このような候補コンピ
ュータが機能ブロック60であると決定されれば、候補
トランザクション形式の再割振りによるロード増加が最
少のコンピュータQが機能ブロック62で選ばれ、そし
てそのトランザクション形式が機能ブロック64でその
コンピュータに再割振りされ、このプロセスを終了する
。
については各コンピュータへのこの候補トランザクショ
ン形式の再割振りによるロードの増加が機能ブロック5
2で計算され、そしてその結果がコンピュータの名前と
共に機能ブロック54で一時的に記憶される。次に、決
定ブロック56において、この計算されたロード増加が
このコンピュータの現在の利用度より小さいしきい値と
比較される。ロード増加が現在の利用度より小さいしき
い値より小さいコンピュータが機能ブロック58で候補
コンピュータとして識別される。このような候補コンピ
ュータが機能ブロック60であると決定されれば、候補
トランザクション形式の再割振りによるロード増加が最
少のコンピュータQが機能ブロック62で選ばれ、そし
てそのトランザクション形式が機能ブロック64でその
コンピュータに再割振りされ、このプロセスを終了する
。
【0055】決定ブロック60で候補コンピュータが残
っていないことが決定されると、このサブセット内のす
べてのトランザクションが試されたかどうかを決定する
ための検査が決定ブロック66で行われる。試されてい
なければそしてもし決定ブロック68で1つのトランザ
クション形式のみを問題としていると決定されたならば
、制御が機能ブロック52にもどる前にこのサブセット
内の次のトランザクションが機能ブロック70で選択さ
れる。このサブセット内のすべてのトランザクションが
決定ブロック66により試されたことが決定されそして
もし、このサブセットが機能ブロック72によりP(2
) でないことが決定されれば、サブセットP(2)
が機能ブロック50に制御がもどる前に機能ブロック7
4で選択される。
っていないことが決定されると、このサブセット内のす
べてのトランザクションが試されたかどうかを決定する
ための検査が決定ブロック66で行われる。試されてい
なければそしてもし決定ブロック68で1つのトランザ
クション形式のみを問題としていると決定されたならば
、制御が機能ブロック52にもどる前にこのサブセット
内の次のトランザクションが機能ブロック70で選択さ
れる。このサブセット内のすべてのトランザクションが
決定ブロック66により試されたことが決定されそして
もし、このサブセットが機能ブロック72によりP(2
) でないことが決定されれば、サブセットP(2)
が機能ブロック50に制御がもどる前に機能ブロック7
4で選択される。
【0056】他方、サブセットP(1) とP(2)
のすべてのトランザクションが試されそしてトランザク
ションを再割振りする候補コンピュータがない場合には
、定義によりこのサブセット内のトランザクション形式
の1つの除去がプロセッサの利用度を減少ではなく増加
させるからサブセットP(3)の検査は行われない。そ
の代りに、制御は決定ブロック72から機能ブロック7
6に移り、そこで最少のロックオーバーヘッドをもつト
ランザクション形式が選ばれる。次に機能ブロック78
において残りのトランザクション形式がこの選ばれたト
ランザクションとの干渉量に従ってリストに順序づけら
れる。もしこれが第1反復であれば、このリストの一番
上のトランザクション形式tが機能ブロック80で選ば
れそしてトランザクション形式1と対にされ、この対が
制御が機能ブロック52にもどる前に機能ブロック82
において1つのトランザクション形式lとして扱われる
。決定ブロック68での、lが2以上である次の反復に
より、このリストの次のトランザクション形式が機能ブ
ロック84で選ばれて、トランザクション形式1がトラ
ンザクション形式t1 とt2 と対にされて1つのト
ランザクション形式lとして扱われるべき三重対を形成
し、以下同様である。一般にこの反復をどこまで行える
かについては限界があり、それ故、すでに選ばれたトラ
ンザクション形式の数が予定の外界を越えたかどうかの
決定が決定ブロック86で行われる。越えていれば、こ
のプロセスは終る。
のすべてのトランザクションが試されそしてトランザク
ションを再割振りする候補コンピュータがない場合には
、定義によりこのサブセット内のトランザクション形式
の1つの除去がプロセッサの利用度を減少ではなく増加
させるからサブセットP(3)の検査は行われない。そ
の代りに、制御は決定ブロック72から機能ブロック7
6に移り、そこで最少のロックオーバーヘッドをもつト
ランザクション形式が選ばれる。次に機能ブロック78
において残りのトランザクション形式がこの選ばれたト
ランザクションとの干渉量に従ってリストに順序づけら
れる。もしこれが第1反復であれば、このリストの一番
上のトランザクション形式tが機能ブロック80で選ば
れそしてトランザクション形式1と対にされ、この対が
制御が機能ブロック52にもどる前に機能ブロック82
において1つのトランザクション形式lとして扱われる
。決定ブロック68での、lが2以上である次の反復に
より、このリストの次のトランザクション形式が機能ブ
ロック84で選ばれて、トランザクション形式1がトラ
ンザクション形式t1 とt2 と対にされて1つのト
ランザクション形式lとして扱われるべき三重対を形成
し、以下同様である。一般にこの反復をどこまで行える
かについては限界があり、それ故、すでに選ばれたトラ
ンザクション形式の数が予定の外界を越えたかどうかの
決定が決定ブロック86で行われる。越えていれば、こ
のプロセスは終る。
【0057】以下の疑似コードは図4A,Bの再割振り
プロセスを行う。 |*初期化相*| Elizible1 =yes |*はじめにすべての
トランザクション形式が再割振りに着いて資格がある*
|最大CPU利用度を有する後端コンピュータP検出I
fρP <U1 、then停止 Pに割振られたトランザクション群をサブセットP(1
) 、P(2) 、P(3) に分割。 |*アルゴリズムの主相*| |*1つのトランザクション形式がアンダーロードの機
械に再割振りされたときにのみ最も外側のループを2回
以上実行する。その場合、1個、2個…等のトランザク
ションの群化がそれら間に高いアフィニティ(高い干渉
性)をもって形成され、そしてアルゴリズムがその群の
再割振りを試みる*| |*サブセットP(1) 、P(2) の夫々のトラン
ザクション試行*| SETS:i=1から3について実行;if(L=1お
よびi=3)thenSETSを出る;|*P(3)
の検査不要*| Ph (i)={Eligible1 ≠NOを有する
P(i) 内のトランザクション形式}; Ph
(i)が空でない内に実行;
プロセスを行う。 |*初期化相*| Elizible1 =yes |*はじめにすべての
トランザクション形式が再割振りに着いて資格がある*
|最大CPU利用度を有する後端コンピュータP検出I
fρP <U1 、then停止 Pに割振られたトランザクション群をサブセットP(1
) 、P(2) 、P(3) に分割。 |*アルゴリズムの主相*| |*1つのトランザクション形式がアンダーロードの機
械に再割振りされたときにのみ最も外側のループを2回
以上実行する。その場合、1個、2個…等のトランザク
ションの群化がそれら間に高いアフィニティ(高い干渉
性)をもって形成され、そしてアルゴリズムがその群の
再割振りを試みる*| |*サブセットP(1) 、P(2) の夫々のトラン
ザクション試行*| SETS:i=1から3について実行;if(L=1お
よびi=3)thenSETSを出る;|*P(3)
の検査不要*| Ph (i)={Eligible1 ≠NOを有する
P(i) 内のトランザクション形式}; Ph
(i)が空でない内に実行;
【0058】
【数8】
ifL>|then実行;|*このif条件は受入れ可
能な1つのトランザクション形式の再割振りがない場合
に真である*| |*群化の初期*| n1m+nm1の上位から順にトランザクション形式m
εP−{1} を区分け、1と区分けされたトランザク
ション形式の第1L−1を1つのトランザクション形式
lとする;J=1からJについて実行;|*この新しい
トランザクション形式についてコンピュータnlj*|
Cl計算; |*群化終了(End of Grouping )*
|else実行 l=1;end if; |*トランザクション形式lの再割振りがコードブロッ
クREALLOCで試みされる*|
能な1つのトランザクション形式の再割振りがない場合
に真である*| |*群化の初期*| n1m+nm1の上位から順にトランザクション形式m
εP−{1} を区分け、1と区分けされたトランザク
ション形式の第1L−1を1つのトランザクション形式
lとする;J=1からJについて実行;|*この新しい
トランザクション形式についてコンピュータnlj*|
Cl計算; |*群化終了(End of Grouping )*
|else実行 l=1;end if; |*トランザクション形式lの再割振りがコードブロッ
クREALLOCで試みされる*|
【0059】
【数9】
if Eligible I1Q=NOの反復;IlQ
計算;ifIlQ ≦U1 −ρQ then実行;
F1Qが最少となるようにプロセッサQにトランザクシ
ョン形式lを割振る;
計算;ifIlQ ≦U1 −ρQ then実行;
F1Qが最少となるようにプロセッサQにトランザクシ
ョン形式lを割振る;
【0060】
【数10】
ifρP <U1 then停止;else 形式_
l_の_再割振り_完了=yes ;end ;if
形式_l_の_再割振り_完了=yes thenR
EALLOCを出る;if λlSl>U1 −ρQ
、then Eligible 1Q=NOend
REALLOC; |*そのトランザクション形式を再割振りするに適当な
コンピュータがなかったときまたは1つのコンピュータ
があったがPの利用度がU1 を越えているときにこの
ポイントになる*|
l_の_再割振り_完了=yes ;end ;if
形式_l_の_再割振り_完了=yes thenR
EALLOCを出る;if λlSl>U1 −ρQ
、then Eligible 1Q=NOend
REALLOC; |*そのトランザクション形式を再割振りするに適当な
コンピュータがなかったときまたは1つのコンピュータ
があったがPの利用度がU1 を越えているときにこの
ポイントになる*|
【0061】
【数11】
Ph (i) ←Ph (i) −{1};endo;
endo SETS;L=L+1;|*群化サイズ増
加も反復*|endo;要約すると、本発明は次の特徴
にある。
endo SETS;L=L+1;|*群化サイズ増
加も反復*|endo;要約すると、本発明は次の特徴
にある。
【0062】1. 半動的ロードバランスの使用;2
. 個々のトランザクションではなく1つの群として
のトランザクション形式の割振り; 3. トランザクション形式iがアクセスしたがった
データ項目についてのロックをトランザクション形式j
が保持していたためにトランザクション形式iがトラン
ザクション形式jにより阻止された回数を記録するアフ
ィニティマトリクスの発生と維持; 4. 少くとも1つのオーバロードとなったコンピュ
ータが検出されたとき、このアフィニティマトリクスか
らのデータにもとづきコンピュータにおけるトランザク
ション形式を再配列するアルゴリズム。
. 個々のトランザクションではなく1つの群として
のトランザクション形式の割振り; 3. トランザクション形式iがアクセスしたがった
データ項目についてのロックをトランザクション形式j
が保持していたためにトランザクション形式iがトラン
ザクション形式jにより阻止された回数を記録するアフ
ィニティマトリクスの発生と維持; 4. 少くとも1つのオーバロードとなったコンピュ
ータが検出されたとき、このアフィニティマトリクスか
らのデータにもとづきコンピュータにおけるトランザク
ション形式を再配列するアルゴリズム。
【図1】本発明を実施するシステムのシステム構成を示
すブロック図である。
すブロック図である。
【図2】プロセッサの利用度の関数としてスループット
の関係を示すグラフである。
の関係を示すグラフである。
【図3】ワークロード管理プロセス構造のブロック図で
ある。
ある。
【図4】本発明により行われるプロセスを示すフローチ
ャートの1部である。
ャートの1部である。
【図5】本発明により行われるプロセスを示すフローチ
ャートの1部である。
ャートの1部である。
10 前端コンピュータ
11 宛先指定テーブル
12,14,16 CPU
18 データベース
Claims (10)
- 【請求項1】複数のプロセッサと1つの共用データベー
スを有するトランザクションコンピュータシステム用の
、下記要件を含むロードバランサ:宛先指定テーブルに
従って、同一形式のトランザクションを1つのプロセッ
サに割当てるための宛先指定手段;ロードインバランス
が上記プロセッサ間に生じたかどうかを周期的に決定す
るためのモニタ手段;このモニタ手段に応答して宛先指
定テーブルを更新するための再割振り手段であって、上
記宛先指定手段がその後にこの再割振り手段により更新
された上記宛先指定テーブルに従って自動的に同一形式
のトランザクションを再割当てする、再割振り手段。 - 【請求項2】前記再割振り手段は一つのプロセッサへの
トランザクション形式の再割振りによりそのプロセッサ
へのロードを決定するためのロック競合手段を含む請求
項1のロードバランサ。 - 【請求項3】前記モニタ手段はプロセッサ利用度が予定
のしきい値を越えたかどうかを決定するためのしきい値
手段を含む請求項2のロードバランサ。 - 【請求項4】複数のコンピュータ型共用データベースト
ランザクション処理システム用の、下記要件を含む半動
的ロードバランサ:トランザクション型ルーチンテーブ
ルに従って共通のコンピュータに同一形式のトランザク
ションを割当てるためのルーチン手段;トランザクショ
ン形式iがアクセスしようとした共用データベース内の
データ項目についてロックをトランザクション形式jが
保持しつつあったためにトランザクション形式jにより
トランザクション形式iが阻止された回数を記録するア
フィニティマトリクスを発生し維持するための統計手段
;上記システム内のオーバロードコンピュータを周期的
に検査するモニタ手段;このモニタ手段に応答し、上記
アフィニティマトリクスを用いてトランザクション形式
の種々の可能な再割当てについて期待される競合変化に
関係する各コンピュータについてのロードファクタを予
測し、この予測にもとづき上記トランザクション形式の
1つ以上の変化を宛先指定テーブルにするようになった
再割振り手段であって、上記宛先指定手段がその後にこ
の宛先指定テーブルに従ってトランザクションの形式を
オーバロードコンピュータからアンダーロードコンピュ
ータに自動的に再割当てを行なう、再割振り手段。 - 【請求項5】前記複数コンピュータシステム内のコンピ
ュータの内の1個が前端コンピュータとされ、他のコン
ピュータが後端コンピュータとされ、前記宛先指定手段
がこの前端コンピュータに配置されそして前記モニタ手
段が上記後端コンピュータの夫々に配置されており、前
記システムが更に上記後端コンピュータを上記前端コン
ピュータに相互に接続するための通信リンク手段を含ん
でおり、前記モニタ手段が上記前端コンピュータにデー
タを周期的に送り、そして前記統計手段が上記前端コン
ピュータに配置されて上記後端コンピュータにより送ら
れるデータから前記アフィニティマトリクスを発生する
請求項4の半動的ロードバランサ。 - 【請求項6】下記要件を含むトランザクション処理シス
テム:1つの共用データベースを共用しそして通信リン
クを介して結合されており、その内の1個が前端コンピ
ュータ、他が後端コンピュータとされる複数のコンピュ
ータ;この前端コンピュータにあって、同一形式のトラ
ンザクションをトランザクション形式宛先指定テーブル
に従って上記後端コンピュータの1つに割当てるための
宛先指定手段;上記後端コンピュータの夫々にあってそ
のコンピュータのワークロードについての統計的データ
を周期的に累積してそのデータを上記前端コンピュータ
を送る手段;上記前端コンピュータにあって上記後端コ
ンピュータからの上記統計的データを周期的に分析し上
記トランザクション形式宛先指定テーブルを更新するた
めのロードバランス手段であって、上記宛先指定手段が
オーバロードコンピュータからトランザクション形式を
上記更新されたトランザクション形式宛先指定テーブル
に従ってアンダーロードコンピュータに自動的に再割振
りを行う、ロードバランス手段。 - 【請求項7】前記ロードバランス手段は、トランザクシ
ョン形式iがアクセスしたかった前記共用データベース
内のデータ項目についてのロックをトランザクション形
式jがホールドしていたためにトランザクション形式j
により阻止されたトランザクション形式iの回数を記録
するアフィニティマトリクスをつくり維持するための統
計手段を含み、そしてこのアフィニティマトリクスを用
いてトランザクション形式の種々の可能な再割当てにつ
いて期待される競合変化に関係する各コンピュータにつ
いてのロードファクタを予測し、この予測にもとづき上
記トランザクション形式の1つ以上の変化を宛先指定テ
ーブルにする請求項6のシステム。 - 【請求項8】1つの共用データベースを共用しそして通
信リンクを介して結合し、その内の1個が1以上のトラ
ンザクション形式を処理するようになっており、そして
その内の少くとも1個が前端コンピュータ、他が後端コ
ンピュータとなる、複数のコンピュータを有する形式の
トランザクション処理システムにおいて、下記要件から
なるロードバランスシステム:上記前端コンピュータに
あって、同一形式のトランザクションをトランザクショ
ン形式宛先指定テーブルに従って上記後端コンピュータ
の内の1個に割当てるための宛先指定手段;上記後端コ
ンピュータの夫々にあって、コンピュータのワークロー
ドについての統計的データを累積し周期的に上記前端コ
ンピュータに送るためのモニタ手段;前記前端コンピュ
ータにあって、上記統計的データを周期的に分析し予定
のしきい値を越えるプロセッサ利用度を有する後端コン
ピュータを識別するためのロードバランス手段であって
、上記しきい値を越える最大の利用度を有する1つの後
端コンピュータを選択しそして他のコンピュータに再割
振りを行うための候補トランザクション形式としてのト
ランザクション形式を選択するように待ったロードバラ
ンス手段;上記前端コンピュータにあって、上記候補ト
ランザクション形式の再割振りにより上記しきい値を越
えないプロセッサ利用度を有する後端コンピュータへの
ロード増分を計算しそしてこのロード増分と現在のプロ
セッサ利用度の和が上記しきい値を越えないコンピュー
タを上記候補トランザクション形式の再割振りについて
の候補コンピュータとして決定する計算手段;上記計算
されたロード増分が最少である一つの候補コンピュータ
を選びそして上記トランザクション形式宛先指定テーブ
ルを更新することにより上記選択された候補コンピュー
タに上記候補トランザクション形式を再割振りを行う上
記ロードバランス手段。 - 【請求項9】前記ロードバランス手段は、トランザクシ
ョン形式iがアクセスしなかった前記共用データベース
内のデータ項目についてのロックをトランザクション形
式jがホールドしていたためにトランザクション形式j
により阻止されたトランザクション形式iの回数を記録
するアフィニティマトリクスをつくり維持する統計手段
を含み、そしてこのアフィニティマトリクスを用いてト
ランザクション形式の種々の可能な再割当てについて期
待され競合変化に関係する各コンピュータについてのロ
ードファクタを予測し、この予測にもとづき上記トラン
ザクション形式の1つ以上の変化を宛先指定テーブルに
するようになった請求項8のシステム。 - 【請求項10】前記しきい値より低いプロセッサ利用度
を達成するために再割振り可能な1つのトランザクショ
ン形式がない場合に、前記バランス手段が他のコンピュ
ータへの再割振り用の候補トランザクション形式として
2以上のトランザクション形式を選びそして前記計算手
段が2以上のトランザクション形式を含む上記候補形式
の再割振りのために上記しきい値を越えないプロセッサ
利用度を有する後端コンピュータへのロード増分を計算
するごとくなった請求項8のシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/516,642 US5283897A (en) | 1990-04-30 | 1990-04-30 | 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 |
US516642 | 1990-04-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH04229356A true JPH04229356A (ja) | 1992-08-18 |
JP2559915B2 JP2559915B2 (ja) | 1996-12-04 |
Family
ID=24056495
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3093261A Expired - Fee Related JP2559915B2 (ja) | 1990-04-30 | 1991-03-30 | ロードバランスシステム |
Country Status (3)
Country | Link |
---|---|
US (1) | US5283897A (ja) |
EP (1) | EP0459134A3 (ja) |
JP (1) | JP2559915B2 (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07182217A (ja) * | 1993-12-24 | 1995-07-21 | Nec Corp | データベースへのアクセス制御方式 |
US5864679A (en) * | 1993-09-06 | 1999-01-26 | Kabushiki Kaisha Toshiba | Transaction routing in a multiple processor system using an extracted transaction feature parameter and transaction historical data |
US6237058B1 (en) | 1997-06-16 | 2001-05-22 | Nec Corporation | Interrupt load distribution system for shared bus type multiprocessor system and interrupt load distribution method |
WO2005003977A1 (ja) * | 2003-07-02 | 2005-01-13 | Satoshi Yamatake | 画像データベースシステム |
JP2008047126A (ja) | 2006-08-15 | 2008-02-28 | Internatl Business Mach Corp <Ibm> | 精密なcpu消費量データを用いてアフィニティをディスパッチする負荷バランサ |
JP2010537338A (ja) * | 2007-08-30 | 2010-12-02 | インターナショナル・ビジネス・マシーンズ・コーポレーション | トランザクション処理スループットを高めるためのトランザクション集約 |
JP4864210B2 (ja) * | 1999-05-20 | 2012-02-01 | イヴァン, チョン−ション ホワン, | 作業グループサーバー実施の方法と装置 |
Families Citing this family (127)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2791236B2 (ja) * | 1991-07-25 | 1998-08-27 | 三菱電機株式会社 | プロトコル並列処理装置 |
IL99923A0 (en) * | 1991-10-31 | 1992-08-18 | Ibm Israel | Method of operating a computer in a network |
EP0542628B1 (en) * | 1991-11-12 | 2001-10-10 | Fujitsu Limited | Speech synthesis system |
JPH05265775A (ja) * | 1992-03-19 | 1993-10-15 | Hitachi Ltd | ジョブ実行予測制御方法およびジョブ実行状況表示方法 |
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 |
US6192413B1 (en) * | 1992-07-30 | 2001-02-20 | International Business Machines Corporation | Method and system for process queue communications routing |
JP3003440B2 (ja) * | 1993-01-19 | 2000-01-31 | 株式会社日立製作所 | 負荷分散制御方法および分散処理システム |
US5634125A (en) * | 1993-09-02 | 1997-05-27 | International Business Machines Corporation | Selecting buckets for redistributing data between nodes in a parallel database in the quiescent mode |
US5701482A (en) * | 1993-09-03 | 1997-12-23 | Hughes Aircraft Company | Modular array processor architecture having a plurality of interconnected load-balanced parallel processing nodes |
US5515502A (en) * | 1993-09-30 | 1996-05-07 | Sybase, Inc. | Data backup system with methods for stripe affinity backup to multiple archive devices |
US5437032A (en) * | 1993-11-04 | 1995-07-25 | International Business Machines Corporation | Task scheduler for a miltiprocessor system |
US5408663A (en) * | 1993-11-05 | 1995-04-18 | Adrem Technologies, Inc. | Resource allocation methods |
US7599910B1 (en) | 1993-11-16 | 2009-10-06 | Hitachi, Ltd. | Method and system of database divisional management for parallel database system |
US6101495A (en) * | 1994-11-16 | 2000-08-08 | Hitachi, Ltd. | Method of executing partition operations in a parallel database system |
JP3023441B2 (ja) * | 1993-11-16 | 2000-03-21 | 株式会社日立製作所 | データベース分割管理方法および並列データベースシステム |
US5630129A (en) * | 1993-12-01 | 1997-05-13 | Sandia Corporation | Dynamic load balancing of applications |
JP2960297B2 (ja) * | 1994-03-16 | 1999-10-06 | 株式会社東芝 | データベースシステム及び負荷分散制御方法 |
JPH0830471A (ja) * | 1994-07-14 | 1996-02-02 | Hitachi Ltd | ジョブの実行プロセサ変更方式 |
US5687372A (en) * | 1995-06-07 | 1997-11-11 | Tandem Computers, Inc. | Customer information control system and method in a loosely coupled parallel processing environment |
US5978844A (en) * | 1995-09-08 | 1999-11-02 | Hitachi, Ltd. | Internetworking apparatus for load balancing plural networks |
US6047309A (en) * | 1995-10-02 | 2000-04-04 | International Business Machines Corporation | Recording observed and reported response characteristics at server and/or client nodes in a replicated data environment, and selecting a server to provide data based on the observed and/or reported response characteristics |
JP2940450B2 (ja) * | 1995-10-26 | 1999-08-25 | 日本電気株式会社 | クラスタ型コンピュータのジョブスケジュール方法及び装置 |
US6886167B1 (en) * | 1995-12-27 | 2005-04-26 | International Business Machines Corporation | Method and system for migrating an object between a split status and a merged status |
US6128657A (en) * | 1996-02-14 | 2000-10-03 | Fujitsu Limited | Load sharing system |
US5706514A (en) * | 1996-03-04 | 1998-01-06 | Compaq Computer Corporation | Distributed execution of mode mismatched commands in multiprocessor computer systems |
JPH09275414A (ja) * | 1996-04-05 | 1997-10-21 | Hitachi Ltd | 通信ネットワークシステム |
US5872972A (en) * | 1996-07-05 | 1999-02-16 | Ncr Corporation | Method for load balancing a per processor affinity scheduler wherein processes are strictly affinitized to processors and the migration of a process from an affinitized processor to another available processor is limited |
US5940813A (en) * | 1996-07-26 | 1999-08-17 | Citibank, N.A. | Process facility management matrix and system and method for performing batch, processing in an on-line environment |
US6026425A (en) * | 1996-07-30 | 2000-02-15 | Nippon Telegraph And Telephone Corporation | Non-uniform system load balance method and apparatus for updating threshold of tasks according to estimated load fluctuation |
US6044367A (en) * | 1996-08-02 | 2000-03-28 | Hewlett-Packard Company | Distributed I/O store |
US6185601B1 (en) | 1996-08-02 | 2001-02-06 | Hewlett-Packard Company | Dynamic load balancing of a network of client and server computers |
US5889989A (en) * | 1996-09-16 | 1999-03-30 | The Research Foundation Of State University Of New York | Load sharing controller for optimizing monetary cost |
US6581104B1 (en) * | 1996-10-01 | 2003-06-17 | International Business Machines Corporation | Load balancing in a distributed computer enterprise environment |
US5778244A (en) * | 1996-10-07 | 1998-07-07 | Timeplex, Inc. | Digital signal processing unit using digital signal processor array with recirculation |
US6057839A (en) * | 1996-11-26 | 2000-05-02 | International Business Machines Corporation | Visualization tool for graphically displaying trace data produced by a parallel processing computer |
US6067580A (en) * | 1997-03-11 | 2000-05-23 | International Business Machines Corporation | Integrating distributed computing environment remote procedure calls with an advisory work load manager |
US5983217A (en) * | 1997-03-21 | 1999-11-09 | At&T Corp | Apparatus and method for querying replicated databases |
US5974462A (en) * | 1997-03-28 | 1999-10-26 | International Business Machines Corporation | Method and apparatus for controlling the number of servers in a client/server system |
SE507720C2 (sv) | 1997-06-12 | 1998-07-06 | Telia Ab | Arrangemang för lastbalansering i datornät |
US6091706A (en) * | 1997-07-17 | 2000-07-18 | Siemens Information And Communication Networks, Inc. | Apparatus and method for preventing network rerouting |
US6101508A (en) * | 1997-08-01 | 2000-08-08 | Hewlett-Packard Company | Clustered file management for network resources |
US6067545A (en) * | 1997-08-01 | 2000-05-23 | Hewlett-Packard Company | Resource rebalancing in networked computer systems |
US6112257A (en) * | 1997-09-24 | 2000-08-29 | Emc Corporation | Dynamic adjustment of mirror service policy for logical volumes in a disk drive system based on collected statistics |
US6192408B1 (en) * | 1997-09-26 | 2001-02-20 | Emc Corporation | Network file server sharing local caches of file access information in data processors assigned to respective file systems |
US5938722A (en) * | 1997-10-15 | 1999-08-17 | Mci Communications Corporation | Method of executing programs in a network |
US6496823B2 (en) | 1997-11-07 | 2002-12-17 | International Business Machines Corporation | Apportioning a work unit to execute in parallel in a heterogeneous environment |
US6202080B1 (en) * | 1997-12-11 | 2001-03-13 | Nortel Networks Limited | Apparatus and method for computer job workload distribution |
US6601084B1 (en) * | 1997-12-19 | 2003-07-29 | Avaya Technology Corp. | Dynamic load balancer for multiple network servers |
US6266335B1 (en) | 1997-12-19 | 2001-07-24 | Cyberiq Systems | Cross-platform server clustering using a network flow switch |
US6397252B1 (en) * | 1997-12-19 | 2002-05-28 | Electronic Data Systems Corporation | Method and system for load balancing in a distributed object system |
US7055173B1 (en) | 1997-12-19 | 2006-05-30 | Avaya Technology Corp. | Firewall pooling in a network flowswitch |
US6735631B1 (en) * | 1998-02-10 | 2004-05-11 | Sprint Communications Company, L.P. | Method and system for networking redirecting |
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 |
US6119087A (en) * | 1998-03-13 | 2000-09-12 | Nuance Communications | System architecture for and method of voice processing |
US6175869B1 (en) * | 1998-04-08 | 2001-01-16 | Lucent Technologies Inc. | Client-side techniques for web server allocation |
JP3270012B2 (ja) * | 1998-09-08 | 2002-04-02 | 富士通株式会社 | ネットワークサーバ負荷検出装置、割当装置および方法 |
US6925642B1 (en) * | 1999-04-29 | 2005-08-02 | Hewlett-Packard Development Company, L.P. | Distributed computer network which spawns inter-node parallel processes based on resource availability |
US6516350B1 (en) * | 1999-06-17 | 2003-02-04 | International Business Machines Corporation | Self-regulated resource management of distributed computer resources |
US6374297B1 (en) * | 1999-08-16 | 2002-04-16 | International Business Machines Corporation | Method and apparatus for load balancing of web cluster farms |
US6539542B1 (en) * | 1999-10-20 | 2003-03-25 | Verizon Corporate Services Group Inc. | System and method for automatically optimizing heterogenous multiprocessor software performance |
US6542942B1 (en) * | 1999-10-27 | 2003-04-01 | Nortel Networks Limited | Method and apparatus for processing calls on a multiprocessor communication system |
US6560717B1 (en) * | 1999-12-10 | 2003-05-06 | Art Technology Group, Inc. | Method and system for load balancing and management |
DE10016236C2 (de) * | 2000-03-31 | 2003-12-24 | Infineon Technologies Ag | Modular aufgebauter Server |
US6779039B1 (en) | 2000-03-31 | 2004-08-17 | Avaya Technology Corp. | System and method for routing message traffic using a cluster of routers sharing a single logical IP address distinct from unique IP addresses of the routers |
US6880089B1 (en) | 2000-03-31 | 2005-04-12 | Avaya Technology Corp. | Firewall clustering for multiple network servers |
US7093252B1 (en) | 2000-04-12 | 2006-08-15 | International Business Machines Corporation | Self-submitting job for testing a job scheduling/submitting software |
US6980533B1 (en) * | 2000-04-19 | 2005-12-27 | Lucent Technologies Inc. | Load balancing technique for a wireless internet access system |
US6772226B1 (en) | 2000-08-15 | 2004-08-03 | Avaya Technology Corp. | VPN device clustering using a network flow switch and a different mac address for each VPN device in the cluster |
US7016972B2 (en) * | 2001-04-23 | 2006-03-21 | International Business Machines Corporation | Method and system for providing and viewing performance analysis of resource groups |
US20030065702A1 (en) * | 2001-09-24 | 2003-04-03 | Ravinder Singh | Cache conscious load balancing |
US7409706B1 (en) | 2001-10-02 | 2008-08-05 | Cisco Technology, Inc. | System and method for providing path protection of computer network traffic |
US20030074467A1 (en) * | 2001-10-11 | 2003-04-17 | Oblak Sasha Peter | Load balancing system and method for data communication network |
CA2369621C (en) * | 2002-01-25 | 2009-06-09 | Ibm Canada Limited-Ibm Canada Limitee | Method and apparatus for handling resource transaction requests |
CA2377649C (en) * | 2002-03-20 | 2009-02-03 | Ibm Canada Limited-Ibm Canada Limitee | Dynamic cluster database architecture |
US7526519B2 (en) * | 2002-05-01 | 2009-04-28 | Bea Systems, Inc. | High availability application view deployment |
US7155438B2 (en) * | 2002-05-01 | 2006-12-26 | Bea Systems, Inc. | High availability for event forwarding |
US7222148B2 (en) | 2002-05-02 | 2007-05-22 | Bea Systems, Inc. | System and method for providing highly available processing of asynchronous service requests |
US7908355B2 (en) * | 2002-06-20 | 2011-03-15 | International Business Machines Corporation | Method for improving network server load balancing |
US7346906B2 (en) * | 2002-07-09 | 2008-03-18 | International Business Machines Corporation | Workload management in a computing environment |
US7334032B2 (en) * | 2002-12-04 | 2008-02-19 | International Business Machines Corporation | System for allocating storage performance resource |
US20070011682A1 (en) * | 2003-01-02 | 2007-01-11 | Loboz Charles Z | Affinization of transaction types |
US20040260745A1 (en) * | 2003-06-18 | 2004-12-23 | Gage Christopher A. S. | Load balancer performance using affinity modification |
US7475108B2 (en) * | 2003-06-26 | 2009-01-06 | International Business Machines Corporation | Slow-dynamic load balancing method |
US20050192880A1 (en) * | 2003-12-08 | 2005-09-01 | Tomihiro Yamamoto | Data transmission system and method |
CA2563509A1 (en) * | 2004-04-19 | 2005-11-03 | Martin J. Rotter | Rib vent system for roofing panels |
WO2006006202A1 (ja) * | 2004-07-07 | 2006-01-19 | Satoshi Yamatake | 画像データベースシステム |
EP1626339B1 (en) * | 2004-08-13 | 2016-02-24 | Sap Se | Data processing system and method for assigning objects to processing units |
JP2006031358A (ja) * | 2004-07-15 | 2006-02-02 | Ziosoft Inc | ボリュームレンダリング等の画像処理システム |
US7739527B2 (en) * | 2004-08-11 | 2010-06-15 | Intel Corporation | System and method to enable processor management policy in a multi-processor environment |
US20060064406A1 (en) * | 2004-09-23 | 2006-03-23 | International Business Machines Corporation | Method and computer program product for accessing an alternative web page when a desired web page is unavailable |
US7788670B2 (en) * | 2004-10-26 | 2010-08-31 | Intel Corporation | Performance-based workload scheduling in multi-core architectures |
US7493400B2 (en) * | 2005-05-18 | 2009-02-17 | Oracle International Corporation | Creating and dissolving affinity relationships in a cluster |
US8037169B2 (en) * | 2005-05-18 | 2011-10-11 | Oracle International Corporation | Determining affinity in a cluster |
US7814065B2 (en) * | 2005-08-16 | 2010-10-12 | Oracle International Corporation | Affinity-based recovery/failover in a cluster environment |
US20070143460A1 (en) * | 2005-12-19 | 2007-06-21 | International Business Machines Corporation | Load-balancing metrics for adaptive dispatching of long asynchronous network requests |
JP4920391B2 (ja) * | 2006-01-06 | 2012-04-18 | 株式会社日立製作所 | 計算機システムの管理方法、管理サーバ、計算機システム及びプログラム |
US20070226696A1 (en) * | 2006-02-03 | 2007-09-27 | Dell Products L.P. | System and method for the execution of multithreaded software applications |
CN101548268B (zh) * | 2006-10-05 | 2014-05-21 | 瓦拉泰克有限公司 | 更新存储器位置的内容的方法和系统 |
US20080126503A1 (en) * | 2006-10-05 | 2008-05-29 | Holt John M | Contention resolution with echo cancellation |
US20080133690A1 (en) * | 2006-10-05 | 2008-06-05 | Holt John M | Contention detection and resolution |
US20080127214A1 (en) * | 2006-10-05 | 2008-05-29 | Holt John M | Contention detection with counter rollover |
US7962697B2 (en) * | 2006-10-05 | 2011-06-14 | Waratek Pty Limited | Contention detection |
US20080120477A1 (en) * | 2006-10-05 | 2008-05-22 | Holt John M | Contention detection with modified message format |
US20080250221A1 (en) * | 2006-10-09 | 2008-10-09 | Holt John M | Contention detection with data consolidation |
US8032585B2 (en) * | 2007-03-09 | 2011-10-04 | Hewlett-Packard Development Company, L.P. | Regression-based system and method for determining resource costs for composite transactions |
US20100162261A1 (en) * | 2007-05-17 | 2010-06-24 | Pes Institute Of Technology | Method and System for Load Balancing in a Distributed Computer System |
US8326970B2 (en) * | 2007-11-05 | 2012-12-04 | Hewlett-Packard Development Company, L.P. | System and method for modeling a session-based system with a transaction-based analytic model |
US8621470B2 (en) * | 2008-01-24 | 2013-12-31 | Hewlett-Packard Development Company, L.P. | Wakeup-attribute-based allocation of threads to processors |
FI20085217A0 (fi) * | 2008-03-07 | 2008-03-07 | Nokia Corp | Tietojenkäsittelyjärjestely |
US8335943B2 (en) * | 2009-06-22 | 2012-12-18 | Citrix Systems, Inc. | Systems and methods for stateful session failover between multi-core appliances |
US8645963B2 (en) * | 2009-11-05 | 2014-02-04 | International Business Machines Corporation | Clustering threads based on contention patterns |
US9158713B1 (en) * | 2010-04-07 | 2015-10-13 | Applied Micro Circuits Corporation | Packet processing with dynamic load balancing |
WO2013032022A1 (ja) * | 2011-08-30 | 2013-03-07 | 日本電気株式会社 | システムの制御方法及び制御装置 |
JP5939561B2 (ja) | 2011-12-02 | 2016-06-22 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 資源のロックを獲得する装置及び方法 |
US9712609B2 (en) * | 2012-08-06 | 2017-07-18 | Nec Corporation | Computer network system and method of determining necessity of transferring load in computer network system |
GB2513532A (en) * | 2012-12-05 | 2014-11-05 | Ibm | Distributed transaction routing |
JP6172649B2 (ja) * | 2012-12-19 | 2017-08-02 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 情報処理装置、プログラム、及び、情報処理方法 |
US9542220B2 (en) | 2014-04-28 | 2017-01-10 | Oracle International Corporation | System and method for supporting resource manager (RM) instance awareness in a transactional environment |
US9569224B2 (en) | 2014-05-06 | 2017-02-14 | Oracle International Corporation | System and method for adaptively integrating a database state notification service with a distributed transactional middleware machine |
GB2533432A (en) | 2014-12-18 | 2016-06-22 | Ipco 2012 Ltd | A device system, method and computer program product for processing electronic transaction requests |
GB2537087A (en) * | 2014-12-18 | 2016-10-12 | Ipco 2012 Ltd | A system, method and computer program product for receiving electronic messages |
GB2533562A (en) | 2014-12-18 | 2016-06-29 | Ipco 2012 Ltd | An interface, method and computer program product for controlling the transfer of electronic messages |
GB2533379A (en) | 2014-12-18 | 2016-06-22 | Ipco 2012 Ltd | A system and server for receiving transaction requests |
US10334035B2 (en) | 2016-03-11 | 2019-06-25 | International Business Machines Corporation | Load balancing based on user behavior prediction |
US10684933B2 (en) * | 2016-11-28 | 2020-06-16 | Sap Se | Smart self-healing service for data analytics systems |
US10706027B2 (en) * | 2017-01-09 | 2020-07-07 | Sap Se | Database management system with dynamic allocation of database requests |
US20230136226A1 (en) * | 2021-10-28 | 2023-05-04 | Oracle International Corporation | Techniques for auto-tuning compute load resources |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61253547A (ja) * | 1985-05-07 | 1986-11-11 | Hitachi Ltd | 計算機システムジヨブ制御方式 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0346039A2 (en) * | 1988-06-06 | 1989-12-13 | Demax Software, Inc | Dynamic load balancing for multi-user computers |
US4920487A (en) * | 1988-12-12 | 1990-04-24 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Method of up-front load balancing for local memory parallel processors |
-
1990
- 1990-04-30 US US07/516,642 patent/US5283897A/en not_active Expired - Fee Related
-
1991
- 1991-03-30 JP JP3093261A patent/JP2559915B2/ja not_active Expired - Fee Related
- 1991-04-19 EP EP19910106285 patent/EP0459134A3/en not_active Withdrawn
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61253547A (ja) * | 1985-05-07 | 1986-11-11 | Hitachi Ltd | 計算機システムジヨブ制御方式 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5864679A (en) * | 1993-09-06 | 1999-01-26 | Kabushiki Kaisha Toshiba | Transaction routing in a multiple processor system using an extracted transaction feature parameter and transaction historical data |
JPH07182217A (ja) * | 1993-12-24 | 1995-07-21 | Nec Corp | データベースへのアクセス制御方式 |
US6237058B1 (en) | 1997-06-16 | 2001-05-22 | Nec Corporation | Interrupt load distribution system for shared bus type multiprocessor system and interrupt load distribution method |
JP4864210B2 (ja) * | 1999-05-20 | 2012-02-01 | イヴァン, チョン−ション ホワン, | 作業グループサーバー実施の方法と装置 |
WO2005003977A1 (ja) * | 2003-07-02 | 2005-01-13 | Satoshi Yamatake | 画像データベースシステム |
US7716277B2 (en) | 2003-07-02 | 2010-05-11 | Satoshi Yamatake | Image database system |
JP2008047126A (ja) | 2006-08-15 | 2008-02-28 | Internatl Business Mach Corp <Ibm> | 精密なcpu消費量データを用いてアフィニティをディスパッチする負荷バランサ |
JP2010537338A (ja) * | 2007-08-30 | 2010-12-02 | インターナショナル・ビジネス・マシーンズ・コーポレーション | トランザクション処理スループットを高めるためのトランザクション集約 |
Also Published As
Publication number | Publication date |
---|---|
EP0459134A2 (en) | 1991-12-04 |
EP0459134A3 (en) | 1993-07-21 |
US5283897A (en) | 1994-02-01 |
JP2559915B2 (ja) | 1996-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2559915B2 (ja) | ロードバランスシステム | |
JP3807916B2 (ja) | コンピュータ環境の区画のグループを管理する方法およびシステム | |
JP3813056B2 (ja) | 優先順位に基づくチャネル・サブシステム保留入出力作業キューの処理 | |
JP3672236B2 (ja) | コンピュータ環境の中央処理装置を管理する方法、システム、およびプログラム製品 | |
JP3659324B2 (ja) | コンピュータ環境の論理プロセッサを管理する方法、システム、およびプログラム製品 | |
JP4621087B2 (ja) | 複数のインスタンスアプリケーションに対し負荷分散装置を動作させるシステムおよび方法 | |
US6519660B1 (en) | Method, system and program products for determining I/O configuration entropy | |
US7051188B1 (en) | Dynamically redistributing shareable resources of a computing environment to manage the workload of that environment | |
US5504894A (en) | Workload manager for achieving transaction class response time goals in a multiprocessing system | |
JP3872343B2 (ja) | コンピュータ環境におけるワークロード管理 | |
US7140020B2 (en) | Dynamic management of virtual partition computer workloads through service level optimization | |
US7784053B2 (en) | Management of virtual machines to utilize shared resources | |
US7007150B2 (en) | Memory balancing and optimization services | |
KR100718907B1 (ko) | 퍼지 그룹핑 기반의 로드 밸런싱 시스템 및 그 로드 밸런싱방법 | |
US7568052B1 (en) | Method, system and program products for managing I/O configurations of a computing environment | |
Bibal Benifa et al. | Performance improvement of Mapreduce for heterogeneous clusters based on efficient locality and replica aware scheduling (ELRAS) strategy | |
WO2023039711A1 (en) | Efficiency engine in a cloud computing architecture | |
Swarnakar et al. | Parallel Load Efficiency Factor Based Dynamic Load Balancing Algorithm in Cloud Environment | |
Liu et al. | Dynamic resource allocation scheme for distributed heterogeneous computer systems | |
Taley et al. | Study of Load Balancing In Distributed Computing Environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |