JPH0773148A - 処理要求割り付け装置 - Google Patents

処理要求割り付け装置

Info

Publication number
JPH0773148A
JPH0773148A JP5220353A JP22035393A JPH0773148A JP H0773148 A JPH0773148 A JP H0773148A JP 5220353 A JP5220353 A JP 5220353A JP 22035393 A JP22035393 A JP 22035393A JP H0773148 A JPH0773148 A JP H0773148A
Authority
JP
Japan
Prior art keywords
processing request
execution
computer
processing
history information
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.)
Pending
Application number
JP5220353A
Other languages
English (en)
Inventor
Tatsunori Kanai
達徳 金井
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP5220353A priority Critical patent/JPH0773148A/ja
Publication of JPH0773148A publication Critical patent/JPH0773148A/ja
Priority to US08/859,724 priority patent/US5864679A/en
Priority to US09/030,397 priority patent/US6058267A/en
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)

Abstract

(57)【要約】 【目的】複数の計算機にデータを分散して処理する場合
に、処理要求をその実行に必要なデータの存在する計算
機に割り付けることが望ましい。本発明の装置は処理要
求に対して、その実行に適した計算機を自動的に判定し
て割り付ける。 【構成】過去に実行した処理要求に関して、その処理要
求の内容と実行した計算機および実行に要したコストを
記憶しておく。新しい処理要求が到着すると、その処理
要求に似た過去の処理要求を探し、各計算機でその処理
要求がどの程度のコストで実行できるかを予測する。こ
の情報を元に処理要求を実際に割り付けるべき計算機を
選択する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、複数の計算機で構成さ
れた情報処理システムにおける処理要求割り付け装置に
関する。
【0002】
【従来の技術】ユーザの処理要求を受け付ける端末装置
やクライアント計算機から発行された処理要求を受け付
けて実行する情報処理システムにおいて、同時に大量の
処理要求を実行するためには複数の計算機で分担して処
理要求の実行を行なう。このとき、処理の対象となるフ
ァイルやデータベースといったデータは複数の計算機に
分散して管理される。そのため、受け付けた処理要求
は、その実行に必要なデータの存在する計算機で実行す
ると、最も短い時間かつ最も低い負荷で実行することが
できる。その実行に必要なデータの無い計算機が処理要
求を受け付けた場合は、データを管理する別の計算機に
処理を転送したり、あるいはデータを管理する別の計算
機からデータを転送して来る必要があるため、実行に要
する時間や負荷が増大する。
【0003】大量の処理要求を複数の計算機で実行する
情報処理システム全体の処理能力を向上させるために
は、個々の処理要求を最適な計算機すなわち処理要求の
実行に必要なデータをより低いコストでアクセスできる
計算機に割り付けることが必要となる。
【0004】しかし、従来は、個々の処理要求の内容に
関わらず、あらかじめ定められた順序あるいは任意の順
序で処理要求を複数の計算機に割り付けて行くのみであ
ったため、システムの持つ能力を有効に発揮させること
ができなかった。
【0005】
【発明が解決しようとする課題】本発明はこのような事
情に鑑みてなされたもので、システムの持つ能力を有効
に発揮させることができる処理要求割り付けを自動的に
行う装置を提供することを目的とする。また、保守や障
害や構成変更などによって、システムを構成する計算機
の数やデータの配置などを変更する場合にも、対応でき
るようにする。さらに、個々の処理要求をその実行に適
した計算機に割り付けるだけでなく、その割り付け状況
に偏りがある場合、すなわち特定の計算機に処理要求が
集中するような場合を少なくするよう、割り付け手続き
に各計算機の動的な負荷の分散状態を反映させるように
する。
【0006】
【課題を解決するための手段】本発明に係る処理要求割
り付け装置は、個々の処理要求からその処理内容を特徴
付ける特徴パラメタを抽出する手段と、過去の処理要求
の特徴パラメタとその実行に要したコストおよび実行を
行なった計算機名からなる実行履歴情報を記憶する手段
と、個々の処理要求に対してそれを実行するのに最適な
計算機を実行履歴情報を用いて選択する手段を備えるこ
とを特徴とする。
【0007】
【作用】本発明では、処理要求割り付け装置の持つ実行
履歴情報記憶手段には、過去に実行した処理要求の特徴
パラメタに関するデータと、その処理要求を実行した計
算機を識別するデータ、およびその処理に要したコスト
が記録されている。新しい処理要求を受け取った処理要
求割り付け装置は、その処理要求を実行する最適な計算
機を予測するために、まず、その処理要求の特徴パラメ
タを取り出す。次に、その処理要求を実行可能な計算機
毎に、過去にその計算機で実行した処理要求の実行履歴
情報の特徴パラメタと新しい処理要求の特徴パラメタと
を比較する。新しい処理要求の特徴パラメタの値に近い
特徴パラメタを持つ実行履歴情報のコストが、新しい処
理要求をその計算機で実行した場合に必要なコストの予
測値となる。こうして各計算機に対してコストの予測値
を求め、その値が最も小さな計算機が、新しい処理要求
を最も低いコストで実行できる計算機と判断することが
でき、その計算機に該当する処理要求を割り当てる。処
理要求の持つ特徴パラメタの値と、その処理要求を実行
する最適な処理要求実行計算機の間に、何らかの相関関
係があるならば、この方式によって最適な処理要求実行
計算機を見つけ出すことができる。
【0008】
【実施例】以下、本発明の一実施例につき図面を参照し
ながら説明する。本実施例の処理要求割り付け装置の構
成例を図1に示す。別の構成例を図2に示す。
【0009】処理要求割り付け装置1または11は1つ
以上の計算機2−1〜2−nが発生した処理要求を受け
取り、その処理要求を実行可能な1つ以上の計算機10
−1〜10−mの中から実行に最適な計算機を選択し、
受け取った処理要求を選択した計算機に転送する。
【0010】図3に示すように、処理要求を発生する1
つ以上の処理要求発生元計算機は、交換機やチャネル、
ネットワークなどの結合路14によって処理要求割り付
け装置1または11に結合され、処理要求を実行する処
理要求実行計算機も結合路14によって処理要求割り付
け装置に結合される。処理要求発生元計算機は、何らか
の処理要求を発生するものであれば現金自動支払機など
各種の端末装置でも構わない。
【0011】図4に示すように複数の処理要求割り付け
装置1−1〜1−lを用いることによって、処理要求の
割り付け処理を分担し、同時に多数の処理要求割り付け
処理を可能にすることも出来る。この構成では、いずれ
かの処理要求割り付け装置が故障した場合に他の処理要
求割り付け装置を用いることが出来るので、障害に強い
システムを構築することが出来る。また、図5のように
複数の処理要求割り付け装置を用いて、それぞれの処理
要求割り付け装置毎に担当の処理要求発生元計算機を割
り当てる構成も可能である。
【0012】処理要求割り付け装置は図3のように独立
した装置として構成する以外にも、図6に示すように、
計算機15の持つ1つの機能として処理要求割り付け装
置1または11の機能をソフトウェアあるいはハードウ
ェアで実現して持たせる構成も可能である。
【0013】処理要求発生元計算機と処理要求割り付け
装置を結合する結合路と、処理要求割り付け装置と処理
要求実行計算機を結合する結合路は、図3や図6のよう
に独立している必要はなく、図7(a)に示すように同
一の結合路を利用しても構わない。また、図7(b)に
示すように、同一の結合路上にある計算機の持つ機能と
して処理要求割り付け装置の機能を実現することも出来
る。
【0014】処理要求割り付け装置1または11の機能
を計算機の持つ機能として実現する場合、処理要求発生
元計算機2あるいは処理要求実行計算機10がその機能
を持つように、以下のように実施することも可能であ
る。
【0015】図8(a)は各処理要求発生元計算機が処
理要求割り付け装置の機能を持つように実現した例であ
る。各処理要求発生元計算機は、その計算機の持つ処理
要求割り付け装置によって選択した処理要求実行計算機
に直接処理要求を送る。図8(a)はすべての処理要求
発生元計算機が処理要求割り付け装置の機能を持つ場合
であるが、図8(b)のようにひとつあるいはいくつか
の処理要求発生元計算機が処理要求割り付け装置を持つ
構成も可能である。この場合、処理要求割り付け装置を
持たない処理要求発生元計算機2−2〜2−nは、処理
要求割り付け装置を持つ処理要求発生元計算機2−1に
処理要求を送る。
【0016】図9(a)は各処理要求実行計算機が処理
要求割り付け装置の機能を持つように実現した例であ
る。各処理要求発生元計算機は任意の処理要求実行計算
機に処理要求を送る。処理要求を受け取った処理要求実
行計算機は、まず処理要求を処理要求割り付け装置に送
り、処理を実行する計算機を決定する。処理要求割り付
け装置によって決定された計算機が他の計算機であれ
ば、その計算機に処理を転送し、そうでなければその処
理を実行する。図9(b)のようにひとつあるいはいく
つかの処理要求実行計算機が処理要求割り付け装置を持
つ構成も可能である。この場合、処理要求発生元計算機
は処理要求割り付け装置を持つ処理要求実行計算機10
−1に処理要求を送る。
【0017】処理要求割り付け装置1または11によっ
て各処理要求実行計算機に割り付けられた処理要求を実
行する方式の例を図10に示す。各処理要求実行計算機
は、処理要求を実行するアプリケーション・プログラム
(要求処理部)16と、アプリケーション・プログラム
の実行に必要なデータを管理するデータ・マネージャ
(データ管理部)17、および実際にデータを記憶して
いるディスク装置などの記憶装置18を持つ。図10の
例では、処理要求を受け取って実行を開始したアプリケ
ーション・プログラム16は、その実行に必要なデータ
の読み書きをデータ・マネージャ17に依頼する。デー
タの読み書きを依頼されたデータ・マネージャは、対象
となるデータが自計算機の記憶装置18中にあれば直接
データの読み書きをするが、他の計算機の記憶装置にあ
るデータの場合はその計算機のデータ・マネージャにデ
ータの読み書きを依頼する。そのため、アプリケーショ
ン・プログラムはデータの存在する計算機を意識する必
要はないが、他の計算機上のデータの読み書きを行う場
合は自計算機のデータの読み書き比べて時間がかかる等
のオーバヘッドが存在する。
【0018】図11は処理要求を実行する別の方式を示
している。この例では、処理要求を受け取って実行を開
始したアプリケーション・プログラム19は、その実行
に必要なデータの読み書きを、対象となるデータがその
記憶装置に存在する計算機上のデータ・マネージャ20
に依頼する。他の計算機上のデータの読み書きを行うた
めのオーバヘッドが存在する点は図10の例と同じであ
るが、この方式はデータの存在する計算機をアプリケー
ション・プログラムが意識しなくてはならない。
【0019】図12は処理要求を実行するまた別の方式
を示している。この例では、処理要求を受け取ったアプ
リケーション・プログラム21は、その処理要求を自計
算機で実行すべきか、他の計算機で実行すべきかを判断
する。他の計算機で実行すべきと判断した場合は、その
計算機に対して処理要求を転送する。自計算機で実行す
べきと判断した場合は実行を開始する。実行に必要なデ
ータの読み書きはデータ・マネージャ22に依頼する
が、他の計算機上のデータの読み書きに関しては、図1
0の例のようにデータ・マネージャがデータの存在する
計算機のデータ・マネージャに処理を依頼する方式や、
図11の例のようにアプリケーション・プログラムが他
の計算機上のデータ・マネージャに直接処理を依頼する
方式などを用いることが出来る。
【0020】図13は処理要求を実行するさらに別の方
式を示している。この例では、処理要求を受け取ったア
プリケーション・プログラム23は、その処理要求を自
計算機で実行すべきか否かを判断する。自計算機で実行
すべきでないと判断した場合は、その処理要求を実行で
きないことを処理要求割り付け装置に知らせる。この通
知を受けた処理要求割り付け装置は、当該計算機ではそ
の処理要求を実行できないことを実行履歴情報に記憶す
るとともに、当該計算機での実行コストは無限に大きい
と解釈し、他の適当な計算機を選択して新たに処理を割
り付ける。自計算機で実行すべきと判断した場合は実行
を開始する。実行に必要なデータの読み書きはデータ・
マネージャ24に依頼するが、他の計算機上のデータの
読み書きに関しては、図10の例のようにデータ・マネ
ージャがデータの存在する計算機のデータ・マネージャ
に処理を依頼する方式や、図11の例のようにアプリケ
ーション・プログラムが他の計算機上のデータ・マネー
ジャに直接処理を依頼する方式などを用いることが出来
る。
【0021】処理要求割り付け装置の構成例を図1に従
って説明する。処理要求発生元計算機2から送られて来
た処理要求は、処理要求受信部3によって受け取られ
る。処理要求受信部3は受信した処理要求を処理要求送
信部6と特徴パラメタ抽出部4に渡す。特徴パラメタ抽
出部4は渡された処理要求から特徴パラメタを抽出し、
それを実行計算機選択部5に渡すと共に、そのデータを
実行履歴情報記憶部8に渡して該当処理要求の特徴パラ
メタとして記録しておく。実行計算機選択部5は、特徴
パラメタ抽出部4から渡された特徴パラメタの値と、実
行履歴情報記憶部8に記録している過去の実行履歴情報
を比較することによって、該当処理要求を実行する最適
な計算機を選択する。選択した計算機を処理要求送信部
6に伝えると共に、実行履歴情報記憶部8に知らせて該
当処理要求を実行した計算機として記録しておく。処理
要求送信部6は、処理要求受信部3から渡された処理要
求を、実行計算機選択部5から知らされた計算機に対し
て送信することによって、処理要求の割り付け処理を完
了する。実行履歴情報管理部7は、実行履歴情報記憶部
8に記録している実行履歴情報の管理を行い、定められ
た時間あるいは処理回数を越える古い実行履歴情報の消
去等を行う。処理要求を受け取った処理要求を実行計算
機10は、その処理要求を実行すると共に、その実行に
要したコストを処理要求割り付け装置の実行コスト検出
部9に伝える。実行コスト検出部9は、受け取った実行
コストを実行履歴情報記憶部8に伝えることによって、
該当する処理要求の処理要求実行履歴情報に実行コスト
を記録する。処理要求実行計算機10は処理要求の実行
結果を処理要求発生元計算機2に伝える必要がある場合
は、適当な通信手段を用いて直接処理要求発生元計算機
に伝える。
【0022】処理要求割り付け装置11の別の構成例を
図2に従って説明する。図2の構成例は、処理要求を処
理要求実行計算機に伝えるまでは図1の構成例と同じで
ある。処理要求を受け取った処理要求実行計算機10は
その処理を実行するが、図1の構成例とは違って、その
実行に要したコストを陽に処理要求割り付け装置に知ら
せることはしない。処理要求実行計算機10は、処理要
求を実行した処理結果を処理要求割り付け装置11に送
り返す。この処理結果は処理要求割り付け装置の処理結
果受信12が受信して処理結果送信部13に伝えると共
に、処理結果を受信したことを実行コスト検出部9に伝
える。処理結果を受け取った処理結果送信部13は、該
当する処理要求を発生した処理要求発生元計算機2に処
理結果を送り返す。処理結果を受信したことを知らされ
た実行コスト検出部9は、該当する処理要求の実行に要
したコストを求め、その実行コストを実行履歴情報記憶
部8に伝えることによって、該当する処理要求の処理要
求実行履歴情報に実行コストを記憶する。実行コストを
求める手段としては、処理要求を受け取った時間とその
処理要求に対応する処理結果を受け取った時間の差を実
行に必要なコストとする方式や、該当する処理要求の実
行を追い抜いて実行を完了した処理要求の数を実行コス
トとする方式などを用いることが出来る。
【0023】図1および図2に示した構成例では、図1
4(a)に示すように受信した処理要求から取りだした
特徴パラメタを実行履歴情報記憶部8に記録し、実行計
算機選択部5は実行履歴情報記憶部に記録した過去の実
行履歴の特徴パラメタを基に実行計算機の選択を行って
いる。これに対して、実行履歴情報記憶部8には特徴パ
ラメタではなく処理要求そのものを記録しておくことも
できる。この場合、図14(b)に示すように処理要求
受信部3が受信した処理要求をそのまま実行履歴情報記
憶部8に記録し、実行計算機選択部5が過去の処理要求
実行履歴情報の特徴パラメタを見る場合は特徴パラメタ
抽出部4を通して再度特徴パラメタを抽出する。図15
に示す処理要求割り付け装置の構成例は、図1の処理要
求割り付け装置の構成を、処理要求をそのまま実行履歴
情報記憶部8に記録するように変更したものである。ま
た、図16に示す処理要求割り付け装置の構成例は、図
2の処理要求割り付け装置の構成を、処理要求をそのま
ま実行履歴情報記憶部8に記録するように変更したもの
である。
【0024】以下には、処理要求割り付け装置の一実施
例の動作原理を説明する。本発明の処理要求割り付け装
置では、処理要求割り付け装置が新しい処理要求を受け
取ると、まずその特徴パラメタを抽出する。処理要求の
特徴パラメタは一つの処理要求に対して一つではなく、
一般に複数個の値の組である。
【0025】次に、新しい処理要求の特徴パラメタと、
記憶している過去の処理要求の実行履歴情報の持つ特徴
パラメタとを比較し、各計算機毎かつ各特徴パラメタ毎
に、新しい処理要求の特徴パラメタと最も近い特徴パラ
メタの値を持つ実行履歴情報を選び出す。
【0026】すなわち、該当する処理要求を実行可能な
計算機がM台であり、特徴パラメタがN個の値の組から
なるとき、新しい処理要求の特徴パラメタをX[n]
(0≦n<N)すると、M×N個の実行履歴情報H
[m,n](0≦m<M、0≦n<N)を次の条件を満
たすように選び出す。
【0027】
【数1】 ここで、Aは現在記憶している全ての実行履歴情報の集
合を、H[m,n][p]は実行履歴情報H[m,n]
の持つ特徴パラメタの値の組のp番目の値を、node
(F)は実行履歴情報Fに記録された処理要求の実行さ
れた計算機の番号を意味する。
【0028】こうして選び出したM×N個の実行履歴情
報H[m,n]の中から、まず、各特徴パラメタ毎に処
理要求を実行する候補となる計算機P[n](0≦n<
N)を次の条件を満たすように選択する。ここでcost
(F)は、実行履歴情報Fに記録された処理要求の実行
に要したコストを意味する。
【0029】
【数2】 つまり実行履歴情報H[m,n]の中から、各特徴パラ
メタ毎に、コストの最も小さな実行履歴情報を選び、そ
の実行履歴情報に対応する処理要求を実行した計算機
を、各特徴パラメタの実行候補計算機P[n]とする。
ここで、実行候補として選ばれた実行履歴情報H[P
[n],n]の持つ実行に要するコストが、同じ特徴パ
ラメタを持つ他の実行履歴情報の持つ実行コストに比べ
て特に小さくなっている場合は、その実行履歴情報を実
行候補として選んで問題無い。しかし、H[P[n],
n]の持つ実行に要するコストが他の実行履歴情報の持
つコストと比べて有意な差が見られない場合、言い替え
れば、特にコストの小さな実行履歴情報がない場合に
は、単に最小のコストを持つ実行履歴情報を選んでも、
それが実際に最適な実行候補である可能性は小さい。そ
こで、そのような可能性が少い実行履歴情報を実行候補
計算機から外すために、たとえば次のような条件を満た
さない実行候補計算機P[n]は、実行候補計算機から
外す。
【0030】
【数3】 つまり、同じ特徴パラメタを持つ実行履歴情報H[m,
n]の持つコストの平均値が、実行候補となった実行履
歴情報H[P[n],n]の持つコストと比べて、定め
られた値T倍以上大きな場合は有意な差があると考え、
無い場合は実行候補計算機から外す。Tは例えば1.1
というような値を持つ。アルゴリズム上は、実行候補計
算機がない場合は、P[n]の値は−1のような計算機
番号としては有効でない値を入れておく。
【0031】こうして選ばれたN個の実行候補計算機P
[N]から、実際に実行する計算機を選び出す。このと
き、各特徴パラメタの重み情報W[N]を用いる。W
[N]の各要素W[k]は、それぞれ処理要求のk番の
特徴パラメタの値と、その処理要求を実行する計算機番
号との相関の強さを表す。P[N]とW[N]の対応す
る要素を、W[N]の値の大きなものから順に並べたも
のをPP[N]とWW[N]とすると、PP[N]とW
W[N]から実際に実行する計算機を選び出す手続きを
C言語で記述すると次のようになる。
【0032】
【数4】 ここで、random()は0から1の間の実数値をとる乱数
を発生する関数であるとする。実行する計算機の番号を
代入する変数をpickednodeとして、初期値はどの計算機
番号でもない−1を入れておく。重みの大きな候補から
順に、乱数を発生させてその値が重みより小さいならば
その計算機を選択し、そうでない場合は次に重みの大き
な候補について同様に選択を続ける。最後まで候補が決
まらない場合は、適当な方法で実行する計算機を選択す
る。ここで示した手続きの例では、乱数でM台の計算機
の中のひとつを選んでいる。
【0033】以下には、本発明をリモート・プロシージ
ャ・コール(RPC)による処理要求の割り付け装置に
適用した場合の一実施例を述べる。図17に処理要求割
付装置の構成を示す。図17の構成は、図16の構成に
対して処理要求表(記憶部)26と処理要求表管理部2
5がつけ加わったものである。図16の処理要求割付装
置は、単一の種類の処理要求の割り付けを行う場合の構
成であり、これを複数の種類の処理要求を扱えるように
したのが図17の構成である。
【0034】処理要求受信部3は、処理要求発生元計算
機2から結合路14を通して伝えられる処理要求パケッ
トを受け取る。例えば結合路としてイーサネットを用い
る場合には、UDPプロトコルの特定ポートに到着する
パケットを受信する。パケットは図18(a)に示すよ
うなバイト列の構造を持つデータであるが、RPCの処
理要求パケットはこのバイト列をたとえば図18(b)
に示すような構造を持つデータと解釈する。すなわち、
パケットの先頭には処理要求の種別を示すデータが入っ
ている。図18(b)の例は、proc1と呼ぶ処理の種別
であることを示している。実際にはproc1に対応する一
意の識別番号が、パケットの先頭の4バイトを占める数
値として記録される。その後には、処理要求に付随する
引数が必要な個数並ぶ。図18(b)の例では、x,
y,zで表している3つの4バイト長のデータが並んで
いる。RPCのパケットの構造は、ここで示したもの以
外にも多くの構造があるが、本発明の方式はどのような
構造のパケットにも適用可能である。
【0035】RPCのパケットのどの部分に要求の種別
が入っているかは固定であるので、パケットを受信した
処理要求受信部3はそのパケットから要求の種別を取り
出すことができ、それを処理要求表26に伝える。ここ
で、処理要求受信部は複数のポートに到着する処理要求
パケットを受信するように構成することも可能である。
この場合、各ポート毎にそのポートに到着する処理要求
に関する情報を記録した処理要求表を作成しておき、処
理要求受信部はパケットを受信すると、それを受信した
ポートに対応する処理要求表に要求の種別を伝えるよう
な構成も可能である。
【0036】処理要求表26は図19に示すように、要
求の種別、引数情報、重み情報、実行計算機情報、実行
履歴情報ポインタの5種類の情報の対応関係を記録する
表である。
【0037】要求の種別は、各処理要求のパケットの先
頭の要求の種別を示す値である。図19の例ではproc1
やproc2がこれに当たるが、実際にはproc1やproc2に
対応する数値が記録される。引数情報は、要求の種別毎
にその引数のデータ型を記録している。例えば図19の
例では、proc1の引数は3つあり、そのデータ型は順に
int (整数型)、string(文字列型)、float (浮動小
数点型)であることを示している。実際にはそれぞれin
t ,string,float に対応するように割り当てられた数
値の配列として実現する。
【0038】図19の例に示されている引数情報はint
やfloat のような構造を持たない型のみであるが、図2
0(a)に示すような構造体の場合には、図20(b)
に示すように構造体でることを示す数値(図ではstruct
と記述している)、構造体のメンバの数(図の例では
2)、メンバのデータ型に対応する数値(図の例ではin
t 、charと記述している)の組として表現する。図20
(c)に示すような配列の場合は、図20(d)に示す
ように配列であることを示す数値(図ではarrayと記述
している)、要素数を示す数値(図の例では10)、要
素のデータ型に対応する数値(図ではint と記述してい
る)の組として表現する。構造体や配列はその構成要素
が構造体や配列であっても構わない。
【0039】多くのRPCシステムでは、図20(e)
に示すようなインタフェース記述から実際に通信に用い
るパケットの形式を決定する。この処理は通常RPCコ
ンパイラと呼ぶプログラムによって行われる。RPCコ
ンパイラは図21に示すようにRPCのインタフェース
記述を入力とし、そのインタフェース記述に対応するパ
ケット形式で処理要求を送信するためのクライアントス
タブと、それを受信するためのサーバスタブ、およびク
ライアントとサーバで共通に使われる情報を記述したヘ
ッダファイルを出力する。ONC RPCではrpcgen、
DCE RPCではidl と呼ぶプログラムが、ここで言
うRPCコンパイラに相当する。
【0040】本実施例では図21に示すように、RPC
コンパイラは、上記の他にパケット情報も出力する。パ
ケット情報は図22に示すように、処理要求表の要求の
種別の引数情報に登録すべきデータから構成される。す
なわち、図20(e)のようにインタフェース記述が与
えられた場合は、要求の種別としてはproc1、引数情報
としてはint ,string,float の組が生成される。先に
も述べたように、実際はproc1,int ,string,float
それぞれに対して一意に識別できるような数値が割り当
てられている。図17の構成図において、処理要求表管
理部25がパケット情報を読み込んで、その中の要求の
種別と引数情報を処理要求表26に登録する。
【0041】図19の処理要求表の重み情報は、要求の
種別が持つ各引数の重みを示す数値である。処理要求を
割り付けるべき処理要求実行計算機を予測する場合に、
どの特徴パラメタに注目すべきかを示している。重みの
情報は特徴パラメタの各要素と1対1に対応する要素を
持つ配列である。図19のproc1の例で引数は3つであ
るが重み情報は4要素のベクトルであるのは、特徴パラ
メタはすべての引数に加えて、その中の一部の引数のビ
ット位置を変更した数値をも含むためである。ここでは
整数型の引数に関してはそのビット位置を変更した物も
特徴パラメタに加えているため、重み情報は4要素のベ
クトルになっている。RPCパケットから特徴パラメタ
を取り出す方式、ビット位置変更の方式、およびどの特
徴パラメタに関してビット位置変換を行った特徴パラメ
タを生成するかに関しては後で述べる。
【0042】図19の処理要求表の実行計算機情報は、
要求の種別毎にそれを実行可能な処理要求実行計算機を
列挙した物であり、実際には処理要求の転送に必要な計
算機のネットワークアドレスやその計算機上でのポート
番号といった情報を持つ。例えば図19のproc1の1番
目の実行計算機情報は、計算機のネットワークアドレス
が62.31で、ポート番号が70であることを示して
いる。
【0043】図19の処理要求表26の実行履歴情報ポ
インタは、実行履歴情報記憶部8に記憶されている実行
履歴情報で各要求の種別に属するもののグループを指し
示している。実行履歴情報は図23に示すように、処理
要求の内容、その処理要求を実行した計算機の番号、そ
の実行に要したコスト(例えばここでは実行に要した時
間)、処理結果を送り返すのに必要なその処理要求の発
生元計算機の情報(例えばここではネットワークアドレ
スとポート番号)からなる。処理要求をそのまま記録す
るのではなく、その処理要求から取り出した特徴パラメ
タ、あるいはその特徴パラメタのうち実行計算機の予測
に用いる重みの大きなもののみを取り出したものでも構
わない。
【0044】図24に処理要求表を中心とした情報の流
れを示す。この図24は図17中で処理要求実行計算機
の決定に必要な部分を抜き出し、その中のモジュール間
で受け渡す情報を示したものである。以下、図17と図
24を参照しながら本実施例の動作を説明する。
【0045】処理要求表26の中に記録される情報は、
図21に示すようにRPCコンパイラがパケット情報と
して生成する。このパケット情報はファイル等の形態で
生成され、処理要求割り付け装置の処理要求表管理部2
5によって読み込まれ、処理要求表26に登録される。
このとき処理要求表26の重み情報の初期値は、プログ
ラマやシステム管理者が与えても構わないし、あるいは
全ての要素を一定の初期値(例えば0.9)にしても構
わない。実行計算機情報は、プログラマやシステム管理
者が与えても構わないし、あるいはネームサーバ等によ
ってその要求を実行できる計算機を調べて登録するよう
な実施方法もある。また、各処理要求実行計算機10が
自分の実行できる要求の種別を処理要求割り付け装置に
知らせ、その情報を基に処理要求表26に記入するよう
な実施方法も可能である。処理要求表26の実行履歴情
報ポインタの初期値は、実行履歴情報記憶部8に該当す
る要求の種別の実行履歴情報が残っている場合はそれを
指すように、残っていない場合は空の実行履歴情報の集
合を指すようにする。
【0046】処理要求受信部3が処理要求発生元計算機
2から処理要求のRPCパケットを受信すると、その処
理要求パケットを次段の第1の特徴パラメタ抽出部28
と処理要求送信部6に渡す。また、処理要求とその発生
元計算機を、新しい実行履歴情報として実行履歴情報記
憶部8に登録する。さらに、受信した処理要求パケット
の先頭にある処理要求の種別を示す情報を取り出し、こ
れを処理要求表26に渡す。
【0047】処理要求表26は、処理要求受信部3から
受け取った要求の種別をキーとして処理要求表を引き、
その結果得られる引数情報を2つある特徴パラメタ抽出
部に、重み情報を実行計算機選択部5に、実行計算機情
報を処理要求送信部6に、実行履歴情報ポインタを実行
履歴情報記憶部8にそれぞれ渡す。
【0048】処理要求パケットと引数情報をそれぞれ処
理要求受信部3と処理要求表26から付け取った第1の
特徴パラメタ抽出部28は、受け取った処理要求の特徴
パラメタを抽出し、実行計算機選択部5に渡す。
【0049】処理要求パケットは図25に示すようなバ
イト列である。その先頭には要求の種別を示すデータが
ある。例えば先頭の1ワード(4バイト)が要求の種別
を示すとすると、図25の例では10進数に直して37
2(16進数で174)が要求の種別を表す値である。
ここでは372はproc1を表すものとする。要求の種別
を示すデータの後には、その要求に付随する複数の引数
が続く。proc1の場合、処理要求表の引数情報にも書か
れているように、第1引数は整数型(int )、第2引数
は文字列型(string)、第3引数は実数型(float )で
ある。各データ型のネットワークパケット上での表現方
式は各種のものがあり、本発明はどのように表現方式に
も適用できる。ここでは、整数および実数は4バイトの
データとして表現され、文字列は4バイトの整数によっ
て表された文字列長と、その後に続く1バイトで表現さ
れた文字の並びからなるものとする。例えば図25の例
では、第1引数は整数値6700、第2引数は文字列
“abcdefg ”、第3引数は実数値12.5である。
【0050】特徴パラメタ抽出部のもう一つの入力デー
タである引数情報は、要求の種別毎にその各引数の型を
示す情報を並べたものである。この引数情報は、処理要
求のデータ構造の情報の一例であり、この情報を参照し
て処理要求から基本データ単位を取り出して、この各基
本データ単位を特徴パラメタとする。例えば図26に示
すように、整数型は1、実数型は2、文字列型は3とい
うように符号化しておくと、proc1の引数情報は1,
3,2の3つの値を持つベクトル(あるいは配列)にな
る。
【0051】以上の2種類の情報を受け取った特徴パラ
メタ抽出部は、図27に示すように動作して特徴パラメ
タを抽出し、実行計算機選択部5に渡す。すなわち特徴
パラメタ抽出部は処理要求パケットの引数部(図27で
はP)と引数情報(図27ではT)を入力とし、引数情
報の各要素に対応する処理要求パケットの引数部を順に
切り出し、それに対する特徴パラメタの値を順次出力し
て行く。例えば引数情報に記述された引数のデータ型が
整数型(図27の例では1)の場合は、処理要求パケッ
トの引数部から4バイトのデータを切り出し、それを1
ワードの整数値としてそのまま特徴パラメータの値とし
て出力する。図27の例には出てこないが、文字型や列
挙型にも同様に必要なバイト数のデータを切り出し、そ
れを整数値として読み、その値を特徴パラメタとして出
力する。実数型(図27の例では2)の場合も同様に4
バイトのデータを切り出し、それを単精度の実数値とし
て解釈し、その値を特徴パラメタとして出力する。倍精
度等の場合も同様である。
【0052】文字列型(図27の例では3)の場合はい
くつかの実施方式を用いることが出来る。図27の例で
は文字列の先頭の4バイト(4バイトに満たない場合は
0や空白文字等を補う)を1ワードの整数値として読
み、その値を特徴パラメタとして出力する。このよう
に、あらかじめ決められた長さの文字列に切揃えて、そ
れを数値として読み変えて特徴パラメタにすることがで
きる。文字列の切揃え方には、先頭の一定長の文字列を
切り出す方法、最後の一定長の文字列を切り出す方法、
先頭の一定長と最後の一定長を切り出して繋げたものを
用いる方法がある。また、このようにして切り出した文
字列だけでなく、文字列の長さも特徴パラメタとして加
える方式もある。文字列を数値化するのではなく、その
まま特徴パラメタとして実行計算機選択部5に渡し、実
行計算機選択部は文字列を辞書式順序で比較することに
よって実行計算機の選択を行う方式もある。
【0053】引数情報に記述されるデータ型には、図2
7の例には出てこないが、配列や構造体のような複合型
のデータも存在する。固定長の配列の場合には、そのす
べて要素の特徴パラメタを取り出し、それらを配列の特
徴パラメタにするのが最も簡単な実施方法である。固定
長あるいは可変長の配列の場合、文字列型の場合のよう
に、先頭の一定個数、あるいは最後の一定個数、あるい
は先頭の一定個数と最後の一定個数の合わせたものを特
徴パラメタにする方式もある。また可変長の配列の場合
には、配列の大きさを特徴パラメタに加えることも出来
る。
【0054】構造体の場合は、それを構成するそれぞれ
の要素の特徴パラメタを順次取り出して、それらを構造
体の特徴パラメタとする。構造体の配列や文字列の配列
のように組み合わせた場合も同様の手順で特徴パラメタ
を抽出することが出来る。
【0055】本実施例では、特徴パラメタの内、いくつ
かのものについては、その値のビット位置を入れ換えた
値も特徴パラメタに加える。ビット位置を入れ換えたも
のを特徴パラメタに加えることによって、例えば引数の
上位のビットの値と、その処理要求の実行に適した計算
機の間に相関関係がある場合は、同じ計算機で実行する
のが望ましい処理要求の特徴パラメタの値が近くなるよ
うにでき、実行計算機選択部5の判断能力を強化するこ
とが出来る。また、実行計算機と相関関係のある引数の
特徴パラメタのビット位置を入れ換えたものは、実行計
算機との相関関係が無いランダムな特徴パラメタとな
る。逆に、ビット位置を入れ換えたものが実行計算機と
相関関係がある場合は、ビット位置を入れ換える前の特
徴パラメタは実行計算機との相関関係が無いランダムな
特徴パラメタとなる。そのため、各特徴パラメタの値と
実行計算機の間の相関関係を比べる際の基準となるラン
ダムな成分が必ず特徴パラメタの中に存在することにな
る。このようなランダムな成分が存在することによっ
て、すべての特徴パラメタと実行計算機の相関関係が同
程度で、すべての特徴パラメタが実行計算機と一様に相
関関係があるのか、あるいは一様に相関関係が無いのか
判断がつかない状況を無くすことが出来る。
【0056】ビット位置の入れ換え方には各種の方式が
あり、本発明はどのような入れ換え方をも適用できる。
ビット位置の入れ換え方として有用な方式の例は、図2
8に示すようにビット位置を反転(ビットリバース)す
る方式である。すなわち、特徴パラメタの上位のビット
と下位のビットを反転し、その結果得られたビット列を
数値として読みかえたものを特徴パラメタの値とする。
【0057】ビット位置を変換したものを特徴パラメタ
に加える引数の決め方には、引数から得られたすべての
特徴パラメタのビット位置を反転したものを特徴パラメ
タに加える方式、あらかじめ定められた特定のデータ型
に関してビット位置を反転したものを特徴パラメタに加
える方式、プログラマやシステム管理者が指定した引数
に関してビット位置を反転したものを特徴パラメタに加
える方式等がある。図27の例では、整数型の引数に対
してビット位置を反転したものを特徴パラメタに加える
方式を用いている。
【0058】引数情報と実行履歴情報を処理要求表26
と実行履歴情報記憶部8から受け取る第2の特徴パラメ
タ抽出部29は、上で述べた第1の特徴パラメタ抽出部
と同様の手順で特徴パラメタの抽出を行う。実行履歴情
報記憶部8は、処理要求表26から受け取った実行履歴
情報ポインタの指す特定の要求の種別に属する複数の実
行履歴情報を順次第2の特徴パラメタ抽出部29に送
る。実行履歴情報を受け取った第2の特徴パラメタ抽出
部29は、その中に記録されている処理要求から第1の
特徴パラメタ抽出部28と同じ方式で特徴パラメタを抽
出し、それを実行計算機選択部5に渡す。このとき、そ
の処理要求の実行履歴情報に記録されている実行計算機
と実行コストも合わせて実行計算機選択部5に渡す。
【0059】実行計算機選択部5は図29に示すような
構成を持つ。実行計算機選択部5は、第1の特徴パラメ
タ抽出部からは新しく到着した処理要求の特徴パラメタ
を受け取り、第2の特徴パラメタ抽出部からは過去に実
行した同じ要求の種別を持つ実行履歴情報から取り出し
た特徴パラメタと実行計算機と実行コストを順次受け取
り、近似コスト選択部30に渡す。
【0060】近似コスト選択部30は、複数ある特徴パ
ラメタの内のひとつと、複数ある過去に同じ種別の処理
要求を実行した計算機のひとつとに関して、その実行計
算機で過去に実行した実行履歴情報で該当する特徴パラ
メタ値が最も近いものの実行コストを選び出す。すなわ
ちi番目の特徴パラメタとj番目の実行計算機を担当す
る近似コスト選択部30は、図30に示すような動作を
行う。新しい処理要求の特徴パラメタのi番目の特徴パ
ラメタの値をP、j番目の実行計算機で過去に実行した
同じ種別の処理要求の実行履歴情報の集合をHとする。
H中の各々の実行履歴情報hに対して、第2の特徴パラ
メタ抽出部によって取り出されたhの持つi番目の特徴
パラメタの値とPとを比較し、その差が最も小さな実行
履歴情報の実行コストを近似コストCとして出力する。
図30に示した方式では、該当する実行計算機で過去に
実行した処理要求が無い場合は、実行コストとして0を
出力する。図31に示す方式を用いると、過去に実行し
た処理要求がない場合は∞(最も大きな実行コスト)を
出力する。実行コストが0の場合はその実行計算機に優
先的に処理要求を割り付けられ、実行コストが∞の場合
はその実行計算機には処理要求を割り付けられないこと
になる。図30および図31に示した方式では、特徴パ
ラメタの値の比較は算術的に行っている。この比較には
ハミング距離等のような比較方式を用いることも出来
る。また、文字列に関しては辞書式順序を基にした比較
を用いることも出来る。このような複数の比較方式を併
用する方式も可能である。
【0061】実行計算機選択部5はすべての特徴パラメ
タを実行計算機選択に用いる実施方式の他に、先頭の一
定個数の特徴パラメタのみを用いる実施方式、重み情報
の大きな一定個数の特徴パラメタのみを用いる実施方
式、あるいは重みが一定の値よりも大きな特徴パラメタ
のみを用いるような実施方式もある。
【0062】近似コスト選択部30で得られた近似コス
トは、特徴パラメタ毎に最小コスト計算機選択部31に
集められる。最小コスト計算機選択部31はこれらの近
似コストの中から、最も低い近似コストを与える実行計
算機を選び、その特徴パラメタに関する最小コスト計算
機番号Nとして出力する。最小コスト計算機選択部31
の動作は図32に示すように、最小の近似コストを与え
る実行計算機番号を選び出す部分(S4〜S7)と、そ
の最小性が意味のあるものか否かを判定する部分(S8
〜S10)から成る。j番目の特徴パラメタを担当する
最小コスト計算機選択部31に対してk番目の実行計算
機を担当する近似コスト選択部30から渡される近似コ
ストをIkとすると、図32のステップS4からS7
は、各実行計算機に関する近似コストI1,I
2,...Im(mは実行計算機の数とする)の中から
最もコストの小さなものを選び出し、そのコストを与え
る実行計算機の番号を実行候補計算機番号Nとして出力
する。その後、その最小の近似コストが他の近似コスト
に比べて特別に小さいのか否かで、それが意味のある最
小性を持つかどうかを判断する。そのためにまず、ステ
ップS4からS7でI1からImまでの合計Sを求めて
おき、それをmで割った平均値S/mと、選び出した実
行計算機Nの最小近似コストCを予め与えられた定数倍
(例えば1.1倍)した値とをステップS8で比べ、S
/mの方が大きければNをj番目の特徴パラメタに関す
る最小コスト計算機として出力する。そうでない場合は
実行計算機Nの近似コストCが有意な最小性持たないと
判断し、どの実行計算機も選ばないことを意味する計算
機番号−1を出力する。
【0063】こうして最小コスト計算機選択部31によ
って各特徴パラメタ毎に選ばれた実行候補計算機と、処
理要求表26から渡される各特徴パラメタの重み情報を
元に、計算機番号選択部32は処理要求を割り付けるべ
き実行計算機番号を選び出す。計算機番号選択部32は
図33に示すように、まず各特徴パラメタに関する実行
候補計算機とその特徴パラメタの重みの組を、重み順ソ
ート部33によって、重みの大きな物から順に並べかえ
る。その出力は図33に示すように重い物から順に確率
的選択部34に入れられ、実行計算機番号を選択する。
確率的選択部34は図34に示すように、実行候補計算
機番号C、その計算機番号を選び出した特徴パラメタの
重みW、乱数発生部35で発生した0.0から1.0の
間の値をとる乱数R、前段の確率的選択部34で選んだ
実行計算機番号Pを入力とし、この段で決定した実行候
補計算機番号Nを出力する。最上流の確率的選択部34
のPには、どの実行計算機も選ばれていないことを示す
−1が入力される。確率的選択部34の動作は図34に
示すように、前段で実行計算機が決定された場合はその
計算機番号を、そうでない場合で乱数Rが重みWより小
さな場合は候補計算機番号Cが、そのいずれでもない場
合はどの計算機も選ばないことを示す−1が出力Nとな
る。最下流にはどの特徴パラメタに関しても実行計算機
が選ばれなかった場合に備えて、重みが1.0で候補計
算機番号は任意計算機選択部36の選択結果である確率
的選択部34を設ける。
【0064】任意計算機選択部36は、どの特徴パラメ
タに関する確率的選択部も実行計算機を選択しなかった
場合に、任意の計算機を選び出す働きを持つ。図33に
示すように任意計算機選択部が乱数を用いてランダムに
実行計算機を決定する場合は、ランダムな割付けとな
る。任意計算機選択部36は、今までに各実行計算機に
割り付けた偏りをもとに、各処理要求実行計算機の負荷
を予測し、負荷が小さいと予測される実行計算機、即ち
過去に割り付けた処理要求の少ない実行計算機や現在割
り付けて処理中の処理要求の少い実行計算機を優先的に
選択したり、各実行計算機の負荷情報を知り、それを元
に負荷の小さな実行計算機を優先的に選択する実施方式
もある。
【0065】こうして選択された実行計算機番号は処理
要求送信部6に送られる。処理要求送信部6はこの実行
計算機番号を用いて処理要求表26から渡された実行計
算機情報を引き、該当する計算機に対して、処理要求受
信部3から渡された処理要求を転送する。このとき、実
行履歴情報記憶部8に記憶した該当する処理要求の実行
履歴情報に、処理要求を転送した実行計算機を登録す
る。
【0066】こうして割り付けられて転送された処理要
求は、処理要求実行計算機10によって実行し、その実
行結果は処理要求割り付け装置11に送り返される。処
理要求割り付け装置の処理結果受信部12は処理結果を
受信し、その処理結果を実行コスト検出部9と処理結果
送信部13に送る。実行コスト検出部9はその処理結果
に対応する実行履歴情報を実行履歴情報記憶部から取り
出し、その実行コストを記録する。ここでは実行に要し
た時間を実行コストとする方式をとる。そのために、処
理要求送信部6は処理要求を転送する際に該当する実行
履歴情報の実行コスト欄にその時点の時刻を記録してお
く。実行コスト検出部9は実行コスト欄に記録された時
刻と現在の時刻の差を実行コストとして実行コスト欄に
記録し直す。本実施例では実行時間を実行コストとした
が、処理要求実行計算機10が実行コストを処理結果に
添えて送り返す方式もある。この場合処理要求実行計算
機10で任意のデータを実行コストとして与えることが
出来る。実行コストの例としては、実行中に必要となっ
たディスク参照回数、他のノードのデータのアクセス回
数、ロックの待ちの回数等を用いることが出来る。
【0067】本実施例のように処理結果を処理要求割り
付け装置が中継して処理要求発生元計算機に送り返す方
式以外に、処理要求実行計算機が処理要求発生元計算機
に直接処理結果を送り返し、処理要求割り付け装置はそ
の間の通信路をモニターし、処理結果のパケットを見つ
ければそれを取り込んで実行コストを検出するような実
施方式も可能である。
【0068】本実施例では、処理要求実行計算機に送っ
た処理要求とその処理結果の対応は、実行履歴情報を参
照することで判断する。しかし、この方式では同時に複
数のパケットを同じ処理要求実行計算機に割り付けて多
重処理を行なうことが出来ない。これを可能にするため
には、図35(a)に示すように処理要求パケットに一
意の識別番号を持たせる。処理要求実行計算機は図35
(b)に示すように処理要求に付いて来た識別番号を処
理結果に持たせて返す。この一意の識別番号を用いるこ
とにより、同時に複数の処理要求を同じ実行計算機に割
り付けた場合でも、実行履歴情報に記録された処理要求
と処理結果の対応をとることが可能になる。このような
識別番号を用いて同じ計算機に対する処理要求を識別す
る方式以外に、処理要求割り付け装置と処理要求実行計
算機を結ぶ通信チャネルを論理的に多重化し、同時に同
じ計算機に対する処理要求も異なる通信チャネルを用い
ることで識別することが可能になる。
【0069】処理要求を割り付ける処理要求実行計算機
の選択に用いる各特徴パラメタの重み情報は、プログラ
マやシステム管理者が与える実施方法もあるが、このよ
うな値は自動的に決定できることが望ましい。そのため
に、図36に示すような重み計算部(図17の27)を
用いる。重み計算部27は実行履歴情報記憶部8に記憶
している過去の実行履歴情報から、どの特徴パラメタと
最適な処理要求実行計算機との間に相関関係が強いかを
判断し、相関関係が強い特徴パラメタの重みほど大きく
なるように設定する。重み計算部27は大きく各特徴パ
ラメタ毎のクラスタ数を求めるクラスタ計算部37と、
そのクラスタ数を正規化して重み情報に変換する重み正
規化部38の2つの部分から成る。j番目の特徴パラメ
タに対応するクラスタ計算部37は、図37に示すよう
な構成を持ち、重み情報を計算したい要求の種別に属す
るすべての実行履歴情報を入力とする。それらの実行履
歴情報は特徴パラメタ順ソート部41に入り、j番目の
特徴パラメタの順に並べ変えられ、順次計算機番号変化
計数部42に送られる。計算機番号変化計数部42は実
行履歴情報を順次受け取り、その中に記録されている実
行計算機が変化する回数をクラスタ数として出力する。
j番目の特徴パラメタと最適な実行計算機の間に相関関
係がある場合には、j番目の特徴パラメタでソートすれ
ば同じ実行計算機を持つ実行履歴情報が並ぶ可能性が高
いため、クラスタ数が小さくなる。
【0070】こうして得られた各特徴パラメタのクラス
タ数は、重み正規化部38に送られると共に、最大値検
出部40と最小値検出部39にも送られる。最大値検出
部40は各特徴パラメタに対するクラスタ数の最大値
を、最小値検出部39は各特徴パラメタに対するクラス
タ数の最小値を求めて計算する。各特徴パラメタに対す
る重み正規化部38は、その特徴パラメタのクラスタ数
Cと、最小値検出部の出力min 、最大値検出部の出力ma
x を入力とし、クラスタ数を正規化処理してその特徴パ
ラメタの重みWとして出力する。この正規化処理は、一
例として次のような式を用いることが出来る。
【0071】 W = 0.9 * (max - C) / (max - min) + 0.05 この式を用いると、クラスタ数が最小の特徴パラメタの
重みが0.95に、クラスタ数が最大の特徴パラメタの
重みが0.05になるよう。線形に正規化される。同様
の式を用いて0.0から1.0の間の値を持つような線
形の正規化を行うことも出来る。また非線形の関数を用
いた正規化を行い、たとえば、クラスタ数が大きな間は
重みがほとんどかからないようにするなどの実施方式も
ある。
【0072】実行履歴情報記憶部8に記憶する実行履歴
情報のうち、古い物は実行履歴情報管理部7によって削
除される。削除する実行履歴情報は、一定の時間以上前
に記録された物、あるいは実行履歴情報記憶部に入れる
実行履歴情報の個数を定めておく場合に、その個数を越
える古い物等が対象になる。本実施例では、実行履歴情
報記憶部8に記憶できる実行履歴情報の個数(保存履歴
数)が一定であるとしている。保存履歴数はプログラマ
やシステム管理者が与える実施方法もあるが、このよう
な値は自動的に決定できることが望ましい。そのため、
図38に示すような構成を持ち、保存履歴数を自動的に
調整する保存履歴数決定部を用いる。
【0073】保存履歴数決定部は現在の保存履歴数Wと
それよりも小さな保存履歴数wとを管理し、新しい処理
要求に対して過去W個の実行履歴情報を用いて実行計算
機を選択した場合の予測コストと、過去w個の実行履歴
情報を用いて実行計算機を選択した場合の予測コストを
求め、実際に割り付けて実行するのに要した実行コスト
との差の統計量を基に保存履歴数を変更して行く。以
下、この動作を図38を用いて説明する。
【0074】保存履歴数決定部は実行計算機選択部1と
実行計算機選択部2の2つの実行計算機選択部を持つ。
これらの実行計算機選択部は図29や図33に示したも
のと同等の構成を持つが、その出力は実行計算機番号で
はなく、選ばれた実行計算機での処理要求の実行に要す
ると予測した実行コストである。すなわち、図29にお
いて実行計算機選択部の最小コスト計算機選択部は、最
小コストを与える実行候補計算機番号だけでなくその最
小の実行コストをも出力する。さらに図33において各
特徴パラメタに関する実行候補計算機の番号だけでなく
それに付随する実行コストも一緒に重み順ソート部でソ
ートし、確率的選択部も実行候補計算機番号と実行コス
トを組みにして扱う。実行計算機選択部1は図17に示
すような処理要求割り付け装置に用いる実行計算機選択
部8と兼用することが出来る。
【0075】新しい処理要求を受信した実行計算機割り
付け装置は、実行履歴情報記憶部に記憶しているW個の
実行履歴情報を用いて実行計算機選択部1によって、そ
の処理要求の実行に必要な予測コスト1を求める。この
時、その予測コスト1で実行できると推定した実行計算
機番号を処理要求送信部に送り、処理要求の割付けを行
う。同時に実行計算機選択部2はw個の実行履歴情報を
用いてその処理要求の実行に必要な予測コスト2を求め
る。こうして求めた予測コスト1および予測コスト2
と、実際にその処理要求を実行計算機選択部1で選択し
た実行計算機で実行するのに要した実行コストとの差
を、それぞれ偏差計算部1と偏差計算部2で求める。偏
差計算部は予測コストと実コストの算術的な差の絶対値
を出力する。
【0076】各処理要求に関する偏差計算部1と偏差計
算部2の出力および実コストは、それぞれ平均計算部
1、平均計算部2、平均計算部3に渡される。平均計算
部は入力された値に対して、過去の一定個数分の平均値
を求めて出力する。つまり平均計算部1および平均計算
部2の出力は、それぞれ予測コスト1と予測コスト2の
実コストとの差の絶対値の平均となる。また平均計算部
3の出力は実コストの平均値となる。平均計算部1と平
均計算部2の出力は誤差率計算部1と誤差率計算部2に
渡される。誤差率計算部1および誤差率計算部2は、そ
れぞれ平均計算部1と平均計算部2から渡された予測コ
ストと実コストの差の平均値を、平均計算部3から渡さ
れる実コストの平均値で割った値を出力する。これらの
値をそれぞれ誤差率1および誤差率2と呼ぶ。誤差率は
予測値が実コストとどれくらいずれているかを示す指標
となる。
【0077】保存履歴数更新部は図39に示すように、
現在の保存履歴数Wと下位の保存履歴数wと誤差率1と
誤差率2を入力とし、望ましい保存履歴数WWと下位の
保存履歴数wwを計算し、それを新しい保存履歴数と下
位の保存履歴数として設定する。誤差率1と誤差率2を
それぞれEuとElとすると、予め与えられている満た
されなければならない誤差率Tに比べてElが小さな場
合(S12)は、現在の保存履歴数は大きすぎて期待す
る以上に良い予測値を与えていることになる。この時は
下位の保存履歴数wを新しい保存履歴数WWとし、wよ
りもさらに小さな数を新しい下位の保存履歴数wwとす
る(S13)。逆にEuがTよりも大きな場合(S1
4)は、現在の保存履歴数は小さすぎて期待する質の予
測値が出ていないことになる。この時は現在の保存履歴
数を新しい下位の保存履歴数wwとし、Wよりも大きな
数を新しい保存履歴数WWとする(S15)。
【0078】以下には、本発明を構造が分からないパケ
ットのルーティングに適用する場合の実施例について述
べる。パケットは一般にバイト列あるいはワード列とし
て扱うことが出来る。そこで図40に示すようにパケッ
トの各ワードあるいは各バイトを特徴パラメタとして用
いる。ただしこの方式ではパケットの長さが固定の場合
は良いが、可変長のパケットの場合に適用することが出
来ない。そこで特徴パラメタとして取り出す個数を予め
定めておき、その個数よりも短いパケットの場合は図4
1に示すように足りない分は適当な値(ここでは0)を
埋めておく。逆に特徴パラメタよりも長いパケットの場
合は、図42に示すように先頭の一定個数を特徴パラメ
タとして取り出したり、図43に示すように先頭の一定
個数と末尾の一定個数を特徴パラメタとして取り出す。
末尾の一定個数のみを特徴パラメタとして用いる方式も
ある。この方式は、先の実施例で文字列や配列の特徴パ
ラメタを取り出すのに用いた方式と同じである。
【0079】可変長のパケットの場合、パケットの長さ
も特徴パラメタのひとつとして持たせる方式もある。図
44、図45、図46はそれぞれ図41、図42、図4
3においてパケットの長さも特徴パラメタとして加えた
場合の特徴パラメタの取り出し方を示している。
【0080】パケットのルーティングを行う処理要求割
り付け装置の実行履歴情報には、図47(a)に示すよ
うに特徴パラメタと割り付けた実行計算機、その時の実
行コストを記録する。特徴パラメタはそのすべてを記録
しても良いし、その中の重みの大きなもののみを記録す
る方式を用いても良い。特徴パラメタではなく、パケッ
トのデータをそのまま記録しておく実施方式もある。実
行コストは処理要求を実際に実行した計算機から伝えら
れて記録する方式や、対応する処理結果のパケットを見
つけて実行に要した時間を実行コストとする方式を用い
る。処理結果のパケットを処理要求割り付け装置が中継
する場合には、図47(b)に示すようにどの計算機か
ら送られて来たパケットかを示す発生元計算機の情報を
実行履歴情報に記録しておく。
【0081】以上の実施例ではパケットの内容に関して
まったく仮定を置かなかったが、図48に示すようにパ
ケットの先頭に処理要求の種別が記入されていることが
分かっている場合は、先のRPC処理要求の割り付けの
場合のように、その処理要求の種別別に実行履歴情報や
重み情報を管理することもできる。なお、本発明はネッ
トワークに接続している計算機上のソフトウェアで実現
する実施方式もある。
【0082】
【発明の効果】以上説明したように本発明の処理要求割
り付け装置を用いれば、複数の計算機から成る情報処理
システムに於いて、処理要求とそれを実行するのに最適
な計算機の間に相関関係がある場合には、その相関関係
を自動的に検出し、処理要求を最適な計算機に割り付け
ることができる。処理要求の割り付けに必要な情報は自
動的に検出するため、プログラマやシステム管理者が割
り付け手続きを与える必要がなく、情報処理システム全
体の持つ性能を容易に引き出すことが出来る。
【図面の簡単な説明】
【図1】 本発明の一実施例に係る処理要求割り付け装
置の構成例を示す図。
【図2】 処理要求割り付け装置の別の構成例を示す
図。
【図3】 処理要求割り付け装置の接続例を示す図。
【図4】 処理要求割り付け装置の接続の別の例を示す
図。
【図5】 処理要求割り付け装置の接続の別の例を示す
図。
【図6】 処理要求割り付け装置の接続の別の例を示す
図。
【図7】 処理要求割り付け装置の接続の別の例を示す
図。
【図8】 処理要求割り付け装置の接続の別の例を示す
図。
【図9】 処理要求割り付け装置の接続の別の例を示す
図。
【図10】 処理要求の実行方法の一例の説明図。
【図11】 処理要求の実行方法の別の例の説明図。
【図12】 処理要求の実行方法の別の例の説明図。
【図13】 処理要求の実行方法の別の例の説明図。
【図14】 特徴パラメタ抽出の流れの変形例を示す
図。
【図15】 処理要求割り付け装置の別の構成例を示す
図。
【図16】 処理要求割り付け装置の別の構成例を示す
図。
【図17】 処理要求割り付け装置の詳細な構成例を示
す図。
【図18】 処理要求パケットの例を示す図。
【図19】 処理要求表の内容を示す図。
【図20】 引数情報の例とRPCのインタフェース記
述の例を示す図。
【図21】 RPCコンパイラの機能の説明図。
【図22】 RPCのパケット情報の内容を示す図。
【図23】 実行履歴情報の内容を示す図。
【図24】 処理要求表に関するデータの流れを示す
図。
【図25】 処理要求パケットの内容を示す図。
【図26】 特徴パラメタ抽出部の動作例の説明図。
【図27】 特徴パラメタ抽出部の動作を表すフロー
図。
【図28】 ビット位置反転の例を示す図。
【図29】 実行計算機選択部の構成例を示す図。
【図30】 近似コスト選択部の動作を表すフロー図。
【図31】 近似コスト選択部の別の動作を表すフロー
図。
【図32】 最小コスト計算機選択部の動作を表すフロ
ー図。
【図33】 計算機番号選択部の構成例を示す図。
【図34】 確率的選択部の動作を表すフロー図。
【図35】 RPCの処理要求パケットと処理結果パケ
ットの例を示す図。
【図36】 重み計算部の構成例を示す図。
【図37】 クラスタ計算部の構成例を示す図。
【図38】 保存履歴数決定部の構成例を示す図。
【図39】 保存履歴数更新部の動作を表すフロー図。
【図40】 処理要求パケットの特徴パラメタの例を示
す図。
【図41】 処理要求パケットの特徴パラメタの例を示
す図。
【図42】 処理要求パケットの特徴パラメタの例を示
す図。
【図43】 処理要求パケットの特徴パラメタの例を示
す図。
【図44】 処理要求パケットの特徴パラメタの例を示
す図。
【図45】 処理要求パケットの特徴パラメタの例を示
す図。
【図46】 処理要求パケットの特徴パラメタの例を示
す図。
【図47】 実行履歴情報の例を示す図。
【図48】 処理要求の種別毎の特徴パラメタの抽出法
を示す図。
【符号の説明】
1,11…処理要求割り付け装置、 2…処理要求発生元計算機、 3…処理要求受信部、 4…特徴パラメタ抽出部、 5…実行計算機選択部、 6…処理要求送信部、 7…実行履歴情報管理部、 8…実行履歴情報記憶部、 9…実行コスト検出部、 10…処理要求実行計算機、 12…処理結果受信部、 13…処理結果送信部、 14…結合路、 15…計算機、 16,19,21,23…アプリケーション・プログラ
ム、 17,20,22,24…データ・マネージャ、 18…データ記憶装置、 25…処理要求表管理部、 26…処理要求表、 27…重み計算部、 28…特徴パラメタ抽出部1、 29…特徴パラメタ抽出部2、 30…近似コスト選択部、 31…最小コスト計算機選択部、 32…計算機番号選択部、 33…重み順ソート部、 34…確率的選択部、 35…乱数発生部、 36…任意計算機選択部、 37…クラスタ計算部、 38…重み正規化部、 39…最小値検出部、 40…最大値検出部、 41…特徴パラメタ順ソート部、 42…計算機番号変化計数部。

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 処理要求発生元計算機からの処理要求を
    受信する手段と、 処理要求から特徴パラメタを抽出する手段と、 過去に実行した処理要求あるいはその特徴パラメタと、
    前記処理要求を実行した計算機を識別する情報と、前記
    処理要求の実行に要したコストとからなる実行履歴情報
    を記憶する手段と、 前記実行履歴情報と受信した処理要求の特徴パラメタと
    に基づいて選択した処理要求実行計算機に対し、前記処
    理要求を送信する手段とを具備することを特徴とする処
    理要求割り付け装置。
  2. 【請求項2】 処理要求から抽出した一個以上の特徴パ
    ラメタと実行履歴情報とから、前記処理要求を実行する
    処理要求実行計算機の候補を各特徴パラメタ毎に選択す
    る手段と、各特徴パラメタの重みを保持する手段とを備
    え、前記処理要求実行計算機の候補の中から前記各特徴
    パラメタの重みを考慮して前記処理要求を実行する処理
    要求実行計算機を選択することを特徴とする請求項1記
    載の処理要求割り付け装置。
  3. 【請求項3】 処理要求を実行する処理要求実行計算機
    の選択時に予測した実行に要するコストと、前記処理要
    求を実行するのに要したコストの関係の変化に応じて、
    実行履歴情報を記憶する期間を変更することを特徴とす
    る請求項1記載の処理要求割り付け装置。
  4. 【請求項4】 処理要求から取り出した特徴パラメタに
    加えて、その全てあるいは一部の特徴パラメタのビット
    位置を変更したものを特徴パラメタに加えることを特徴
    とする請求項1記載の処理要求割り付け装置。
JP5220353A 1993-09-06 1993-09-06 処理要求割り付け装置 Pending JPH0773148A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP5220353A JPH0773148A (ja) 1993-09-06 1993-09-06 処理要求割り付け装置
US08/859,724 US5864679A (en) 1993-09-06 1997-05-21 Transaction routing in a multiple processor system using an extracted transaction feature parameter and transaction historical data
US09/030,397 US6058267A (en) 1993-09-06 1998-02-25 Multiple processor transaction processing system using transaction routing and data management

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5220353A JPH0773148A (ja) 1993-09-06 1993-09-06 処理要求割り付け装置

Publications (1)

Publication Number Publication Date
JPH0773148A true JPH0773148A (ja) 1995-03-17

Family

ID=16749811

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5220353A Pending JPH0773148A (ja) 1993-09-06 1993-09-06 処理要求割り付け装置

Country Status (1)

Country Link
JP (1) JPH0773148A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5757835A (en) * 1996-06-27 1998-05-26 Mitsubishi Denki Kabushiki Kaisha Semiconductor laser device
JP2004526218A (ja) * 2000-08-24 2004-08-26 ボルテール アドバンスト データ セキュリティ リミテッド 相互接続されたファブリックにおける高度にスケーラブルで高速のコンテンツ・ベース・フィルタリング及び負荷均衡化システム及び方法
JP2006293743A (ja) * 2005-04-12 2006-10-26 Mitsubishi Electric Corp サーバ型計算機および転送評価判定装置
JP2014229174A (ja) * 2013-05-24 2014-12-08 三菱電機株式会社 通信データ構造圧縮装置、通信データ構造復元装置、通信データ圧縮復元システム、及び、通信データ圧縮復元方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5757835A (en) * 1996-06-27 1998-05-26 Mitsubishi Denki Kabushiki Kaisha Semiconductor laser device
JP2004526218A (ja) * 2000-08-24 2004-08-26 ボルテール アドバンスト データ セキュリティ リミテッド 相互接続されたファブリックにおける高度にスケーラブルで高速のコンテンツ・ベース・フィルタリング及び負荷均衡化システム及び方法
JP2006293743A (ja) * 2005-04-12 2006-10-26 Mitsubishi Electric Corp サーバ型計算機および転送評価判定装置
JP4575218B2 (ja) * 2005-04-12 2010-11-04 三菱電機株式会社 サーバ型計算機および転送評価判定装置
JP2014229174A (ja) * 2013-05-24 2014-12-08 三菱電機株式会社 通信データ構造圧縮装置、通信データ構造復元装置、通信データ圧縮復元システム、及び、通信データ圧縮復元方法

Similar Documents

Publication Publication Date Title
JP4291664B2 (ja) 通信バッファ予約機能を備えるストレージ装置およびシステム
EP1564638B1 (en) A method of reassigning objects to processing units
US5864679A (en) Transaction routing in a multiple processor system using an extracted transaction feature parameter and transaction historical data
Eager et al. A comparison of receiver-initiated and sender-initiated adaptive load sharing
US7376953B2 (en) Apparatus and method for routing a transaction to a server
CN103309738B (zh) 用户作业调度方法及装置
US8463971B2 (en) Approach for distributing interrupts from high-interrupt load devices
US6993400B2 (en) System and method for real-time assignment of jobs to production cells
US20070043970A1 (en) Approach for managing interrupt load distribution
JPH0887473A (ja) データ処理装置
CN103491024B (zh) 一种面向流式数据的作业调度方法及装置
US20100241615A1 (en) Mitigation of obsolescence for archival services
CN109949160A (zh) 一种区块链的分片方法及装置
JP4839585B2 (ja) 資源情報収集配信方法およびシステム
Potier New users' introduction to QNAP 2
CN114116172A (zh) 一种流量数据采集方法、装置、设备及存储介质
US7647592B2 (en) Methods and systems for assigning objects to processing units
JPH0773148A (ja) 処理要求割り付け装置
Zhang et al. Txallo: Dynamic transaction allocation in sharded blockchain systems
CN108076112A (zh) 一种宿主机调度方法及装置
CN116471333A (zh) 一种混合算力网络资源调度优化方法及随动控制装置
Konovalov et al. A Simple Dispatching Policy For Minimizing Mean Response Time In Non-Observable Queues With SRPT Policy Operating In Parallel.
KR102201651B1 (ko) 태스크 지역성과 다운스트림 상태를 고려한 확률 기반의 데이터 스트림 파티셔닝 방법 및 이를 기록한 기록매체
CN115080215A (zh) 由状态监控芯片在计算节点间进行任务调度的方法及系统
CN110348681B (zh) 一种电力cps动态负荷分配方法