JP2559915B2 - ロードバランスシステム - Google Patents
ロードバランスシステムInfo
- Publication number
- JP2559915B2 JP2559915B2 JP3093261A JP9326191A JP2559915B2 JP 2559915 B2 JP2559915 B2 JP 2559915B2 JP 3093261 A JP3093261 A JP 3093261A JP 9326191 A JP9326191 A JP 9326191A JP 2559915 B2 JP2559915 B2 JP 2559915B2
- Authority
- JP
- Japan
- Prior art keywords
- transaction
- computer
- candidate
- computers
- format
- 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
Links
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)
- Computer And Data Communications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Multi Processors (AREA)
Description
【0001】
【産業上の利用分野】本発明は一般に通信リンクにより
相互接続されると共に一つの共用データベースへのアク
セスを有するコンピュータのシステムについてのロード
バランサに関し、詳細には、一つのトランザクション形
式が1つのコンピュータから他に動かされるときにシス
テム内に過度のオーバヘッドが発生されないようにトラ
ンザクション形式間のロック競合についての情報を保持
することによりこのシステムのコンピュータ間でトラン
ザクション形式を再割振りを行うロードバランサに関す
る。トランザクション形式とはトランザクションの具体
例であるシステム内に記憶されるプログラムに関連する
すべての要求を意味する。トランザクション形式は一般
にプログラムに関連づけを行うシステムに対する名前
(すなわちコード)で識別される。
相互接続されると共に一つの共用データベースへのアク
セスを有するコンピュータのシステムについてのロード
バランサに関し、詳細には、一つのトランザクション形
式が1つのコンピュータから他に動かされるときにシス
テム内に過度のオーバヘッドが発生されないようにトラ
ンザクション形式間のロック競合についての情報を保持
することによりこのシステムのコンピュータ間でトラン
ザクション形式を再割振りを行うロードバランサに関す
る。トランザクション形式とはトランザクションの具体
例であるシステム内に記憶されるプログラムに関連する
すべての要求を意味する。トランザクション形式は一般
にプログラムに関連づけを行うシステムに対する名前
(すなわちコード)で識別される。
【0002】
【従来の技術および課題】トランザクション処理システ
ムは、しばしば大きい地域にわたり分散された複数の末
端装置を支持する複数プロセッサデータ処理システムで
一般に具体化されるオンライン、適用業務型システムで
ある。代表的なトランザクション処理システムは、本来
航空機予約システムで用いられるが他のシステム、特に
オンラインテラー業務を行う銀行で用いられるIBM
ACP(Airline Control Program )である。コンピュ
ータ、末端装置、共用データベース、通信リンク等を含
むこのシステム全体をここではコンピュータのシステム
あるいは単にシステムと呼ぶ。 高性能トランザクショ
ン処理システムは大規模組織での使用が増加しつつあ
る。代表的な大規模設備では数千のトランザクション形
式が、しばしば使用されるものは数百にすぎないが、定
義しうる。共通に用いられるトランザクション形式の入
力速度は種々の理由、例えば季節、1日の内の特定の時
間帯、あるいはランダムにも変動しうる。更に、このシ
ステムの複数のコンピュータは増加または減少され、あ
るいは故障することがある。他の適用業務(プログラム
開発、他の対話ユーザ)は時としてシステム機械の使用
部分の拡大を要求するものである。
ムは、しばしば大きい地域にわたり分散された複数の末
端装置を支持する複数プロセッサデータ処理システムで
一般に具体化されるオンライン、適用業務型システムで
ある。代表的なトランザクション処理システムは、本来
航空機予約システムで用いられるが他のシステム、特に
オンラインテラー業務を行う銀行で用いられるIBM
ACP(Airline Control Program )である。コンピュ
ータ、末端装置、共用データベース、通信リンク等を含
むこのシステム全体をここではコンピュータのシステム
あるいは単にシステムと呼ぶ。 高性能トランザクショ
ン処理システムは大規模組織での使用が増加しつつあ
る。代表的な大規模設備では数千のトランザクション形
式が、しばしば使用されるものは数百にすぎないが、定
義しうる。共通に用いられるトランザクション形式の入
力速度は種々の理由、例えば季節、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個の均一なサー
バの場合には、初期状態が同一(例えば両サーバ共に遊
休中である)であるときにラウンド−ロビン(round-ro
bin )宛先指定が最適である。これは「ア・シンプル・
ダナミック・ルーチング・プログレム」、IEEEトラ
ンザクション・オン・オートマチック・コントロール、
AC−25(4):690−693、1982年8月に
示されている。
バの場合には、初期状態が同一(例えば両サーバ共に遊
休中である)であるときにラウンド−ロビン(round-ro
bin )宛先指定が最適である。これは「ア・シンプル・
ダナミック・ルーチング・プログレム」、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年
10月、「ア・ステーブル・ディストリビューテド・ス
ケジューリング・アルゴリズム」プロシーディングス・
オフ・ザ・セコンド・インターナショナル・コンファレ
ンス・オン・ディストリビューテド・コンピューティン
グ・システムズ」、1981年4月、および「ア・ディ
ストリビューテド・ロードバランシング・ポリシ・フォ
ー・ア・マルチコンピュータ」、ソフトウエア−プラク
ティス・アンド・エクスペクエンス、15(9):90
1−913、1985年9月がある。これらアルゴリズ
ムのいくつかはプロセス移行を行うときにプロセス優先
使用(premption )を用いる。このオプションはオンラ
イントランザクション処理システムにおける使用は不可
能である。これはオーバロードとなったプロセッサにつ
いての実行の優先使用に感応しそしてそれをアンダーロ
ードとなったプロセッサに移行させるが、トランザクシ
ョンエンバイロンメントではトランザクション管理オー
バーヘッドのために実用的でない。
はいまだに実現されていない。「ノーツ・オン・ダイナ
ミック・ロード・シェアリング・アンド・トランザクシ
ョン・ルーティング」、IBMリサーチ、RC1153
7(1985)では、宛先指定の決定は分散システムに
入る各メッセージについてなされるが、これらの傾向
は、特に「短い」トランザクションについて高価なもの
となる傾向がある。「ホエン・イズ・ザ・ベスト・ロー
ド・シェアリング・アルゴリズム・ア・ロード・バラン
シング・アルゴリズム?」ウィスコンシン大学コンピュ
ータ科学部、1987年4月ではFIFOあるいはプロ
セッサ共用のような局所スケジュールポリシとロード共
用およびロードバランスのような大域スケジュールポリ
シを組合せる種々のアルゴリズムが述べられている。大
域スケジュールポリシが遊休プロセッサにワークを与え
るためのものである場合には、そのポリシはロード共用
の一つであり、ロードバランスはこのポリシがプロセッ
サのロードを平衡させておくものであるときに行われ
る。これと同じ仮定を用いる他の動的アルゴリズムにつ
いては例えば「ロード・バランシング・イン・P・ホモ
ジニアス・ディストリビューテド・システム」、プロシ
ーディングズ・オフ・ザ・ACM・コンピュータ・ネッ
トワークス・パフォーマンス・シンポジウム、1982
年4月、「ダイナミック・ロード・シェアリング・イン
・ホモジニアス・ディストリビューテド・システムズ」
サスカチワン大学 技報84−10−01、1984年
10月、「ア・ステーブル・ディストリビューテド・ス
ケジューリング・アルゴリズム」プロシーディングス・
オフ・ザ・セコンド・インターナショナル・コンファレ
ンス・オン・ディストリビューテド・コンピューティン
グ・システムズ」、1981年4月、および「ア・ディ
ストリビューテド・ロードバランシング・ポリシ・フォ
ー・ア・マルチコンピュータ」、ソフトウエア−プラク
ティス・アンド・エクスペクエンス、15(9):90
1−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 IN
FOCOM 1985、pp118−129(198
5)は特定の割振りについてのレスポンス時間予測を得
ることのできるトランザクション処理システムの待ち合
せ回路モデルと組合された交換および集合ピューリステ
ィックスを与えるものである。「オン・オプティカル・
アロケーション・イン・ア・ディストリビューテッド・
プロセシング・エンバイロンメント」、マネージメント
・サイエンス28(8):839−853、1982年
8月は部分的割当て(マップ)ではじまり、予測される
最良の完成を計算することによりそれらを増加させる。
「オプティマル・ペーティショニング・オブ・ワークロ
ード・フォー・ディストリビューテッド・システムス」
プロシーディングス・オブ・COMPCON Fall 1
976、(1976)はトランザクションの集合化を提
案しており、セントロイド(centroid)を用いるがその
アルゴリズムはクラスタの初期形成に応答する。「ヒュ
ーリスティック・モデルス・オブ・タスク・アサインメ
ント・スケジューリング・イン・ディストリビューテッ
ド・システムス」コンピュータ、1982年6月は対化
とプロセッサへのクラスタのアルゴリズムの割当てによ
る集合アルゴリズムを提案している。「オン・ザ・マッ
ピング・プルブレム」IEEEトランザクション・オン
・コンピュータス、C−30(3)、1981年3月は
アレイプロセッサの縁にマッピングされるプログラムグ
ラフの縁の数を最大にするためのビューカスティクス
(リンク交換)を与えている。このアルゴリズムは最適
割当てとの比較はないが良好に動作するようにみえる。
並列機械(例えばNASAのファイナイトエレメントマ
シン(Finite Element Machine))にマッピングされる
周辺プログラムグラフを備えた数値問題への特定の適用
性を有するものである。
ィックス・フォー・ディストリビューテッド・システム
ス」、プロシーディングス・オブ・ザ・IEEE IN
FOCOM 1985、pp118−129(198
5)は特定の割振りについてのレスポンス時間予測を得
ることのできるトランザクション処理システムの待ち合
せ回路モデルと組合された交換および集合ピューリステ
ィックスを与えるものである。「オン・オプティカル・
アロケーション・イン・ア・ディストリビューテッド・
プロセシング・エンバイロンメント」、マネージメント
・サイエンス28(8):839−853、1982年
8月は部分的割当て(マップ)ではじまり、予測される
最良の完成を計算することによりそれらを増加させる。
「オプティマル・ペーティショニング・オブ・ワークロ
ード・フォー・ディストリビューテッド・システムス」
プロシーディングス・オブ・COMPCON Fall 1
976、(1976)はトランザクションの集合化を提
案しており、セントロイド(centroid)を用いるがその
アルゴリズムはクラスタの初期形成に応答する。「ヒュ
ーリスティック・モデルス・オブ・タスク・アサインメ
ント・スケジューリング・イン・ディストリビューテッ
ド・システムス」コンピュータ、1982年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に適用される。この目的は
高いトランザクションスループットを保証する。簡単で
低いオーバーヘッド手順を与えることである。コンピュ
ータ内で競合のある主資源は中央処理ユニット(CP
U)でありそしてこの資源の基本的な消費はトランザク
ション(データベース管理プログラムのような他の「サ
ービス」ルーチンによりトランザクションの代りに行わ
れる処理を含む)および大域ロック管理プログラムであ
る。
ズムは前端コンピュータ10に適用される。この目的は
高いトランザクションスループットを保証する。簡単で
低いオーバーヘッド手順を与えることである。コンピュ
ータ内で競合のある主資源は中央処理ユニット(CP
U)でありそしてこの資源の基本的な消費はトランザク
ション(データベース管理プログラムのような他の「サ
ービス」ルーチンによりトランザクションの代りに行わ
れる処理を含む)および大域ロック管理プログラムであ
る。
【0024】CPUの利用度がしきい値U1 より下のま
まである限りコンピュータシステムのスループットはC
PUの利用度とほぼ増加することが経験的にわかってお
り、分析的にも評価されている。この場合、このシステ
ムは入来ロードのすべてを処理することができ、そして
そのスループットは入来速度に等しい。CPU利用度を
しきい値U1 の上まで増加することにより、スループッ
トのわずかな増加が得られ、しきい値U2 と交わった後
にスループットは減少する。U1 より上の利用度につい
てのこのシステムのこの行為はこのシステムがすべての
入来ロードに適合しえないということ(すなわちこのシ
ステムがオーバロードとなったこと)によるものであ
り、CPU時間の殆んどは待ち行列、オーバーフィルさ
れたバッファ等を管理するためのシステムルーチンによ
り使われる。このシステムがオーバロードとなっている
期間中、スループットは到着速度より小さい。図には代
表的なCPU利用度対スループット曲線を示す。点線は
正の勾配の直線セグメントAB、平らなラインBCと負
の勾配の直線セグメントCDによるこの曲線の近似であ
る。以下の説明においてセグメントABをコンピュータ
システムの動作を「正常領域」と呼ぶ。
まである限りコンピュータシステムのスループットはC
PUの利用度とほぼ増加することが経験的にわかってお
り、分析的にも評価されている。この場合、このシステ
ムは入来ロードのすべてを処理することができ、そして
そのスループットは入来速度に等しい。CPU利用度を
しきい値U1 の上まで増加することにより、スループッ
トのわずかな増加が得られ、しきい値U2 と交わった後
にスループットは減少する。U1 より上の利用度につい
てのこのシステムのこの行為はこのシステムがすべての
入来ロードに適合しえないということ(すなわちこのシ
ステムがオーバロードとなったこと)によるものであ
り、CPU時間の殆んどは待ち行列、オーバーフィルさ
れたバッファ等を管理するためのシステムルーチンによ
り使われる。このシステムがオーバロードとなっている
期間中、スループットは到着速度より小さい。図には代
表的なCPU利用度対スループット曲線を示す。点線は
正の勾配の直線セグメントAB、平らなラインBCと負
の勾配の直線セグメントCDによるこの曲線の近似であ
る。以下の説明においてセグメントABをコンピュータ
システムの動作を「正常領域」と呼ぶ。
【0025】図3はワークロード管理プログラムのプロ
セス構造を示す。このシステム内の夫々のコンピュータ
について、親ワークロード管理プロセス22がまず初期
化されそしてオペレータとのインターフェースを与え
る。またこれは通信リンクを介して異なる機械にある他
のワークロード管理プログラムとの接続をつくるプロセ
ス24をつくる。次に、モニタプロセス26が、トラン
ザクションを処理する各機械について活性化される。バ
ランサプロセス28は前端コンピュータ10について、
活性化される。このプロセスはトランザクション形式を
再割振りするための決定をなす。モニタプロセス26は
周期的に行われそしてモニタが最後に活性であったとき
から累積されたCPUの使用時間を検査する。モニタプ
ロセス26はアフィニティマトリクスについてのロック
競合情報を検査する。バランサプロセス28はこのシス
テムのモニタにより送られる利用値を検査するために周
期的に動作する。この情報にもとづきバランサプロセス
28は1個以上のコンピュータがオーバロードとなった
かどうかの決定をなす。オーバロードとなった夫々のコ
ンピュータについてトランザクション形式はそのコンピ
ュータからアンダーロードであるコンピュータへの切換
えについて考慮される。切換えのための、バランサプロ
セス28により検査される目安は(1)とのトランザク
ション形式が切換えに最も適しているか、および(2)
それらをこのシステム内のどのコンピュータに切換える
べきかである。異なるトランザクション形式が実行のた
めに異なった時間量を必要としそして異なった速度で出
されるものとすると、それらの相対的ロードも異なった
ものであることは明らかである。経験によれば、トラン
ザクション形式のレスポンス時間とスループットはトラ
ンザクション形式の再分配のし方により影響される。更
に、同一のデータベースをアクセスするトランザクショ
ン形式が異なったコンピュータに指向されるとすると、
ロック競合およびデータロックの可能性が劇的に上昇す
る。これは本発明ではアフィニティ型宛先指定により回
避される。
セス構造を示す。このシステム内の夫々のコンピュータ
について、親ワークロード管理プロセス22がまず初期
化されそしてオペレータとのインターフェースを与え
る。またこれは通信リンクを介して異なる機械にある他
のワークロード管理プログラムとの接続をつくるプロセ
ス24をつくる。次に、モニタプロセス26が、トラン
ザクションを処理する各機械について活性化される。バ
ランサプロセス28は前端コンピュータ10について、
活性化される。このプロセスはトランザクション形式を
再割振りするための決定をなす。モニタプロセス26は
周期的に行われそしてモニタが最後に活性であったとき
から累積されたCPUの使用時間を検査する。モニタプ
ロセス26はアフィニティマトリクスについてのロック
競合情報を検査する。バランサプロセス28はこのシス
テムのモニタにより送られる利用値を検査するために周
期的に動作する。この情報にもとづきバランサプロセス
28は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によりロックが保持されているために
阻止される平均回数であるとする。代表的エレメントn
ijをもつマトリックスはアフィニティマトリクスと定義
される。ロックを処理するためのCPU時間Sijはトラ
ンザクションiに対し用いられる。上記の定義を用いる
と次のようになる。
ザクション形式jによりロックが保持されているために
阻止される平均回数であるとする。代表的エレメントn
ijをもつマトリックスはアフィニティマトリクスと定義
される。ロックを処理するためのCPU時間Sijはトラ
ンザクションiに対し用いられる。上記の定義を用いる
と次のようになる。
【0032】 両トランザクションが同一コンピュータによる場合、Cs nij Sij{ (1) 両トランザクションが異なるコンピュータによる場合、Cd nij ここでプロセッサへのトランザクション形式の割振り
が与えられているとする。Si をトランザクション形式
iにより要求される平均CPU処理時間、ρi をこのト
ランザクション形式を処理するコンピュータとする。ρ
i c をコンピュータの残りのものとする(すなわち、ρ
i c ={1,…,N}−{ρi })とすると、トランザ
クション形式iが必要とするCPU処理時間は次のよう
になる。
が与えられているとする。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は後端コンピュータで計算されて前端コンピュー
タに送られる。前端コンピュータは次の量を計算する。
タに送られる。前端コンピュータは次の量を計算する。
【0041】 (W中に形式iに割振られた総合CPU時間) Si = (10) (W中に保存された形式iのトランザクション数) パラメータCd とCs は比較的一定であり頻繁に更新す
る必要はない。これらは時間についての平均CPU消費
として計算してもよく、あるいは一つのロックの処理に
必要なトランザクションの数から予測することもでき
る。
る必要はない。これらは時間についての平均CPU消費
として計算してもよく、あるいは一つのロックの処理に
必要なトランザクションの数から予測することもでき
る。
【0042】以上の説明はCPU利用度についてのトラ
ンザクション形式の再割振りの項かを述べるものであ
り、新しい利用度を計算するために前端コンピュータに
必要なパラメータを識別する。以下の説明ではこれまで
の計算にもとづき特定のトランザクション形式を再割振
りするために用いられるアルゴリズムを述べる。
ンザクション形式の再割振りの項かを述べるものであ
り、新しい利用度を計算するために前端コンピュータに
必要なパラメータを識別する。以下の説明ではこれまで
の計算にもとづき特定のトランザクション形式を再割振
りするために用いられるアルゴリズムを述べる。
【0043】時刻Tにおけるρp ≧U1 、(ρp <
U1 )であるコンピュータ群をΗ0 、(Hu)とする。
その目的は(1)とのトランザクション形式が
U1 )であるコンピュータ群をΗ0 、(Hu)とする。
その目的は(1)とのトランザクション形式が
【0044】
【数3】 にこれらトランザクション形式が、H0 のすべてのコン
ピュータの利用度がU1 より下になりHu のすべてのコ
ンピュータの利用度がU1 より下のままとなるように再
割振りされるかを決定することである。勿論、これは常
に可能であるとは限らず、実行可能な再割振りがあって
も適正なものを見出だすためにすべての可能性を検査す
るにはコストがかかりすぎることがある。他方、決定は
比較的短い時間インターバルで行われるから「最良」の
ポリシを見出す必要はなく、小さいオーバーヘッドでゆ
るい段階をもって状況を改善するだけではない。これは
本発明により行われるアルゴリズムの基本的動機であ
る。
ピュータの利用度がU1 より下になりHu のすべてのコ
ンピュータの利用度がU1 より下のままとなるように再
割振りされるかを決定することである。勿論、これは常
に可能であるとは限らず、実行可能な再割振りがあって
も適正なものを見出だすためにすべての可能性を検査す
るにはコストがかかりすぎることがある。他方、決定は
比較的短い時間インターバルで行われるから「最良」の
ポリシを見出す必要はなく、小さいオーバーヘッドでゆ
るい段階をもって状況を改善するだけではない。これは
本発明により行われるアルゴリズムの基本的動機であ
る。
【0045】
【数4】 計算されたこのD1 にもとづきPにおけるトランザクシ
ョン形式が三つのサブセットに分割される。
ョン形式が三つのサブセットに分割される。
【0046】1. サブセットP(1) はD1 <(U1 −
ρp )<0となるような、すなわち1つの形式がオーバ
ロードとなったコンピュータPから除かれるとそのコン
ピュータの利用度がしきい値U1 より下となる、すべて
のトランザクション形式からなる。
ρp )<0となるような、すなわち1つの形式がオーバ
ロードとなったコンピュータPから除かれるとそのコン
ピュータの利用度がしきい値U1 より下となる、すべて
のトランザクション形式からなる。
【0047】2. サブセットP(2) は(U1 −ρp )
≦D1 <0、すなわち1つがオーバロードとなったコン
ピュータPから除かれるとそのコンピュータの利用度が
減少するがしきい値U1 の下にはならない、すべてのト
ランザクション形式からなる。
≦D1 <0、すなわち1つがオーバロードとなったコン
ピュータPから除かれるとそのコンピュータの利用度が
減少するがしきい値U1 の下にはならない、すべてのト
ランザクション形式からなる。
【0048】3. サブセットP(3) は0≦D1 、すな
わち、それらの一つがオーバロードとなったコンピュー
タPから除かれるとそのコンピュータの利用度がプロセ
ッサ間競合アクティビティにより増加する、すべてのト
ランザクション形式からなる。 サブセットP(1) から
の1つのトランザクション形式の再割振りは上述のよう
にコンピュータPの利用度をしきい値U1 より小さくす
る。それ故、サブセットP(1) からのトランザクション
形式は再割振りに関する第1候補である。次の問題はこ
れら候補の内のどれを選ぶかということである。式(11)
の右側の第1項は再割振りされるトランザクション形式
と現在オーバロードとなっているコンピュータにある形
式との間のロックの競合によるものである。この利用度
はコンフリクトを解決するためのシステムワークに対応
し、進行のためのワークに対応するものではないから、
それを小さくすることが望ましい。それ故、下記の最小
値を有する候補がまず選ばれる。
わち、それらの一つがオーバロードとなったコンピュー
タPから除かれるとそのコンピュータの利用度がプロセ
ッサ間競合アクティビティにより増加する、すべてのト
ランザクション形式からなる。 サブセットP(1) から
の1つのトランザクション形式の再割振りは上述のよう
にコンピュータPの利用度をしきい値U1 より小さくす
る。それ故、サブセット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で選ばれ、そして次にそのサブセ
ット内の、最少のロックオーバーヘッドをもつトランザ
クション形式が機能ブロック50において再割振りされ
るべき候補トランザクション形式として選ばれる。
を示すフローチャートである。図示のプロセスは好適な
実施例ではあるがその変更は当業者には容易である。前
述のように、量nij、すなわち形式jのトランザクショ
ンにより保持されるロックにより形式iのトランザクシ
ョンが阻止される平均回数、とSij、すなわち、このロ
ックを処理するためのCPU時間、は後端コンピュータ
により測定されて前端コンピュータに送られる。前端コ
ンピュータでのプロセスは機能ブロック40においてし
きい値U1 に対する各コンピュータの利用度を検査しそ
してしきい値を越えるコンピュータ利用度の値をそのコ
ンピュータの名前と共に一時的に記憶することにより開
始する。決定ブロック42においてそのような値がない
こと、すなわち、いずれのコンピュータもオーバロード
となっていないことが決定されると、このプロセスが存
在する。そうでない場合には、最大のオーバロードを有
するコンピュータPが機能ブロック44で選ばれる。コ
ンピュータPにおけるトランザクションは次に機能ブロ
ック46においてサブセットP(1) ,P(2) ,P(3) に
分けられる。まずサブセットP(1) 内のトランザクショ
ンが機能ブロック48で選ばれ、そして次にそのサブセ
ット内の、最少のロックオーバーヘッドをもつトランザ
クション形式が機能ブロック50において再割振りされ
るべき候補トランザクション形式として選ばれる。
【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に制御がもどる前に機能ブロック74で
選択される。
っていないことが決定されると、このサブセット内のす
べてのトランザクションが試されたかどうかを決定する
ための検査が決定ブロック66で行われる。試されてい
なければそしてもし決定ブロック68で1つのトランザ
クション形式のみを問題としていると決定されたなら
ば、制御が機能ブロック52にもどる前にこのサブセッ
ト内の次のトランザクションが機能ブロック70で選択
される。このサブセット内のすべてのトランザクション
が決定ブロック66により試されたことが決定されそし
てもし、このサブセットが機能ブロック72によりP
(2) でないことが決定されれば、サブセットP(2) が機
能ブロック50に制御がもどる前に機能ブロック74で
選択される。
【0056】他方、サブセットP(1) とP(2) のすべて
のトランザクションが試されそしてトランザクションを
再割振りする候補コンピュータがない場合には、定義に
よりこのサブセット内のトランザクション形式の1つの
除去がプロセッサの利用度を減少ではなく増加させるか
らサブセットP(3)の検査は行われない。その代りに、
制御は決定ブロック72から機能ブロック76に移り、
そこで最少のロックオーバーヘッドをもつトランザクシ
ョン形式が選ばれる。次に機能ブロック78において残
りのトランザクション形式がこの選ばれたトランザクシ
ョンとの干渉量に従ってリストに順序づけられる。もし
これが第1反復であれば、このリストの一番上のトラン
ザクション形式tが機能ブロック80で選ばれそしてト
ランザクション形式1と対にされ、この対が制御が機能
ブロック52にもどる前に機能ブロック82において1
つのトランザクション形式lとして扱われる。決定ブロ
ック68での、lが2以上である次の反復により、この
リストの次のトランザクション形式が機能ブロック84
で選ばれて、トランザクション形式1がトランザクショ
ン形式t1 とt2 と対にされて1つのトランザクション
形式lとして扱われるべき三重対を形成し、以下同様で
ある。一般にこの反復をどこまで行えるかについては限
界があり、それ故、すでに選ばれたトランザクション形
式の数が予定の外界を越えたかどうかの決定が決定ブロ
ック86で行われる。越えていれば、このプロセスは終
る。
のトランザクションが試されそしてトランザクションを
再割振りする候補コンピュータがない場合には、定義に
よりこのサブセット内のトランザクション形式の1つの
除去がプロセッサの利用度を減少ではなく増加させるか
らサブセットP(3)の検査は行われない。その代りに、
制御は決定ブロック72から機能ブロック76に移り、
そこで最少のロックオーバーヘッドをもつトランザクシ
ョン形式が選ばれる。次に機能ブロック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検出 Ifρ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検出 Ifρ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を割振る;
≦U1 −ρQ then実行;F1Qが最少となるようにプロセ
ッサQにトランザクション形式lを割振る;
【0060】
【数10】 ifρP <U1 then停止;else 形式_l_の_再割振り
_完了=yes ;end ;if 形式_l_の_再割振り_完
了=yes thenREALLOCを出る;if λlSl>U
1 −ρQ 、then Eligible 1Q=NOend REALLO
C; |*そのトランザクション形式を再割振りするに適当な
コンピュータがなかったときまたは1つのコンピュータ
があったがPの利用度がU1 を越えているときにこのポ
イントになる*|
_完了=yes ;end ;if 形式_l_の_再割振り_完
了=yes thenREALLOCを出る;if λlSl>U
1 −ρQ 、then Eligible 1Q=NOend REALLO
C; |*そのトランザクション形式を再割振りするに適当な
コンピュータがなかったときまたは1つのコンピュータ
があったがPの利用度がU1 を越えているときにこのポ
イントになる*|
【0061】
【数11】 Ph (i) ←Ph (i) −{1};endo;endo SETS; L=L+1;|*群化サイズ増加も反復*|endo;要約
すると、本発明は次の特徴にある。
すると、本発明は次の特徴にある。
【0062】1. 半動的ロードバランスの使用; 2. 個々のトランザクションではなく1つの群として
のトランザクション形式の割振り; 3. トランザクション形式iがアクセスしたがったデ
ータ項目についてのロックをトランザクション形式jが
保持していたためにトランザクション形式iがトランザ
クション形式jにより阻止された回数を記録するアフィ
ニティマトリクスの発生と維持; 4. 少くとも1つのオーバロードとなったコンピュー
タが検出されたとき、このアフィニティマトリクスから
のデータにもとづきコンピュータにおけるトランザクシ
ョン形式を再配列するアルゴリズム。
のトランザクション形式の割振り; 3. トランザクション形式iがアクセスしたがったデ
ータ項目についてのロックをトランザクション形式jが
保持していたためにトランザクション形式iがトランザ
クション形式jにより阻止された回数を記録するアフィ
ニティマトリクスの発生と維持; 4. 少くとも1つのオーバロードとなったコンピュー
タが検出されたとき、このアフィニティマトリクスから
のデータにもとづきコンピュータにおけるトランザクシ
ョン形式を再配列するアルゴリズム。
【図1】本発明を実施するシステムのシステム構成を示
すブロック図である。
すブロック図である。
【図2】プロセッサの利用度の関数としてスループット
の関係を示すグラフである。
の関係を示すグラフである。
【図3】ワークロード管理プロセス構造のブロック図で
ある。
ある。
【図4】本発明により行われるプロセスを示すフローチ
ャートの1部である。
ャートの1部である。
【図5】本発明により行われるプロセスを示すフローチ
ャートの1部である。
ャートの1部である。
10 前端コンピュータ 11 宛先指定テーブル 12,14,16 CPU 18 データベース
───────────────────────────────────────────────────── フロントページの続き (72)発明者 クリストス、ニコラス、ニコラウ アメリカ合衆国ニューヨーク州、ニュー ヨーク、リバーサイド、ドライブ、5、 アパートメント、12イー (72)発明者 ジョージ、ウェイ、ワン アメリカ合衆国ニューヨーク州、ヨーク タウン、ハイツ、シーダー、ロード、 3140 (56)参考文献 特開 昭61−253547(JP,A)
Claims (2)
- 【請求項1】1つの共用データベースを共有する複数の
コンピュータを有するタイプのトランザクション処理シ
ステムにおいて、前記複数のコンピュータは通信リンク
を介して互いに接続されており、前記各コンピュータは
1又はそれ以上のトランザクション形式を処理するもの
であり、前記コンピュータのうちの少なくとも1つが前
端コンピュータであり、他が後端コンピュータであり、
このようなシステムにおいてロードバランスシステム
は、 上記前端コンピュータにあって、同一形式のトランザク
ションをトランザクション形式宛先指定テーブルに従っ
て上記後端コンピュータの内の1個に割当てるための宛
先指定手段と、 上記後端コンピュータの夫々にあって、前記後端コンピ
ュータのワークロードについての統計的データを累積し
周期的に上記前端コンピュータに送るためのモニタ手段
と、 前記前端コンピュータにあって、上記統計的データを周
期的に分析し予定のしきい値を越えるプロセッサ利用度
を有する後端コンピュータの1つを識別するためのロー
ドバランス手段であって、上記しきい値を越える最大の
利用度を有する1つの後端コンピュータを選択しそして
他の後端コンピュータの1つに再割振りを行うための候
補トランザクション形式としてのトランザクション形式
を選択するロードバランス手段と、 上記前端コンピュータにあって、上記候補トランザクシ
ョン形式の再割振りにより上記しきい値を越えないプロ
セッサ利用度を有する後端コンピュータへのロード増分
を計算しそしてこのロード増分と現在のプロセッサ利用
度の和が上記しきい値を越えないコンピュータを上記候
補トランザクション形式の再割振りについての候補コン
ピュータとして決定する計算手段と、を有し、 前記ロードバランス手段は、上記計算されたロード増分
が最少である一つの候補コンピュータを選びそして上記
トランザクション形式宛先指定テーブルを更新すること
により上記選択された候補コンピュータに上記候補トラ
ンザクション形式を再割り当てするものとして構成さ
れ、 さらに、前記ロードバランス手段は、トランザクション
形式iによる前記共用 データベース内のデータ項目に対
するアクセスが、該データ項目についてのロックをトラ
ンザクション形式jが保持していたために阻止された回
数を記録するアフィニティマトリクスを作成および維持
する統計手段を含み、該アフィニティマトリクスを用い
て、トランザクション形式を再割り当てした場合の夫々
の前記後端コンピュータにおけるロック競合処理に関連
する負荷の変化を予測し、この予測にもとづき前記トラ
ンザクション形式宛先指定テーブルを更新するよう構成
されている、ロードバランスシステム。 - 【請求項2】1つの共用データベースを共有する複数の
コンピュータを有するタイプのトランザクション処理シ
ステムにおいて、前記複数のコンピュータは通信リンク
を介して互いに接続されており、前記各コンピュータは
1又はそれ以上のトランザクション形式を処理するもの
であり、前記コンピュータのうちの少なくとも1つが前
端コンピュータであり、他が後端コンピュータであり、
このようなシステムにおいてロードバランスシステム
は、 上記前端コンピュータにあって、同一形式のトランザク
ションをトランザクション形式宛先指定テーブルに従っ
て上記後端コンピュータの内の1個に割当てるための宛
先指定手段と、 上記後端コンピュータの夫々にあって、前記後端コンピ
ュータのワークロードについての統計的データを累積し
周期的に上記前端コンピュータに送るためのモニタ手段
と、 前記前端コンピュータにあって、上記統計的データを周
期的に分析し予定のしきい値を越えるプロセッサ利用度
を有する後端コンピュータの1つを識別するためのロー
ドバランス手段であって、上記しきい値を越える最大の
利用度を有する1つの後端コンピュータを選択しそして
他の後端コンピュータの1つに再割振りを行うための候
補トランザクション形式としてのトランザクション形式
を選択するように待ったロードバランス手段と、 上記前端コンピュータにあって、上記候補トランザクシ
ョン形式の再割振りにより上記しきい値を越えないプロ
セッサ利用度を有する後端コンピュータへのロード増分
を計算しそしてこのロード増分と現在のプロセッサ利用
度の和が上記しきい値を越えないコンピュータを上記候
補トランザクション形式の再割振りについての候補コン
ピュータとして決定する計算手段と、を有し、 前記ロードバランス手段は、上記計算されたロード増分
が最少である一つの候補コンピュータを選びそして上記
トランザクション形式宛先指定テーブルを更新すること
により上記選択された候補コンピュータに上記候補トラ
ンザクション形式を再割り当てするものとして構成さ
れ、 さらに、前記しきい値より低いプロセッサ利用度を達成
するために再割振り可能な1つのトランザクション形式
がない場合に、前記バランス手段が他のコンピュータへ
の再割振り用の侯補トランザクション形式として2以上
のトランザクション形式を選びそして前記計算手段が2
以上のトランザクション形式を含む上記候補形式の再割
振りのために上記しきい値を越えないプロセッサ利用度
を有する後端コンピュータへのロード増分を計算する、
ロードバランスシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US516642 | 1990-04-30 | ||
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 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH04229356A JPH04229356A (ja) | 1992-08-18 |
JP2559915B2 true 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 (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8898127B2 (en) | 2011-12-02 | 2014-11-25 | International Business Machines Corporation | Device and method for acquiring resource lock |
Families Citing this family (133)
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 |
US5673362A (en) * | 1991-11-12 | 1997-09-30 | Fujitsu Limited | Speech synthesis system in which a plurality of clients and at least one voice synthesizing server are connected to a local area network |
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 |
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 |
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 |
JP3023441B2 (ja) * | 1993-11-16 | 2000-03-21 | 株式会社日立製作所 | データベース分割管理方法および並列データベースシステム |
US6101495A (en) * | 1994-11-16 | 2000-08-08 | Hitachi, Ltd. | Method of executing partition operations in a parallel database system |
US7599910B1 (en) | 1993-11-16 | 2009-10-06 | Hitachi, Ltd. | Method and system of database divisional management for parallel database system |
US5630129A (en) * | 1993-12-01 | 1997-05-13 | Sandia Corporation | Dynamic load balancing of applications |
JPH07182217A (ja) * | 1993-12-24 | 1995-07-21 | Nec Corp | データベースへのアクセス制御方式 |
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 |
US6185601B1 (en) | 1996-08-02 | 2001-02-06 | Hewlett-Packard Company | Dynamic load balancing of a network of client and server computers |
US6044367A (en) * | 1996-08-02 | 2000-03-28 | Hewlett-Packard Company | Distributed I/O store |
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 |
JP3008896B2 (ja) | 1997-06-16 | 2000-02-14 | 日本電気株式会社 | 共有バス型マルチプロセッサシステムの割り込み負荷分散システム |
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 |
US6266335B1 (en) | 1997-12-19 | 2001-07-24 | Cyberiq Systems | Cross-platform server clustering using a network flow switch |
US7055173B1 (en) | 1997-12-19 | 2006-05-30 | Avaya Technology Corp. | Firewall pooling in a network flowswitch |
US6601084B1 (en) * | 1997-12-19 | 2003-07-29 | Avaya Technology Corp. | Dynamic load balancer for multiple network servers |
US6397252B1 (en) * | 1997-12-19 | 2002-05-28 | Electronic Data Systems Corporation | Method and system for load balancing in a distributed object system |
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 |
CA2338025C (en) * | 1999-05-20 | 2004-06-22 | Ivan Chung-Shung Hwang | A method and apparatus for implementing a workgroup server array |
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 |
EP1643370A4 (en) | 2003-07-02 | 2009-04-01 | Satoshi Yamatake | IMAGE DATABASE SYSTEM |
US20050192880A1 (en) * | 2003-12-08 | 2005-09-01 | Tomihiro Yamamoto | Data transmission system and method |
WO2005103407A2 (en) * | 2004-04-19 | 2005-11-03 | Rotter Martin J | Rib vent system for roofing panels |
EP1677235A1 (en) * | 2004-07-07 | 2006-07-05 | Satoshi Yamatake | Image database system |
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 |
US7941805B2 (en) | 2006-08-15 | 2011-05-10 | International Business Machines Corporation | Affinity dispatching load balancer with precise CPU consumption data |
US7971005B2 (en) * | 2006-10-05 | 2011-06-28 | Waratek Pty Ltd. | Advanced contention detection |
US20080127214A1 (en) * | 2006-10-05 | 2008-05-29 | Holt John M | Contention detection with counter rollover |
WO2008040075A1 (en) * | 2006-10-05 | 2008-04-10 | Waratek Pty Limited | Contention detection with modified message format |
WO2008040076A1 (en) * | 2006-10-05 | 2008-04-10 | Waratek Pty Limited | Contention resolution with echo cancellation |
US8095616B2 (en) * | 2006-10-05 | 2012-01-10 | Waratek Pty Ltd. | Contention detection |
WO2008040065A1 (en) * | 2006-10-05 | 2008-04-10 | Waratek Pty Limited | Contention detection and resolution |
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 |
WO2008142705A2 (en) * | 2007-05-17 | 2008-11-27 | Pes Institute Of Technology | A method and system for load balancing in a distributed computer system |
US8347292B2 (en) * | 2007-08-30 | 2013-01-01 | International Business Machines Corporation | Transaction aggregation to increase transaction processing throughout |
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 | 日本電気株式会社 | システムの制御方法及び制御装置 |
JP6288714B2 (ja) * | 2012-08-06 | 2018-03-07 | 日本電気株式会社 | コンピュータネットワークシステム、コンピュータネットワークシステムでの負荷の移動要否の判定方法 |
GB2513532A (en) * | 2012-12-05 | 2014-11-05 | Ibm | Distributed transaction routing |
JP6172649B2 (ja) * | 2012-12-19 | 2017-08-02 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 情報処理装置、プログラム、及び、情報処理方法 |
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 |
US9524186B2 (en) | 2014-04-28 | 2016-12-20 | Oracle International Corporation | System and method for supporting common transaction identifier (XID) optimization based on resource manager (RM) instance awareness in a transactional environment |
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 |
GB2533432A (en) | 2014-12-18 | 2016-06-22 | Ipco 2012 Ltd | A device system, method and computer program product for processing electronic transaction requests |
GB2533379A (en) | 2014-12-18 | 2016-06-22 | Ipco 2012 Ltd | A system and server for receiving transaction requests |
GB2537087A (en) * | 2014-12-18 | 2016-10-12 | Ipco 2012 Ltd | A system, method and computer program product for receiving electronic messages |
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 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61253547A (ja) * | 1985-05-07 | 1986-11-11 | Hitachi Ltd | 計算機システムジヨブ制御方式 |
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
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8898127B2 (en) | 2011-12-02 | 2014-11-25 | International Business Machines Corporation | Device and method for acquiring resource lock |
US9189512B2 (en) | 2011-12-02 | 2015-11-17 | International Business Machines Corporation | Device and method for acquiring resource lock |
Also Published As
Publication number | Publication date |
---|---|
EP0459134A2 (en) | 1991-12-04 |
US5283897A (en) | 1994-02-01 |
JPH04229356A (ja) | 1992-08-18 |
EP0459134A3 (en) | 1993-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2559915B2 (ja) | ロードバランスシステム | |
US6587938B1 (en) | Method, system and program products for managing central processing unit resources of a computing environment | |
CN107273185B (zh) | 一种基于虚拟机的负载均衡控制方法 | |
JP3807916B2 (ja) | コンピュータ環境の区画のグループを管理する方法およびシステム | |
US6651125B2 (en) | Processing channel subsystem pending I/O work queues based on priorities | |
KR100420421B1 (ko) | 계산환경의 논리 프로세서들을 관리하는 방법, 시스템 및 기록매체 | |
US6519660B1 (en) | Method, system and program products for determining I/O configuration entropy | |
JP4621087B2 (ja) | 複数のインスタンスアプリケーションに対し負荷分散装置を動作させるシステムおよび方法 | |
US7140020B2 (en) | Dynamic management of virtual partition computer workloads through service level optimization | |
US7051188B1 (en) | Dynamically redistributing shareable resources of a computing environment to manage the workload of that environment | |
US7665090B1 (en) | System, method, and computer program product for group scheduling of computer resources | |
US7945913B2 (en) | Method, system and computer program product for optimizing allocation of resources on partitions of a data processing system | |
JP3872343B2 (ja) | コンピュータ環境におけるワークロード管理 | |
US20170244784A1 (en) | Method and system for multi-tenant resource distribution | |
US20050188075A1 (en) | System and method for supporting transaction and parallel services in a clustered system based on a service level agreement | |
US20060069761A1 (en) | System and method for load balancing virtual machines in a computer network | |
US7007150B2 (en) | Memory balancing and optimization services | |
US7568052B1 (en) | Method, system and program products for managing I/O configurations of a computing environment | |
WO2023039711A1 (en) | Efficiency engine in a cloud computing architecture | |
Al-Saqabi et al. | Gang scheduling in heterogenous distributed systems | |
Keerthika et al. | A Hierarchical Load Balanced Fault tolerant Grid Scheduling Algorithm with User Satisfaction | |
Swarnakar et al. | Parallel Load Efficiency Factor Based Dynamic Load Balancing Algorithm in Cloud Environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |