JP2856154B2 - 非並行型パラレルトランザクションシステムにおける優先制御負荷分散方式 - Google Patents

非並行型パラレルトランザクションシステムにおける優先制御負荷分散方式

Info

Publication number
JP2856154B2
JP2856154B2 JP16863596A JP16863596A JP2856154B2 JP 2856154 B2 JP2856154 B2 JP 2856154B2 JP 16863596 A JP16863596 A JP 16863596A JP 16863596 A JP16863596 A JP 16863596A JP 2856154 B2 JP2856154 B2 JP 2856154B2
Authority
JP
Japan
Prior art keywords
transaction
processor
takeover
priority control
performance
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP16863596A
Other languages
English (en)
Other versions
JPH09330300A (ja
Inventor
忠 宮沢
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
Nippon Electric Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP16863596A priority Critical patent/JP2856154B2/ja
Publication of JPH09330300A publication Critical patent/JPH09330300A/ja
Application granted granted Critical
Publication of JP2856154B2 publication Critical patent/JP2856154B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、トランザクション
の負荷分散方式に関し、特に、性能の異なるプロセッサ
から構成されるパラレルトランザクションシステムにお
ける優先制御方式に関する。
【0002】
【従来の技術】トランザクションの負荷分散方式の従来
技術として、例えば特開昭63−318662号公報に
は、データベースを共用してトランザクション処理を分
散して行う複数の処理システムを備えたオンラインシス
テムにおいて、トランザクションの処理の負荷分散を均
等化するための方式が提案されている。上記特開昭63
−318662号公報に提案される方式の概要を、図1
4を参照して説明する。端末から入力されたトランザク
ションは、通信制御処理装置のCCPおよびCPU1上
の通信管理マネージャ21を経由して、各処理システム
の共有する共用メモリ装置4の入力トランザクション処
理キュー5に渡される。
【0003】トランザクションキュー5からのトランザ
クションの取り出しは、CPU1,CPU2,CPU3
の空きがあるCPUが行う。例えばCPU2に空きがあ
る場合には、CPU2の業務実行マネージャが共用メモ
リ装置4上のトランザクションキュー5からトランザク
ションを取得して実行する。その後、トランザクション
の実行結果は、CPU2のデータ通信マネージャを経由
して共用メモリ装置4上にあるCPU1用の出力キュー
6に渡される。CPU1に空きができると、CPU1の
通信管理マネージャ21がCPU1用出力キュー6から
トランザクション実行結果を取得し、通信制御処理装置
のCCP経由で端末に返却する。以上が従来技術におけ
るトランザクション処理の負荷分散方式である。
【0004】
【発明が解決しようとする課題】しかしながら、上記し
た従来技術は、性能の異なるプロセッサにより構成され
るパラレルシステムにおいて、トランザクションの優先
制御処理ができない、という問題点を有している。この
理由は、上記従来の負荷分散方式においては、パラレル
システムを構成する各プロセッサが、トランザクション
の優先順位に関係なく、CPUに空きがあった場合にト
ランザクションキューから無条件にトランザクションを
取得して実行するため、性能の悪いプロセッサが優先制
御トランザクションを実行し、性能の良いプロセッサが
普通制御トランザクションを実行するタイミングが必ず
発生するからである。
【0005】従って、本発明は、上記問題点に鑑みてな
されたものであって、その目的は、性能の異なるプロセ
ッサを持つパラレルトランザクションシステムにおい
て、トランザクションの優先制御を実現する上で、各ト
ランザクションに対して適切なプロセッサを割り当てる
ことにより、トランザクションの優先制御に従った負荷
分散を行うことを可能とした方式を提供することにあ
る。
【0006】
【課題を解決するための手段】前記目的を達成するた
め、本発明は、性能の異なる複数のプロセッサから構成
され、複数のプロセッサからアクセス可能な1つのトラ
ンザクションキューを持ち、当該キューには優先制御お
よび普通制御のトランザクションがキューイングされる
パラレルトランザクションシステムにおいて、キューか
ら取り出されたトランザクションが優先制御の対象であ
り、かつ、当該トランザクションを実行するプロセッサ
の性能がもう一方のプロセッサの性能より低い場合、性
能の低いプロセッサから性能の高いプロセッサへ優先制
御トランザクションの処理要求を行い、性能の高いプロ
セッサでは自プロセッサが実行中のトランザクションが
発行するコミットの回数を用いて優先制御トランザクシ
ョンの引き取りの可否を決定し、優先制御トランザクシ
ョンを引き継ぐ場合には、自プロセッサで実行中のトラ
ンザクションの実行情報を共有メモリ経由で性能の低い
プロセッサに引き継ぐことを特徴とする優先制御負荷分
散方式を提供する。
【0007】
【発明の実施の形態】はじめに本発明の原理及び作用を
説明する。以下では、図1において、プロセッサ1の性
能がプロセッサ2の性能を上回っている場合を考える。
【0008】プロセッサ1にて、普通制御のトランザク
ションを実行している場合、プロセッサ2が取得しよう
としたトランザクションが優先処理を必要とするなら、
プロセッサ2のトランザクション管理処理手段1−8
は、プロセッサ1に対して優先処理トランザクションの
引き継ぎ要求を行う。プロセッサ1では、自プロセッサ
で実行中のトランザクションが普通制御のトランザクシ
ョンである場合、実行中のトランザクションを共有メモ
リ1−4経由でプロセッサ2に引き継ぎ、新たに優先制
御トランザクションをトランザクションキュー1−6か
ら取得して実行する。
【0009】このように優先制御対象となるトランザク
ションを性能の高いプロセッサで実行することにより、
効率的な処理を行うことが可能となる。
【0010】また、プロセッサ1で優先制御のトランザ
クションを実行している場合、プロセッサ2が取得しよ
うとしたトランザクションが優先処理を必要とする場
合、プロセッサ2のトランザクション管理処理手段1−
8は、プロセッサ1に対して優先処理トランザクション
の通知を行う。プロセッサ1では、実行中のトランザク
ションが優先制御トランザクションであることから、ト
ランザクションが現在までに発行したコミット(com
mit)の回数と、既に予めデータベース1−5に収集
したコミット回数の平均値を、所定の条件に従って比較
する。
【0011】トランザクションアプリケーションプログ
ラム(AP)は、投入されるトランザクション毎にある
振れ幅で、コミットを発行するため、その平均値を利用
することにより、残りのトランザクション処理に要する
時間を推定することが可能となる。
【0012】このように、残りのトランザクション処理
に要する時間を推定することにより、性能の高いプロセ
ッサで実行中のトランザクションを継続するか、あるい
は性能の低いプロセッサに引き継ぐことが可能かを判断
することができ、適切な負荷分散を行うことが可能とな
る。
【0013】モデルケースとして、プロセッサ1のCP
U能力(性能)がプロセッサ2の2倍とされ、プロセッ
サ1で実行した場合、1回のコミットに1秒必要とし、
100回のコミットを発行するトランザクションを考え
る。
【0014】トランザクションがプロセッサ1で実行さ
れ、50回のコミットが発行された時、プロセッサ2で
次のトランザクションキュー1−5から同一のトランザ
クションを取得して実行すると、完了するまでの時間と
して200秒かかる。
【0015】その間にプロセッサ1では、トランザクシ
ョンの残りの処理が50秒で実行され、次の普通制御の
トランザクションの実行を行う。
【0016】しかし、プロセッサ1で実行されていた残
り50回のコミットを持つトランザクションがプロセッ
サ2で実行される場合、プロセッサ2でトランザクショ
ンを実行するためにかかる時間は100秒であるため、
合計150秒でトランザクションが完了する。また、プ
ロセッサ1で新規に実行されるトランザクションも10
0秒で完了し、システム全体の応答性能の向上も図れ
る。上記した本発明の原理の理解を前提として、以下に
本発明の好ましい実施の形態の構成を説明する。
【0017】図1に、本発明の実施の形態の全体の構成
を示す。本発明の実施の形態に係るシステムは、トラン
ザクション処理を行う第1のプロセッサ1−1(「プロ
セッサ1」という)と、性能がプロセッサ1より低い第
2のプロセッサ1−7(「プロセッサ2」という)と、
プロセッサ間のトランザクション引き継ぎ発生時に、引
き継ぎ情報を蓄える共有メモリ1−4と、プロセッサの
性能差情報1−13、トランザクション引き継ぎ情報1
−14、トランザクション実行中に発生するコミット
(commit)発生回路をトランザクション毎に蓄積
するコミット統計情報データベース1−5およびトラン
ザクションキュー1−6とを備えて構成される。
【0018】また、プロセッサ1、2は、それぞれ、ト
ランザクションの実行を管理するトランザクション管理
処理手段1−3,1−8、トランザクションAP1−
2,1−9を備える。
【0019】トランザクションキュー1−6には、優先
処理を必要とするトランザクション1−10、優先処理
を必要としないトランザクション1−11,1−12が
保持されているものとする。
【0020】図2に、本発明の実施の形態におけるトラ
ンザクション管理手段の構成を示す。
【0021】図2を参照すると、プロセッサ1のトラン
ザクション管理処理手段2−1は、トランザクション引
き継ぎ処理手段2−2、トランザクション実行管理手段
2−3、及びトランザクションキュー読み込み処理手段
2−4を備えて構成されている。なお、プロセッサ2に
おけるトランザクション管理処理手段(1−8)も同様
な構成とされる。トランザクション引き継ぎ処理手段2
−2は、プロセッサ間のトランザクションの引き継ぎが
発生した場合に、他のトランザクション管理処理手段1
−8からの要求および応答を送受信する。トランザクシ
ョン実行管理手段2−3は、トランザクションAPのス
ケジューリング、トランザクションの実行環境の共有メ
モリ1−4への書き出しおよび共有メモリからの読み込
み、トランザクションAPが発行したコミット(com
mit)の回数から、トランザクション毎にコミットの
発行回数の平均を求め、コミット回数統計データベース
1−5に蓄積する。トランザクションキュー読み込み処
理手段2−4はトランザクションキュー1−6からトラ
ンザクションを読み込む。
【0022】図3に、コミット回数統計データベース1
−5の構成の一例を示す。コミット回数統計データベー
ス1−5は、各エントリ毎に、トランザクションを識別
するためのトランザクションIDと、当該トランザクシ
ョンIDを持つトランザクションAPが動作した場合に
発行したコミット回数の平均値を格納保持している。
【0023】本発明の実施の形態の動作を以下に説明す
る。
【0024】図4に、トランザクション読み込み処理手
段2−4の処理動作を説明するための流れ図を示す。図
4を参照すると、トランザクション読み込み処理手段2
−4は、トランザクションキューあるいはトランザクシ
ョン実行管理手段2−3からトランザクションデータ読
み込みの指示があるまで待ち合わせ(ウェイト)してい
る(ステップ4−1)。
【0025】読み込み指示を受け取ると指示元を判定す
る(ステップ4−2)。指示元がトランザクションキュ
ーであるとトランザクション種別を取得して(ステップ
4−3)、受信したトランザクションの種別を判定する
(ステップ4−4)。
【0026】トランザクション種別が優先制御トランザ
クションの場合にはトランザクション実行管理に優先制
御トランザクション受信の旨を通知する(ステップ4−
5)。トランザクション実行管理手段2−3から優先制
御トランザクションの読み込み指示があった場合(ステ
ップ4−6)、トランザクションキューからデータを読
み込み(ステップ4−7)、トランザクション実行管理
にデータを通知する(ステップ4−8)。
【0027】ステップ4−4の判定処理において、普通
制御型トランザクションの場合には即座にデータを読み
込み(ステップ4−7)、トランザクション実行管理に
データを通知する(ステップ4−8)。
【0028】また、ステップ4−2の判定処理におい
て、指示元がトランザクション実行管理の場合、トラン
ザクションキューからトランザクションデータを読み込
み(ステップ4−7)、トランザクション実行管理手段
2−3に読み込んだデータを通知する(ステップ4−
8)。
【0029】以上の処理の後、再度トランザクションデ
ータ読み込み指示待ちとなる(ステップ4−9)。
【0030】図5ないし図7に、トランザクション実行
管理手段2−3の処理動作を説明するための流れ図を示
す。なお、図5〜図7は単に図面作成の都合上分図され
たものである。
【0031】図5を参照すると、トランザクション実行
管理手段では、初期動作として自プロセッサの性能情報
を共有メモリ書き込み(ステップ5−1)、相手プロセ
ッサの性能情報を共有メモリから読み込み(ステップ5
−2)、ウェイトする(ステップ5−3)。
【0032】トランザクション読み込み処理手段から通
知を受けとると(ステップ5−4)、優先制御トランザ
クションか普通制御トランザクションかを判定する(ス
テップ5−7)。
【0033】また、ウェイト中にトランザクション引き
継ぎ処理から通知を受けると(ステップ5−5)、トラ
ンザクション読み込み処理へデータの読み込みを指示し
(ステップ5−6)、トランザクションAPの起動環境
を生成し(ステップ5−9)、トランザクションAPを
起動する(ステップ5−10)。
【0034】ステップ5−7における、トランザクショ
ン種別の判定処理の結果、普通制御トランザクションの
場合、トランザクションAPの起動環境を生成し(ステ
ップ5−9)、トランザクションAPを起動する(ステ
ップ5−10)。
【0035】ステップ5−7におけるトランザクション
種別判定の結果、優先制御トランザクションの場合に
は、予め読み込んだプロセッサの性能情報を比較し(ス
テップ5−8)、自プロセッサの性能が相手プロセッサ
より優れている場合には、自プロセッサとトランザクシ
ョンの起動環境を生成し(ステップ5−9)、トランザ
クションAPを起動する(ステップ5−10)。
【0036】図6を参照して、その後、トランザクショ
ンAPの実行状態を判定し(ステップ5−11)、実行
中ならトランザクションAPが完了するまでウェイトす
る(ステップ5−12)。その際、すなわちウェイト中
(ステップ5−12)に、コミット発行を受け取ると
(ステップ5−16)、コミット回数のカウントアップ
を行い(ステップ5−17)、再度ウェイトする(ステ
ップ5−12)。
【0037】トランザクションが完了すると、コミット
回数統計データベース1−5から該当するトランザクシ
ョンIDのコミット情報を取得(ステップ5−13)
し、コミット回数の平均値を求め(ステップ5−1
4)、平均値をコミット回数統計データベースへ書き出
して保存する(ステップ5−15)。
【0038】また、ステップ5−12のウェイト中に、
トランザクション引き継ぎ処理から通知があった場合
(ステップ5−18)、コミット回数統計データベース
から当該トランザクションIDのコミット回数の平均値
を取得し(ステップ5−19)、実行中のトランザクシ
ョンAPが現在までに発行したコミット回数と平均値に
よりトランザクション引き継ぎが発生するか判定する
(ステップ5−20)。
【0039】判定結果により、トランザクションの引き
継ぎが発生する場合は、引き継ぎ情報を共有メモリに書
き出し(ステップ5−21)、引き継ぎ実行が可能であ
る旨をトランザクション引き継ぎ処理手段に通知し(ス
テップ5−22)、トランザクション読み込み処理手段
へトランザクションデータの読み込みを出力する(ステ
ップ5−23)。そして、トランザクションデータの読
み込みが完了するとトランザクションAPの起動環境を
生成し(図5のステップ5−9)、トランザクションA
Pを起動する(ステップ5−10)。
【0040】また、ステップ5−20の判定によるコミ
ット回数の比較結果により、トランザクションの引き継
ぎを拒否する場合は、トランザクション引き継ぎ処理へ
その旨を通知し(ステップ5−24)、ステップ5−1
2に移行して実行中のトランザクションの終了を待ち合
わせる。
【0041】一方、ステップ5−8における相手プロセ
ッサと自プロセッサの性能比較の結果、相手プロセッサ
の性能が優れていると、図7に示したステップ5−25
のトランザクション引き継ぎ処理へ引き継ぎ指示を行
う。
【0042】そして、ステップ5−26の判定におい
て、引き継ぎ指示の結果がOK(可)の場合は、共有メ
モリ1−4から相手プロセッサで実行中であったトラン
ザクションAPの情報を取得し(ステップ5−27)、
ステップ5−9に移行して自プロセッサ上にトランザク
ションAPの起動環境を作成し、トランザクションAP
を起動する(ステップ5−10)。
【0043】ステップ5−26の判定において、引き継
ぎ指示の結果がNG(不可)の場合には、トランザクシ
ョン読み込み処理へトランザクションデータの読み込み
を指示し(ステップ5−28)、読み込み完了後トラン
ザクションAPの起動環境を生成し(ステップ5−
9)、トランザクションAPを起動する(ステップ5−
10)。
【0044】図8に、トランザクション引き継ぎ処理手
段2−2の処理動作を説明するための流れ図を示す。図
8(A)を参照すると、トランザクション引き継ぎ処理
手段2−2では、自プロセッサ内のトランザクション実
行管理手段2−3からトランザクション引き継ぎ指示を
受けた場合(ステップ6−1)、相手プロセッサとのパ
スを開設し(ステップ6−2)、相手プロセッサへトラ
ンザクション引き継ぎ要求を発行する(ステップ6−
3)。その後、相手プロセッサから引き継ぎ要求の結果
を受信して自プロセッサのトランザクション実行管理処
理へ結果を通知し(ステップ6−4)、パスを閉塞する
(ステップ6−5)。
【0045】また、図8(B)を参照すると、相手プロ
セッサからパスの開設要求を受け付け(ステップ6−
6)、トランザクション引き継ぎ要求を受信した場合
(ステップ6−7)、自プロセッサのトランザクション
実行管理に要求を通知し(ステップ6−8)、その結果
を受け取り(ステップ6−9)、相手プロセッサへ結果
を通知する(ステップ6−10)。
【0046】
【実施例】上記した本発明の実施の形態を更に具体的に
説明すべく、本発明の実施例を以下に説明する。
【0047】図1を参照すると、本発明の実施例に係る
システムは、トランザクション処理を行うプロセッサ1
(1−1)とCPU性能がプロセッサ1の1/2である
プロセッサ2(1−7)を有する。プロセッサ間のトラ
ンザクション引き継ぎ発生時には、引き継ぎ情報を共有
メモリ1−4上のトランザクション引き継ぎ情報1−1
4に蓄積する。また、トランザクションキュー1−6お
よびトランザクション実行中に発生するコミット(co
mmit)発生回数をトランザクション毎に蓄積するコ
ミット統計情報データベース1−5も共有メモリ1−4
上に構成する。
【0048】共有メモリ1−4上のプロセッサ毎の性能
情報1−13の構成は、例えば図12に示すような形式
とされている。図12を参照すると、プロセッサ毎に1
エントリを持ち、各プロセッサの名前10−1とMip
s(Mega-Instruction Per Second)値10−2と
が設定される。
【0049】また、トランザクション引き継ぎ情報1−
14は、例えば図13に示すような形式とされており、
トランザクションID11−1、ユーザデータの情報と
してトランザクションAPのユーザデータエリア11−
2、システムデータとしてOSの持つトランザクション
AP管理情報11−3がセットされる。
【0050】プロセッサ内にはトランザクションの実行
管理を行うトランザクション管理処理手段1−3,1−
8、トランザクションAP1−2,1−9を備える。ト
ランザクションキュー1−6には、図10に示すよう
に、普通制御と優先制御の種別情報と、これに対応した
トランザクションデータを持つ。
【0051】上記した実施の形態と同様に、図2を参照
して、トランザクション管理処理手段2−1は、プロセ
ッサ間のトランザクションの引き継ぎが発生した場合に
要求および応答を送受信するトランザクション引き継ぎ
処理手段2−2と、トランザクションAPのスケジュー
リング、プロセステーブル等のトランザクションAP実
行環境の作成、トランザクション引き継ぎの決定、引き
継ぎが決定した場合に共有メモリへのプロセス実行のた
めのシステム領域と使用されていたユーザデータ領域の
書き出しおよび共有メモリからの読み込み、トランザク
ションAPが発行したコミット(commit)の回数
から、トランザクション毎にコミットの発行回数の平均
を求め、コミット回数統計データベースに蓄積するトラ
ンザクション実行管理処理手段2−3と、トランザクシ
ョンキューからトランザクションを読み込むトランザク
ションキュー読み込み処理手段2−4と、から構成され
る。
【0052】トランザクションAP起動時に作成される
トランザクションAP管理テーブルの一例を図11に示
す。図11を参照すると、トランザクションID9−1
毎に1エントリ9−5を持ち、各エントリは、コミット
発行回数9−2、ユーザデータエリアの開始位置9−
3、ユーザデータエリアのサイズ9−4を有する。
【0053】トランザクション引き継ぎ処理手段2−2
およびトランザクション実行管理手段2−3、およびト
ランザクションキュー読み込み処理手段2−4は、それ
ぞれ、オペレーティングシステムUNIXで一般的に使
用される、プロセス間通信方式(Inter Process Com
munication)の一つであるソケット(Socket)パスを
開設している。
【0054】本発明の実施例の動作を以下に説明する。
プロセッサ1(1−1)の性能がプロセッサ2(1−
7)の性能の2倍である場合について考え、まず、プロ
セッサ1でトランザクションキュー読み込み処理手段2
−4およびトランザクション実行管理手段2−3の初期
起動について説明する。なお、プロセッサ1とプロセッ
サ2の内部処理は同一のものであり、動作するプロセッ
サが異なっているだけである。また、各処理(処理手
段)は例えばオペレーティングシステムUNIX上で動
作する1つのプロセスとして実装されるものとする。
【0055】トランザクションキュー読み込み処理手段
2−4は、トランザクションキュー1−6を監視し、ト
ランザクションキュー1−6のデータ受信の検出あるい
はトランザクション実行管理手段2−3からのソケット
を経由したトランザクションの読み込み要求待ちでウェ
イトしている(図4のステップ4−1)。
【0056】トランザクション実行管理手段2−3は、
自プロセッサのプロセッサ名およびMips値を共有メ
モリ1−4のプロセッサ毎の性能情報(図9参照)のプ
ロセッサ名(図12の10−1)およびMips値(図
12の10−2)に書き込み(図5のステップ5−
1)、相手プロセッサの性能情報(図12参照)を読み
込み(図5のステップ5−2)、自プロセッサ内に、プ
ロセッサ名とその性能データを格納したプロセッサ管理
テーブル(図9参照)を作成し、トランザクションキュ
ー読み込み処理手段2−4あるいはトランザクション引
き継ぎ処理手段2−2からのソケット経由の通知待ちで
ウェイトしている(図5のステップ5−3)。
【0057】この状態で、トランザクションキュー1−
6に、図10(A)の8−1のようにトランザクション
がキューイングされ、プロセッサ1が当該トランザクシ
ョンを処理する場合を考える。
【0058】プロセッサ1のトランザクションキュー読
み込み処理手段2−4は、トランザクションキュー1−
6を監視しており、トランザクションの入力を検出し、
トランザクション実行管理手段2−3からの通知ではな
いことを判定し(図4のステップ4−2)、トランザク
ションデータの種別を読み込む(図4のステップ4−
3)。
【0059】図10(A)に示すトランザクションキュ
ー8−1から取り出されたキュー順位1のトランザクシ
ョン1の種別は「普通制御」であるため、トランザクシ
ョンデータの読み込みを行い(図4のステップ4−
7)、トランザクション実行管理手段2−3に読み込ん
だデータをソケット経由で通知する(図4のステップ4
−8)。
【0060】上記した処理により、トランザクションキ
ューは、図10(B)の8−2のように、トランザクシ
ョン2のみとなる。
【0061】トランザクション実行管理手段2−3は、
トランザクションキュー読み込み処理手段2−4からデ
ータを受け取ると、要求元を確認し(図5のステップ5
−4)、この場合、トランザクションキュー読み込み処
理手段2−4からの通知であるため、トランザクション
の種別を判定する(図5のステップ5−7)。
【0062】今、トランザクションキュー読み込み処理
手段2-4から普通制御トランザクション(図10
(A)の8−1)が通知されたため、図11のトランザ
クションAP管理テーブルを生成して(図5のステップ
5−9)、トランザクションAPを起動する(図5のス
テップ5−10)。
【0063】トランザクションAPの終了待ちのウェイ
ト中(図6のステップ5−12)に、トランザクション
APからコミットが発行されると(図6のステップ5−
16)、トランザクションAP管理テーブル(図11参
照)のコミット数をカウントアップし(図6のステップ
5−17)、再度トランザクション終了待ちでウェイト
する(図6のステップ5−12)。
【0064】その後、当該トランザクションAPの終了
をチェックしながら(図6のステップ5−11)、ウェ
イトする(図6のステップ5−12)。
【0065】トランザクションAPの終了を確認すると
(図6のステップ5−11)、実行したトランザクショ
ンIDに対応するコミット回数平均値をコミット回数統
計データベース(図3参照)から読み込み(図6のステ
ップ5−13)、トランザクションAP管理テーブル内
のコミット数とを用いて、コミット発行回数の平均値を
計算し(図6のステップ5−14)、計算結果を共有メ
モリ上にあるコミット回数統計データベース(図3参
照)の該当するトランザクションIDのエリアに書き出
すことでデータベースを更新する(図6のステップ5−
15)。
【0066】次に、プロセッサ2の処理を説明する。プ
ロセッサ2において、プロセッサ1と同様に、トランザ
クションキュー読み込み処理手段2−4は、トランザク
ションキューを監視し、トランザクションキューのデー
タ受信の検出あるいはトランザクション実行管理からの
ソケットを経由したトランザクションの読み込み要求待
ちでウェイトしている(図4のステップ4−1)。
【0067】プロセッサ2のトランザクション管理処理
手段におけるトランザクション実行管理手段2−3は、
自プロセッサのプロセッサ名およびMips値を、共有
メモリ1−4上に格納されるプロセッサ毎の性能情報
(図12参照)に書き込み(図5のステップ5−1、図
12の10−4参照)、相手プロセッサであるプロセッ
サ1の性能情報(図12の10−3)を読み込み(図5
のステップ5−2)、自プロセッサ内にプロセッサ管理
テーブル(図9参照)を作成し、トランザクションキュ
ー読み込み処理手段2−4あるいはトランザクション引
き継ぎ処理手段2−2からのソケット経由の通知を待ち
ウェイトしている(図5のステップ5−3)。
【0068】今、プロセッサ1がトランザクション1を
処理するトランザクションAPの終了待ちのウェイト中
(図6のステップ5−12)に、トランザクションキュ
ーに図10(C)の8−3のようにトランザクションが
キューイングされ、プロセッサ2が優先制御のトランザ
クションを検出した場合を考える。
【0069】プロセッサ2のトランザクションキュー読
み込み処理手段2−4は、トランザクションキュー1−
6を監視しており、トランザクションの入力を検出し、
トランザクション実行管理からの通知ではないことを判
定し(図4のステップ4−2)、トランザクションデー
タの種別を読み込む(図4のステップ4−3)。
【0070】読み込んだトランザクション種別を判定し
(図4のステップ4−4)、優先制御であるため、トラ
ンザクション実行管理手段2−3に読み込んだ種別をソ
ケット経由で通知する(図4のステップ4−5)。
【0071】プロセッサ2のトランザクション実行管理
手段2−3は、トランザクションキュー読み込み処理手
段2−4からトランザクションの種別を受け取ると、要
求元を確認し(図5のステップ5−4)、この場合、ト
ランザクションキュー読み込み処理手段2−4からの通
知であるため、トランザクションの種別を判定する(図
5のステップ5−7)。また、トランザクションキュー
読み込み処理手段から2−4優先制御トランザクション
(図10(C)の8−7)であることが通知されたた
め、プロセッサ管理テーブル(図9参照)の性能データ
を用いて自プロセッサとプロセッサ1の性能比較を行う
(図5のステップ5−8)。
【0072】性能比較の結果から、プロセッサ1の性能
の方がプロセッサ2よりもすぐれているため(Mips
値が2倍)、トランザクション引き継ぎ処理手段2−2
へ、ソケット経由で引き継ぎ指示を行う(図7のステッ
プ5−25)。
【0073】プロセッサ2のトランザクション引き継ぎ
処理手段2−2では、トランザクション実行管理処理手
段2−3からのソケット経由で引き継ぎ指示を受けたた
め(図8(A)のステップ6−1)、プロセッサ1との
間にソケットパスを開設し(図8(A)のステップ6−
2)、トランザクションの引き継ぎ要求を発行する(図
8(A)のステップ6−3)。
【0074】プロセッサ1のトランザクション引き継ぎ
処理手段では、相手プロセッサであるプロセッサ2から
のソケットパス開設要求を受け付けて(図8(B)のス
テップ6−6)、トランザクション引き継ぎ要求を受信
し(図8(B)のステップ6−7)、トランザクション
実行管理手段2−3に要求を通知する(図8(B)のス
テップ6−8)。
【0075】プロセッサ1のトランザクション実行管理
手段は、既に起動した普通制御のトランザクション1を
処理するトランザクションAPの終了待ちでウェイトし
ている(図6のステップ5−12)ところに、トランザ
クションの引き継ぎ要求を受信する(図6のステップ5
−18)ことになるので、既に蓄えられているコミット
回数統計データベース(図3参照)から実行中のトラン
ザクションIDに対応するコミット回数の平均値を読み
込む(図6のステップ5−19)。
【0076】読み込んだコミット回数平均と、トランザ
クションAP管理テーブル(図11参照)のコミット数
(すなわち今までトランザクション1の処理が発行した
コミット数)と比較し(図6のステップの5−20)、
トランザクション引き継ぎ条件、例えば、 (実行中トランザクションAPのコミット発行回数)>
(コミット統計データベース中の該当するトランザクシ
ョンIDのコミット平均値)/2、 に該当した場合(図6のステップ5−20の判定処理)
には、図11に示すトランザクションAP管理テーブル
で示されるトランザクションID9−1、ユーザデータ
エリア開始位置9−3からサイズ9−4分の中身と、オ
ペレーティングシステム(OS)が使用するトランザク
ションAPプロセスに関する管理情報をOSから取得
し、共有メモリ1−4上のトランザクション引き継ぎ情
報の該当する領域(図13の11−1,11−2,11
−3)に書き出す(図6のステップ5−21)。
【0077】その後、トランザクション引き継ぎ処理手
段2−2へ、共有メモリ1−4への引き継ぎ情報のセッ
トが完了したことを通知し(図6のステップ5−2
2)、トランザクションキュー読み込み処理手段2−4
には、トランザクションデータ読み込み指示を行う(図
6のステップ5−23)。
【0078】プロセッサ1のトランザクション引き継ぎ
処理は、引き継ぎ準備ができたことをトランザクション
実行管理処理からソケット経由で通知されると(図8
(B)のステップ6−9)、プロセッサ2のトランザク
ション引き継ぎ処理へ結果を通知する(図8(B)のス
テップ6−10)。
【0079】プロセッサ2のトランザクション引き継ぎ
処理手段2−2は、プロセッサ1から引き継ぎ結果を受
信し、トランザクション実行管理処理へ通知後(図8
(A)のステップ6−4)、プロセッサ1とのソケット
パスを閉塞する(図8(A)のステップ6−5)。
【0080】プロセッサ2のトランザクション実行管理
処理手段2−3では、引き継ぎ結果を判定し(図7のス
テップ5−26)、適(OK)ならば、共有メモリ1−
4から引き継ぎ情報(図13参照)を取得する(図7の
ステップ5−27)。
【0081】その後、プロセッサ1で実行していたトラ
ンザクションデータ1の処理を行うため、トランザクシ
ョンAP管理テーブル(図11参照)を引き継ぎ情報
(図13参照)から生成して(図5のステップ5−
9)、トランザクションAPを起動し(図5のステップ
5−10)、トランザクションAPの終了を待ち合わせ
て(図6のステップ5−12)、ウェイトする(図6の
ステップ5−13)。
【0082】また、引き継ぎ結果が不適(NG)の場合
は(図7のステップ5−26)、自プロセッサでトラン
ザクションデータ4(図10(C)参照)の処理を行う
ため、トランザクション読み込み処理手段2−4へデー
タ読み込みを指示し(図7のステップ5−28)、トラ
ンザクションAPの起動環境を生成し(図5のステップ
5−9)、トランザクションAPを起動して(図5のス
テップ5−10)、トランザクションデータ4の終了を
確認しながら(図6のステップ5−11)、ウェイトす
る(図6のステップ5−12)。
【0083】一方、プロセッサ1のトランザクション実
行管理処理手段2−3では、プロセッサ2へのトランザ
クション引き継ぎ情報セット完了を通知した後、トラン
ザクションキュー読み込み処理手段2−4へデータ読み
込みを指示し(図6のステップ5−23)、ウェイトす
る(図5のステップ5−12)。
【0084】トランザクション読み込み処理手段2−4
は、読み込み通知を受け(図4のステップ4−1)、ト
ランザクション実行管理処理手段2−3からの通知であ
ることから(図4のステップ4−2)、トランザクショ
ンキュー(図10(C)の8−3)から優先トランザク
ションデータ4を読み込み(図4のステップ4−7)ト
ランザクション実行管理処理にデータを渡す(図4のス
テップ4−8)。
【0085】トランザクション実行管理手段2−3は、
トランザクション読み込み処理からの通知を受け(図5
のステップ5−4)、優先制御トランザクションであり
(図5のステップ5−7)、自プロセッサ(プロセッサ
1)の性能が相手プロセッサ(プロセッサ2)よりも優
れている(図5のステップ5−8)ことから、図11に
示したトランザクションAP管理テーブルをAPの起動
環境として作成し(図5のステップ5−9)、トランザ
クションAPを起動する(図5のステップ5−10)。
その後、トランザクションAPの終了を確認(図6のス
テップ5−11)しながら、ウェイトする(図6のステ
ップ5−12)。
【0086】以上のようにして、プロセッサ1で普通制
御のトランザクションデータ1を実行途中に、プロセッ
サ2で優先制御トランザクションデータ4を検出した場
合には、プロセッサ1で優先制御トランザクションデー
タ4の処理を行い、プロセッサ1で実行していた普通制
御トランザクションデータ1をプロセッサ2で実行させ
ることが可能となる。
【0087】上記した本発明の実施の形態では、性能差
のあるパラレルシステムにおいて優先制御を実現するた
めコミット回数をキーとしたが、さらに各プロセッサの
CPU使用率、トランザクションAPの実行時間、応答
時間を用いてシステムの負荷情報を求め、優先制御の最
適化を行うことも可能である。
【0088】
【発明の効果】以上説明したように、本発明によれば、
性能の異なるプロセッサから構成されたパラレルトラン
ザクションシステムにおいて、優先制御トランザクショ
ンを処理する際に、コミット回数をキーに適切なプロセ
ッサを選択し、トランザクションを実行するトランザク
ションの優先制御を行い、適切な負荷分散処理を行うこ
とができる、という効果を奏する。
【図面の簡単な説明】
【図1】本発明の実施の形態に係るパラレルトランザク
ションシステムの構成を示す図である。
【図2】本発明の実施の形態におけるトランザクション
管理処理の構成を示す図である。
【図3】本発明の実施の形態を説明するための図であ
り、コミット回数統計データベースの内容を示す図であ
る。
【図4】本発明の実施の形態におけるトランザクション
読み込み処理の動作を説明するためのフローチャートで
ある。
【図5】本発明の実施の形態におけるトランザクション
実行管理処理の動作を説明するためのフローチャートで
ある。
【図6】本発明の実施の形態におけるトランザクション
実行管理処理の動作を説明するためのフローチャートで
ある。
【図7】本発明の実施の形態におけるトランザクション
実行管理処理の動作を説明するためのフローチャートで
ある。
【図8】本発明の一実施形態を示すトランザクション引
き継ぎ処理の動作を説明するためのフローチャートであ
る。
【図9】本発明の実施の形態を説明するための図であ
り、プロセッサ管理テーブルの一例を示す図である。
【図10】本発明の実施の形態を説明するための図であ
り、トランザクションキューの一例を示す図である。
【図11】本発明の実施の形態を説明するための図であ
り、トランザクションAP管理テーブルを示す図であ
る。
【図12】本発明の実施の形態を説明するための図であ
り、プロセッサ毎の性能情報を示す図である。
【図13】本発明の実施の形態を説明するための図であ
り、トランザクション引き継ぎ情報を示す図である。
【図14】従来技術の構成を示す図である。
【符号の説明】
1−1 プロセッサ1 1−2,1−9 トランザクションアプリケーションプ
ログラム 1−3,1−8 トランザクション管理処理 1−4 共有メモリ 1−5 コミット回数統計データベース 1−6 トランザクションキュー 1−7 プロセッサ2 1−13 プロセッサ毎の性能情報 1−14 トランザクション引き継ぎ情報 1−10 優先制御トランザクション 1−11,1−12 普通制御トランザクション 2−1 トランザクション管理処理 2−2 トランザクション引き継ぎ処理 2−3 トランザクション実行管理 2−4 トタンザクションキュー読み込み処理

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】性能が互いに異なる複数のプロセッサを含
    み、前記複数のプロセッサからアクセス可能なトランザ
    クションキューを備え、 前記トランザクションキューには優先制御および普通制
    御のトランザクションがキューイングされるパラレルト
    ランザクションプロセッサにおいて、 前記トランザクションキューから取り出されたトランザ
    クションが優先制御の対象であり、かつ、該取り出され
    たトランザクションを実行するプロセッサの性能が他の
    プロセッサの性能よりも低い場合、該性能が低いプロセ
    ッサから、性能が高いプロセッサに対して、前記優先制
    御トランザクションの処理要求を行い、 前記性能の高いプロセッサでは自プロセッサが実行中の
    トランザクションが発行するコミットの回数を用いて、
    前記優先制御トランザクションの引き取りの可否を決定
    し、前記優先制御トランザクションを引き継ぐ場合に
    は、自プロセッサで実行中のトランザクションの実行情
    報を共有メモリ経由で前記性能の低いプロセッサに引き
    継ぐ、 ことを特徴とする優先制御負荷分散方式。
  2. 【請求項2】前記プロセッサが、 前記トランザクションキューからトランザクションを読
    み込む手段と、 他のプロセッサと自プロセッサの間でのトランザクショ
    ンの引き継ぎを制御する手段と、 優先制御トランザクションの受信通知を受けた際に、自
    プロセッサの性能が相手プロセッサより低い場合には、
    前記トランザクション引き継ぎを制御する手段にトラン
    ザクションの引き継ぎを指示するトランザクション実行
    管理手段と、 を含むことを特徴とする請求項1記載の優先制御負荷分
    散方式。
  3. 【請求項3】前記トランザクション実行管理手段が、ト
    ランザクションの引き継ぎを制御する手段からのトラン
    ザクションの引き継ぎの通知を受けた際に、 自プロセッサにて実行中のトランザクションが発行する
    コミットの発生回数を取得し、該コミット発生回数が、
    所定のトランザクション引き継ぎ条件に適うか否かを判
    定し、該条件に適う場合には、相手プロセッサからの前
    記優先制御トランザクションの引き継ぎ決定することを
    特徴とする請求項1記載の優先制御負荷分散方式。
  4. 【請求項4】前記複数のプロセッサからアクセス可能な
    メモリ領域に、プロセッサの性能情報、トランザクショ
    ンの引き継ぎ情報、及びトランザクションの発行するコ
    ミット回数の統計情報を記憶格納されることを特徴とす
    る請求項1記載の優先制御負荷分散方式。
JP16863596A 1996-06-07 1996-06-07 非並行型パラレルトランザクションシステムにおける優先制御負荷分散方式 Expired - Fee Related JP2856154B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP16863596A JP2856154B2 (ja) 1996-06-07 1996-06-07 非並行型パラレルトランザクションシステムにおける優先制御負荷分散方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP16863596A JP2856154B2 (ja) 1996-06-07 1996-06-07 非並行型パラレルトランザクションシステムにおける優先制御負荷分散方式

Publications (2)

Publication Number Publication Date
JPH09330300A JPH09330300A (ja) 1997-12-22
JP2856154B2 true JP2856154B2 (ja) 1999-02-10

Family

ID=15871703

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16863596A Expired - Fee Related JP2856154B2 (ja) 1996-06-07 1996-06-07 非並行型パラレルトランザクションシステムにおける優先制御負荷分散方式

Country Status (1)

Country Link
JP (1) JP2856154B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7206950B2 (en) 2004-06-16 2007-04-17 Matsushita Electric Industrial Co., Ltd. Processor system, instruction sequence optimization device, and instruction sequence optimization program

Also Published As

Publication number Publication date
JPH09330300A (ja) 1997-12-22

Similar Documents

Publication Publication Date Title
JP3555846B2 (ja) スレッド・サーバのパフォーマンス強化方法および装置
JPH0477938B2 (ja)
US5062040A (en) Handling of notification of asynchronous events by user and stub processes of a distributed process executing on a plurality of processors of a multi-processor system
US6895585B2 (en) Method of mixed workload high performance scheduling
US7490324B2 (en) System and method for transferring data between virtual machines or other computer entities
JPH0830471A (ja) ジョブの実行プロセサ変更方式
US20030065709A1 (en) Dynamically determining whether to process requests synchronously or asynchronously
JPH0589061A (ja) バージヨンアツプ方法
CN104303149A (zh) 用于调度便携式计算设备中的请求的方法和系统
JP2856154B2 (ja) 非並行型パラレルトランザクションシステムにおける優先制御負荷分散方式
JPH08221372A (ja) 分散処理システムにおける空き資源管理装置
US9792419B2 (en) Starvationless kernel-aware distributed scheduling of software licenses
US7240043B2 (en) Method of controlling storage control apparatus, storage control apparatus, and computer readable program for controlling the same
JP2003271404A (ja) マルチプロセッサシステム
JP2004054562A (ja) ネットワークファイルシステム用入出力制御方法
WO2021002054A1 (ja) 計算機システム及びプログラム実行方法
JPH08235127A (ja) 自動負荷分散方法および装置
JP2003005987A (ja) エミュレーション装置
JP2000047986A (ja) トランザクション処理システム
JP2812274B2 (ja) 疎結合多重計算機システムにおけるトランザクション負荷分散システム
JPS603027A (ja) コンピユ−タ処理システムにおける資源管理方式
JPH11353197A (ja) 共有プール資源制御方式
JPH07168794A (ja) 計算機システムのジョブ管理方法
KR960006472B1 (ko) TICOM IOP 환경에서 FDDI펌웨어(firmware) 구동방법
JP3878881B2 (ja) 非同期エージェントシステム、該システムにおける資源利用方法、資源利用プログラム、および該プログラムを記録した記録媒体

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19981027

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071127

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081127

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees