JPH06175984A - 計算機システムにおける負荷分散方法 - Google Patents

計算機システムにおける負荷分散方法

Info

Publication number
JPH06175984A
JPH06175984A JP35053892A JP35053892A JPH06175984A JP H06175984 A JPH06175984 A JP H06175984A JP 35053892 A JP35053892 A JP 35053892A JP 35053892 A JP35053892 A JP 35053892A JP H06175984 A JPH06175984 A JP H06175984A
Authority
JP
Japan
Prior art keywords
processing
request
computer
distribution
time
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
JP35053892A
Other languages
English (en)
Inventor
Makoto Saito
誠 齋藤
Tsutomu Tashiro
勤 田代
Mitsutaka Kosaka
満隆 小坂
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP35053892A priority Critical patent/JPH06175984A/ja
Publication of JPH06175984A publication Critical patent/JPH06175984A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】要求処理計算機ができる限り空きとならず、振
分け計算機における処理要求振分けオーバーヘッドが小
さく、かつ振分け計算機内の処理要求の割振り順序に関
し、システム全体としての応答性能が良くなるような計
算機システムの負荷分散方法を提供することを目的とす
る。 【構成】処理要求を振分ける振分け計算機(101,1
02)が、処理要求の到着とは非同期に処理要求を要求
に従い処理する要求処理計算機(103〜105)から
総暫定残余時間を得て、振分け計算機内の処理要求を要
求処理計算機での処理時間の期待値の上昇順に総暫定残
余時間の小さい要求処理計算機から割振ることで負荷分
散を図る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、計算機システムにおけ
る負荷分散方法に関する。
【0002】
【従来技術】複数の計算機を備えた分散システムにおい
て、投入された負荷を分散して実行する負荷分散方法を
用いることにより、計算機間の負荷の偏りをなくし、シ
ステム全体の実行効率を向上させることができる。従来
の負荷分散に関する方法は、例えば、Y.Wang and R.J.
T.Morris : "Load sharing in distributed systems";
IEEE Trans. Comput. , C−34,3,PP204−2
17(1985)などに開示されている。入力された負
荷(処理要求)は、まず振分け計算機によってどの要求
処理計算機に割振るかが決定される。振分け計算機は、
割振った要求処理計算機にその処理要求を送り、要求処
理計算機はそれを実行する。
【0003】特に、応答性能が良いとされる負荷分散方
法としては、以下のような方法がある。まず、要求処理
計算機は振分け計算機からの処理要求の処理がすべて終
了するたびに処理終了した旨を示す情報を振分け計算機
に送り、振分け計算機はその情報に基づいて次の処理要
求を割振る方法がある。また、振分け計算機が処理要求
到着時に要求処理計算機に負荷状況を問合せ、要求処理
計算機はその問合せに対して自機の負荷状況を回答し、
振分け計算機はその回答に基づいて処理要求を割振る方
法がある。振分け計算機内の処理要求は、到着順等で要
求処理計算機に割振られている。
【0004】
【発明が解決しようとする課題】しかしながら、要求処
理計算機が処理終了するたびにその旨を振分け計算機に
送り、振分け計算機が次の処理要求を割振る方法では、
次の処理要求が要求処理計算機に到着するまでの間、要
求処理計算機が空きになることがある。また、振分け計
算機から要求処理計算機に負荷状況を問合せる方法で
は、振分け計算機における処理要求の振分けオーバーヘ
ッドが大きいという問題がある。
【0005】また、振分け計算機内の処理要求の要求処
理計算機への割振り順序に関してはさらに効率化の余地
がある。
【0006】本発明の目的は、上述の従来例における問
題点に鑑み、(1)要求処理計算機ができる限り空きと
ならず、(2)振分け計算機における処理要求振分けオ
ーバーヘッドが小さく、かつ、(3)振分け計算機内の
処理要求の割振り順序に関し、システム全体としての応
答性能が良くなる計算機システムの負荷分散方法を提供
することにある。
【0007】
【課題を解決するための手段】上記の目的を達成するた
め、本発明は、処理要求を受付ける幾つかの振分け計算
機と、処理要求を要求に従い処理する複数の要求処理計
算機と、これらの計算機を結ぶネットワークとを備えた
計算機システムに適用する負荷分散方法であって、将
来、処理要求の到着がないとしたときの要求処理計算機
内の処理要求の当該要求処理計算機到着から処理終了ま
での時間の和である総暫定残余時間に基づいて、前記振
分け計算機が、処理要求を要求処理計算機に割振ること
を特徴とする。
【0008】具体的には、総暫定残余時間が最小の要求
処理計算機に処理要求を割振るようにするとよい。ま
た、割振る処理要求の順序としては、要求処理計算機で
の処理時間の期待値の上昇順(処理時間がより小さいも
のから順に)に割振るとよい。
【0009】さらに、振分け計算機が、他の振分け計算
機内の処理要求の要求処理計算機での処理時間の期待値
を得て、その期待値が最小の処理要求を振分け計算機間
での上記最小値の下降順に総暫定残余時間の小さい要求
処理計算機から割振るようにするとよい。すなわち、振
分け計算機が複数台あるときは、各振分け計算機が次に
出す処理要求の処理時間の期待値(見積もり)をそれぞ
れ交換し、その期待値が1番大きい振分け計算機は総暫
定残余時間が1番小さい要求処理計算機に、その期待値
が2番目に大きい振分け計算機は総暫定残余時間が2番
目に小さい要求処理計算機に、…というように振分ける
とよい。
【0010】また、振分けは、総暫定残余時間の上昇順
に幾つかの要求処理計算機を選んで均等に処理要求を割
振るようにしてもよい。この場合、振分け計算機の台数
分の要求処理計算機を選ぶとよい。
【0011】総暫定残余時間や他の振分け計算機からの
当該振分け計算機内の処理要求の要求処理計算機での処
理時間の期待値の最小値は、処理要求の授受とは非同期
に行なってもよい。
【0012】要求処理計算機への処理要求の送信は、振
分け計算機内の処理要求の要求処理計算機での処理時間
の期待値を他の振分け計算機に送信した後に行なえばよ
い。また、振分け計算機は、当該計算機内に要求処理計
算機に一度に送る処理要求がただ1つあるときに、当該
処理要求を要求処理計算機に送信した後に、再び振分け
計算機内に処理要求があるかを調べ、処理要求がないと
きは、その旨を他の振分け計算機に送信するようにする
とよい。総暫定残余時間は、処理要求の処理結果に重畳
して送信するようにしてもよい。
【0013】さらに、前記要求処理計算機は、振分け計
算機の総暫定残余時間に基づいて選択した振分け計算機
に、処理要求に対する処理結果を送信するようにしても
よい。この場合、要求処理計算機は、処理要求に対する
処理結果を、総暫定残余時間の小さい振分け計算機に送
信するようにするとよい。このように負荷の小さい振分
け計算機に処理結果を送るような場合は、振分け計算機
が自機の総暫定残余時間を処理要求に重畳して送信し、
要求処理計算機は負荷の少ない振分け計算機に処理結果
を送信するようにするとよい。
【0014】なお、前記総暫定残余時間の代りに、平均
応答時間すなわち(総暫定残余時間)/(系内数)を用
いて、要求処理計算機の負荷を判別し、同様に負荷分散
処理を行なうこともできる。また、前記計算機システム
が、ネットワークで計算機を結合する代りに、メモリを
共有することで結合された計算機システムでも本発明は
同様に適用可能である。
【0015】
【作用】処理要求を受付ける幾つかの振分け計算機と処
理要求を要求に従い処理する複数の要求処理計算機とこ
れらの計算機を結ぶネットワークからなる計算機システ
ムにおいて、振分け計算機が要求処理計算機から総暫定
残余時間を得て、処理要求を総暫定残余時間の小さい要
求処理計算機に割振るようにしているため、要求処理計
算機が空きとならず、振分け計算機における処理要求振
分けオーバーヘッドが小さくなる。また、各振分け計算
機内の処理要求を要求処理計算機での処理時間の期待値
の上昇順に総暫定残余時間の小さい要求処理計算機に割
振るため、振分け計算機内の処理要求の割振り順序に起
因して応答性能が向上する。
【0016】
【実施例】以下、本発明の一実施例を図1〜図11に従
って説明する。
【0017】図2は、本実施例で取り扱う計算機システ
ムのハードウェア構成を示す。本システムは以下から構
成される。107,108は、それぞれ処理要求を入力
する端末である。101,102は、それぞれ端末10
7、端末108から処理要求を受け付け、計算機10
3、計算機104、または計算機105に処理要求を振
分ける振分け計算機である。103,104,105
は、処理要求を要求に従い処理する要求処理計算機であ
る。106は、振分け計算機101,102、および要
求処理計算機103,104,105を結ぶネットワー
クである。
【0018】最初に、本実施例のシステムにおける処理
の流れの概略を述べる。
【0019】端末107(端末108)から入力された
処理要求は、振分け計算機101(振分け計算機10
2)に送られる。端末107(端末108)から処理要
求を受信すると、振分け計算機101(振分け計算機1
02)は、要求処理計算機103,104,105の総
暫定残余時間および振分け計算機102内の処理要求の
処理時間の期待値の最小値に基づいて、処理要求を割振
るべき要求処理計算機を決定する。
【0020】ここで、本実施例のシステムにおいて、振
分け計算機が処理要求を割振るべき要求処理計算機をど
のように決定するか、その方式の概要を説明する。
【0021】簡単にいえば、振分け計算機は、まず現在
の負荷の量が少ない要求処理計算機に処理要求を割振
る。また、この実施例では2台の振分け計算機が独立に
処理要求を出すので、両振分け計算機で次に出す処理要
求(各振分け計算機内で一番処理時間の期待値(見積も
り)が小さい処理要求)の処理時間の期待値を交換し、
処理時間の期待値が大きい処理要求は現在の負荷の量が
1番少ない要求処理計算機に割振られ、処理時間の期待
値が小さい処理要求は現在の負荷の量が2番目に少ない
要求処理計算機に割振られるようにしている。
【0022】要求処理計算機の負荷の量を判断するた
め、本実施例では、「総暫定残余時間」という量を導入
している。
【0023】「総暫定残余時間」とは、要求処理計算機
が現在どれ程の負荷を負っているかを示す量である。具
体的には、その要求処理計算機に、将来、処理要求の到
着がないとしたときの要求処理計算機内の処理要求の当
該計算機到着から処理終了までの時間の和が総暫定残余
時間である。例えば、処理要求計算機103の処理要求
キューにA,B,Cの3つの処理要求が格納され、新た
に処理要求Dがなされたとき、この計算機103の総暫
定残余時間は、以下のように算出される。
【0024】 総暫定残余時間= (処理要求Aが処理終了するまでの時間) +(処理要求Bが処理終了するまでの時間) +(処理要求Cが処理終了するまでの時間) +(処理要求Dが処理終了するまでの時間)
【0025】この総暫定残余時間を系内数(処理要求キ
ュー内の処理要求の数)で割った値を「平均応答時間」
と呼ぶ。平均応答時間は、要求処理計算機が処理要求を
終了するまでの平均的な応答時間を示す値である。総暫
定残余時間および平均応答時間は、要求処理計算機の負
荷量の目安となる。
【0026】なお、上記の定義に関連して、「暫定残余
時間」とは、要求処理計算機内の処理要求の処理時間の
和をいう。上記の例では、処理要求Dの暫定残余時間
は、 暫定残余時間= (処理要求Aの処理時間) +(処理要求Bの処理時間) +(処理要求Cの処理時間) +(処理要求Dの処理時間) となる。同様に、処理要求Aの暫定残余時間は、 暫定残余時間=(処理要求Aの処理時間) であり、処理要求Bの暫定残余時間は、 暫定残余時間= (処理要求Aの処理時間) +(処理要求Bの処理時間) であり、処理要求Cの暫定残余時間は、 暫定残余時間= (処理要求Aの処理時間) +(処理要求Bの処理時間) +(処理要求Cの処理時間) である。
【0027】ここで、処理要求Aが処理開始するまでの
待ち時間を「0」とすれば、その時点で、 (処理要求Aが処理終了するまでの時間)=(処理要求Aの処理時間) (処理要求Bが処理終了するまでの時間) =(処理要求Bが処理開始するまでの時間)+(処理要求Bの処理時間) =(処理要求Aの処理時間)+(処理要求Bの処理時間) (処理要求Cが処理終了するまでの時間) =(処理要求Cが処理開始するまでの時間)+(処理要求Cの処理時間) =(処理要求Aの処理時間)+(処理要求Bの処理時間) +(処理要求Cの処理時間) (処理要求Dが処理終了するまでの時間) =(処理要求Aの処理時間)+(処理要求Bの処理時間) +(処理要求Cの処理時間)+(処理要求Dの処理時間) =暫定残余時間 となる。したがって、処理要求が到着するごとに暫定残
余時間と総暫定残余時間を算出し直すようにすれば、処
理要求Dが到着したときは、 (新たな総暫定残余時間)= (前の総暫定残余時間) +(処理要求Dの処理時間) = (処理要求Aの暫定残余時間) +(処理要求Bの暫定残余時間) +(処理要求Cの暫定残余時間) +(処理要求Dの暫定残余時間) が成立することとなる。
【0028】一方、要求処理計算機で処理要求Aが処理
終了したとすると、その時点で、処理要求B,C,Dの
各暫定残余時間は処理要求Aの処理時間の分だけ減らす
必要がある。処理要求Aの暫定残余時間(=処理要求A
の処理時間)も考慮すれば、新たな総暫定残余時間は、 (新たな総暫定残余時間)= (前の総暫定残余時間) −((処理要求Aの処理時間)×4) で算出できる。「4」は処理要求キュー内にあった処理
要求の数である。
【0029】この実施例の負荷分散方法では、上述した
ように定義される総暫定残余時間に基づいて、振分け計
算機101,102から処理要求を割振るべき要求処理
計算機を決定するようにしている。
【0030】振分け計算機101,102は、要求処理
計算機103,104,105からこれらの計算機の総
暫定残余時間を受け取るが、これは処理要求とは非同期
に受け取る。また、振分け計算機102(振分け計算機
101)から、やはり処理要求とは非同期に、当該振分
け計算機内の処理要求の要求処理計算機103あるいは
要求処理計算機104あるいは要求処理計算機105で
の処理時間の期待値の最小値を受け取る。これらの総暫
定残余時間および他方の振分け計算機が次に出す処理要
求の処理時間の期待値の最小値に基づいて、割振る要求
処理計算機を決定し、要求処理計算機103、要求処理
計算機104、要求処理計算機105のいずれかに処理
要求を送信する。
【0031】要求処理計算機103あるいは要求処理計
算機104あるいは要求処理計算機105では、振分け
計算機101(振分け計算機102)から処理要求を受
信すると、これを要求に従い処理し、処理結果を送信元
計算機である振分け計算機101(振分け計算機10
2)に返す。また、総暫定残余時間を計算し、計算結果
を振分け計算機101、振分け計算機102に送信す
る。振分け計算機101(振分け計算機102)では、
上記処理結果を受信すると、端末107(端末108)
に送信する。
【0032】以上のようにして、負荷分散を図ってい
る。ここで、例を挙げて説明する。例えば、端末107
から、ある処理要求が振分け計算機101に入力された
とする。振分け計算機101は、その処理要求が、要求
処理計算機103,104,105で処理されたと仮定
したときの処理時間の期待値を得る。これは、後述する
ように、その処理要求の種別を判別して所定のテーブル
を参照することで得られる。振分け計算機101は、現
在の要求処理計算機103,104,105のそれぞれ
の総暫定残余時間を受信している。また、振分け計算機
101は、もう1台の振分け計算機102から、振分け
計算機102が次に出す処理要求(処理時間の期待値が
最小の処理要求を出すようになっている)の処理時間の
期待値を受信している。
【0033】振分け計算機101が次に出す処理要求の
処理時間の期待値をα1、振分け計算機102が次に出
す処理要求の処理時間の期待値をα2、要求処理計算機
103の総暫定残余時間をβ1、要求処理計算機104
の総暫定残余時間をβ2、要求処理計算機105の総暫
定残余時間をβ3とすれば、振分け計算機101は、以
下のように要求処理計算機を決定する。
【0034】α1≧α2、すなわち振分け計算機10
1が次に出す処理要求のほうが振分け計算機102のも
のより負荷が大きいなら、β1,β2,β3中で最小の
総暫定残余時間を有する要求処理計算機(現在の負荷が
最小の要求処理計算機)に、処理時間の期待値がα1の
処理要求を出す。このとき、もう一方の振分け計算機1
02では、処理時間の期待値がα2の処理要求を、β
1,β2,β3中で2番目に小さい総暫定残余時間を有
する要求処理計算機(現在の負荷が2番目に小さい要求
処理計算機)に出すこととなる。
【0035】α1<α2、すなわち振分け計算機10
1が次に出す処理要求のほうが振分け計算機102のも
のより負荷が小さいなら、β1,β2,β3中で2番目
に小さい総暫定残余時間を有する要求処理計算機(現在
の負荷が2番目に小さい要求処理計算機)に、処理時間
の期待値がα1の処理要求を出す。このとき、もう一方
の振分け計算機102では、処理時間の期待値がα2の
処理要求を、β1,β2,β3中で最小の総暫定残余時
間を有する要求処理計算機(現在の負荷が最小の要求処
理計算機)に出すこととなる。
【0036】図3は、図2に示した振分け計算機10
1、振分け計算機102、要求処理計算機103、要求
処理計算機104および要求処理計算機105内のプロ
グラムおよびテーブル等を示している。図3により、処
理要求の処理動作を詳しく説明する。
【0037】端末107(端末108)から入力された
処理要求は、振分け計算機101(振分け計算機10
2)に送信される。端末107から処理要求を受信する
と、振分け計算機101内の処理要求受信プログラム2
01が、これを処理要求振分けキュー202にキューイ
ングする。
【0038】処理要求振分けプログラム203は、処理
要求制御テーブル204上の要求処理計算機103、要
求処理計算機104、要求処理計算機105の総暫定残
余時間、および振分け計算機102内の処理要求の要求
処理計算機103あるいは要求処理計算機104あるい
は要求処理計算機105での処理時間の期待値の最小値
に基づいて、送信先計算機を決定する。そして、処理要
求振分けキュー202から処理時間の期待値が最小の処
理要求を取り出し、送信先として決定された要求処理計
算機に送信する。
【0039】処理結果出力プログラム205は、要求処
理計算機103、要求処理計算機104、要求処理計算
機105から送られて来る処理要求の処理結果を、端末
107に送信する。また、要求処理計算機103、要求
処理計算機104、要求処理計算機105から送られて
来る総暫定残余時間を、処理要求制御テーブル204に
書き込む。
【0040】要求処理計算機103が振分け計算機10
1(振分け計算機102)からの処理要求を受信したと
する。振分け計算機101(振分け計算機102)から
処理要求を受信すると、要求処理計算機103内の処理
要求キューイングプログラム206は、この処理要求を
処理要求キュー207にキューイングし、処理要求管理
テーブル208のキュー長、暫定残余時間、および総暫
定残余時間を更新する。
【0041】これとは非同期に、処理要求処理・負荷計
算プログラム209は、処理要求キュー207から処理
要求を取り出して、要求に従いこれを処理する。この
後、処理要求管理テーブル208のキュー長、暫定残余
時間、および総暫定残余時間を更新し、処理要求の処理
結果を送信元計算機である振分け計算機101(振分け
計算機102)に、総暫定残余時間を振分け計算機10
1、および振分け計算機102に送信する。
【0042】なお、振分け計算機102は、振分け計算
機101と同様に動作する。また、要求処理計算機10
4、および要求処理計算機105は、要求処理計算機1
03と同様に動作する。
【0043】次に、本実施例の特徴である負荷分散に係
わる部分について、図1を参照して詳細に説明する。
【0044】図1は、本実施例の図2,3のシステムに
おける負荷分散方法の手順を示すフローチャートであ
る。
【0045】まずステップ1で、振分け計算機101
(振分け計算機102)は、処理要求の送信先計算機を
決定する。これは、要求処理計算機103、要求処理計
算機104、および要求処理計算機105から送られて
くる総暫定残余時間に基づいて、かつ振分け計算機10
2(振分け計算機101)から振分け計算機102(振
分け計算機101)内の処理要求の要求処理計算機10
3あるいは要求処理計算機104あるいは要求処理計算
機105での処理時間の期待値の中で最小のものを受信
し、その値に基づいて、決定される。
【0046】次に、ステップ2で、振分け計算機101
(振分け計算機102)は、振分け計算機102(振分
け計算機101)に、後続処理要求の要求処理計算機1
03あるいは要求処理計算機104あるいは要求処理計
算機105での処理時間の期待値の中で最小のものを送
信する。その後、ステップ3で、送信先決定済み処理要
求を、要求処理計算機103あるいは要求処理計算機1
04あるいは要求処理計算機105に、送信する。
【0047】ステップ4で、要求処理計算機103ある
いは要求処理計算機104あるいは要求処理計算機10
5は、処理要求を受信し、これを要求に従い処理する。
次に、ステップ5で、要求処理計算機103あるいは要
求処理計算機104あるいは要求処理計算機105は、
総暫定残余時間を計算する。
【0048】ステップ6で、要求処理計算機103,1
04,105は、上記処理要求の処理結果を送信元計算
機である振分け計算機101(振分け計算機102)に
送信する。また、総暫定残余時間の計算結果を、振分け
計算機101、および振分け計算機102に送信する。
さらに、ステップ7で、振分け計算機101(振分け計
算機102)は、要求処理計算機103,104,10
5から処理結果を受信すると、端末107(端末10
8)に送信する。
【0049】以下では、まず本実施例で用いているテー
ブルの構造を説明する。その後、ステップ1、ステップ
2、ステップ3、およびステップ7(振分け計算機側の
処理)について、図6、図7、図8、および図11のフ
ローチャートを参照して詳細に説明する。また、ステッ
プ4、ステップ5、およびステップ6(要求処理計算機
側の処理)について、図9および図10のフローチャー
トを参照して詳細に説明する。
【0050】図4は、処理要求制御テーブル204の詳
細な構造を示した図である。処理要求制御テーブル20
4は、要求処理計算機103の総暫定残余時間エリア4
01、要求処理計算機104の総暫定残余時間エリア4
02、要求処理計算機105の総暫定残余時間エリア4
03、振分け計算機101内の処理要求の最小処理時間
エリア404、振分け計算機102内の処理要求の最小
処理時間エリア405、および種別xの処理要求の処理
時間エリア406x(x=1〜n)から成る。
【0051】要求処理計算機103の総暫定残余時間エ
リア401には、要求処理計算機103の総暫定残余時
間が格納される。要求処理計算機104の総暫定残余時
間エリア402には、要求処理計算機104の総暫定残
余時間が格納される。要求処理計算機105の総暫定残
余時間エリア403には、要求処理計算機105の総暫
定残余時間が格納される。
【0052】振分け計算機101内の処理要求の最小処
理時間エリア404には、振分け計算機101内の処理
要求の要求処理計算機103あるいは要求処理計算機1
04あるいは要求処理計算機105での処理時間の期待
値の最小値が格納される。振分け計算機102内の処理
要求の最小処理時間エリア405には、振分け計算機1
02内の処理要求の要求処理計算機103あるいは要求
処理計算機104あるいは要求処理計算機105での処
理時間の期待値の最小値が格納される。
【0053】種別xの処理要求の処理時間エリア406
xには、種別xの処理要求の要求処理計算機103ある
いは要求処理計算機104あるいは要求処理計算機10
5での処理時間の期待値が格納される。本実施例の方法
では、ある処理要求が要求処理計算機にてどれ程の処理
時間で処理されるかを示す見積もり値があらかじめ判明
している必要がある。そこで、処理要求を幾つかの種別
に分け、各種別の処理要求はどれ程の処理時間で処理さ
れるかその期待値をあらかじめ上記エリアに格納するよ
うにしている。
【0054】図5は、処理要求管理テーブル208の詳
細な構造を示した図である。処理要求管理テーブル20
8は、キュー長エリア501、暫定残余時間エリア50
2、総暫定残余時間エリア503、および種別xの処理
要求の処理時間エリア504x(x=1〜n)から成
る。
【0055】キュー長エリア501には、要求処理計算
機103内の処理要求のキュー長が格納される。暫定残
余時間エリア502には、要求処理計算機103の暫定
残余時間(要求処理計算機103内の処理要求の処理時
間の和)が格納される。総暫定残余時間エリア503に
は、要求処理計算機103の総暫定残余時間が格納され
る。種別xの処理要求の処理時間エリア504xには、
種別xの処理要求の要求処理計算機103あるいは要求
処理計算機104あるいは要求処理計算機105での処
理時間の期待値が格納される。
【0056】以下、本実施例の特徴である負荷分散の動
作を詳細に説明する。
【0057】図1のステップ1、ステップ2、ステップ
3、およびステップ7は、処理要求受信プログラム20
1、処理要求振分けプログラム203、および処理結果
出力プログラム205により実行される。
【0058】まず、図6のフローチャートを参照して、
処理要求受信プログラム201の動作を詳しく説明す
る。振分け計算機は、端末107から処理要求を受信す
ると(ステップ601)、受信した処理要求を処理要求
振分けキュー202にキューイングする(ステップ60
2)。そして、再び処理要求受信待ちとなる(ステップ
601)。
【0059】次に、図7および図8のフローチャートを
参照して、処理要求振分けプログラム203の動作を詳
しく説明する。まず、処理要求振分けキュー202に処
理要求があるかどうかを判別する(ステップ701)。
処理要求がなければ、タイマーをセットし一定時間後の
起動を待つ(ステップ702)。処理要求振分けキュー
202に処理要求があれば、要求処理計算機103の総
暫定残余時間エリアの値と要求処理計算機104の総暫
定残余時間エリアの値と要求処理計算機105の総暫定
残余時間エリアの値の大小を比較する(ステップ70
3)。比較結果のうち、総暫定残余時間が最小の要求処
理計算機、および2番目に小さい要求処理計算機を記憶
しておく。
【0060】次に、振分け計算機101内の処理要求の
最小処理時間エリアの値と振分け計算機102内の処理
要求の処理時間エリアの値を比較する(ステップ70
4)。前者が後者より大きい場合は、振分け計算機10
1から出そうとしている処理要求の処理時間の方が振分
け計算機102から出そうとしている処理要求の処理時
間よりも大きい(負荷量が大きい)ということであるか
ら、現在の負荷量が小さい総暫定残余時間が最小の要求
処理計算機に対して処理要求の送信準備(電文編集)を
行う(ステップ705)。
【0061】逆の場合は、振分け計算機101から出そ
うとしている処理要求の処理時間の方が振分け計算機1
02から出そうとしている処理要求の処理時間よりも小
さい(負荷量が小さい)ということであるから、総暫定
残余時間が2番目に小さい要求処理計算機に対して送信
準備(電文編集)を行う(ステップ706)。
【0062】次に、処理要求キュー202を参照し、ま
だ処理要求があるかどうか判別する(ステップ70
7)。まだ処理要求がある場合は、後続処理要求を処理
時間の上昇順(処理時間が小さい順)にソートし(ステ
ップ708)、その先頭処理要求の処理時間を振分け計
算機102に送信する(ステップ709)。また、送信
準備済みの処理要求を送信する(ステップ710)。そ
の後、ステップ701に戻る。
【0063】処理要求振分けキュー202に処理要求が
ない場合には(ステップ707)、送信準備済みの処理
要求の処理時間を振分け計算機102に送信し(ステッ
プ711)、送信準備済みの処理要求を送信する(ステ
ップ712)。次に、処理要求振分けキュー202を参
照し、これにまだ処理要求があるかどうかを判別する
(ステップ713)。処理要求がある場合は、後続処理
要求を処理時間の上昇順にソートし(ステップ71
4)、ステップ701に戻る。処理要求振分けキュー2
02に処理要求がない場合には、「0」(処理要求なし
を意味する)を振分け計算機102に送信し(ステップ
715)、ステップ701に戻る。
【0064】次に、図11のフローチャートを参照し
て、処理結果出力プログラム205の動作を詳しく説明
する。振分け計算機は、要求処理計算機103あるいは
要求処理計算機104あるいは要求処理計算機105か
らの電文受信を待津(ステップ1001)。電文を受信
すると、電文の内容が処理要求の処理結果か総暫定残余
時間かを判断する(ステップ1002)。総暫定残余時
間である場合には、処理要求制御テーブル204の総暫
定残余時間エリアにこれを書き込む(ステップ100
3)。処理結果である場合には、これを端末107に送
信する(ステップ1004)。ステップ1003,10
04の後、ステップ1001に戻る。
【0065】図1のステップ4、ステップ5、およびス
テップ6は、処理要求キューイングプログラム206お
よび処理要求処理・負荷計算プログラム209により実
行される。
【0066】図9のフローチャートを参照して、処理要
求キューイングプログラム206の動作を詳しく説明す
る。要求処理計算機は、振分け計算機101から送られ
てくる処理要求の受信を待つ(ステップ801)。処理
要求を受信したら、これを処理要求キュー207にキュ
ーイングする(ステップ802)。次に、暫定残余時間
エリアの値に、キューイングした処理要求に対応した種
別の処理時間エリアの値を加える(ステップ803)。
そして、総暫定残余時間エリアの値に暫定残余時間エリ
アの値を加える(ステップ804)。さらに、キュー長
エリアの値を1増やす(ステップ805)。その後、ス
テップ801に戻る。
【0067】次に、図10のフローチャートを参照し
て、処理要求処理・負荷計算プログラム209の動作を
詳しく説明する。まず要求処理計算機は、処理要求キュ
ー207に処理要求があるかどうか判別する(ステップ
901)。処理要求がない場合は、タイマーをセット
し、一定時間後の起動を待つ(ステップ902)。その
後、再びステップ901に戻る。
【0068】ステップ901で処理要求キュー207に
処理要求がある場合には、処理要求キュー207から先
頭の処理要求を取りはずし(ステップ903)、要求に
従い処理する(ステップ904)。
【0069】次に、暫定残余時間エリアの値から処理し
た処理要求に対応した種別の処理時間エリアの値を引く
(ステップ905)。暫定残余時間は、処理要求キュー
207内の処理要求の処理時間の和であり、いまステッ
プ903,904で先頭の処理要求が取り外され実行さ
れたから、その分を引いて暫定残余時間を更新したもの
である。
【0070】次に、総暫定残余時間エリアの値から、処
理した処理要求に対応した種別の処理時間エリアの値に
キュー長エリアの値をかけた値を、引く。さらに、キュ
ー長エリアの値を1減らす(ステップ906)。総暫定
残余時間は、上述したように、処理要求キュー207内
の処理要求のそれぞれの暫定残余時間の和である。いま
ステップ903,904で先頭の処理要求が取り外され
実行されたから、残った処理要求の暫定残余時間は、そ
れぞれ、取り外された処理要求の処理時間の分だけ減る
ことになる。さらに、取り外された処理要求の分もある
ので、総暫定残余時間から、処理した処理要求の処理時
間にキュー長エリアの値をかけた値を引くようにしてい
る。
【0071】この後、総暫定残余時間エリアの値を、振
分け計算機101および振分け計算機102に送信し
(ステップ907)、処理要求の処理結果を送信元計算
機である振分け計算機101に送信して(ステップ90
8)、ステップ901に戻る。
【0072】以上のようにして、本実施例における負荷
分散処理が行なわれる。
【0073】なお、上記実施例では、振分け計算機10
1と振分け計算機102の間で、当該計算機内の処理要
求の要求処理計算機103あるいは要求処理計算機10
4あるいは要求処理計算機105での処理時間の期待値
の最小値を交換し(ステップ709,711)、その期
待値の最小値が大きい方の処理要求を一番負荷が少ない
要求処理計算機に割振り、その期待値の最小値が小さい
方の処理要求を2番目に負荷が少ない要求処理計算機に
割振るようにしている。しかし、互いに次に出す処理要
求の処理時間の期待値を交換するのでなく、両振分け計
算機とも、一律に総暫定残余時間が最小の要求処理計算
機に処理要求を送信するようにしてもよい。
【0074】また、振分け計算機101と振分け計算機
102との間で、当該計算機内の処理要求の要求処理計
算機103あるいは要求処理計算機104あるいは要求
処理計算機105での処理時間の期待値の最小値を交換
せず、つねに総暫定残余時間の小さい計算機を2台(あ
るいは2台より多い数を選んでもよい)選んで、振分け
計算機101および振分け計算機102が、総暫定残余
時間が1番小さい計算機と2番目に小さい計算機に、交
互に処理要求を送信するようにしてもよい。
【0075】さらに、上記実施例では要求処理計算機の
負荷の尺度として、総暫定残余時間を用いているが、そ
の代りに平均応答時間、すなわち(総暫定残余時間)/
(系内数)を用いてもよい。
【0076】なお、振分け計算機101あるいは振分け
計算機102が要求処理計算機103あるいは要求処理
計算機104あるいは要求処理計算機105に一度に複
数の処理要求を送ってもよい。
【0077】また、要求処理計算機103あるいは要求
処理計算機104あるいは要求処理計算機105は、総
暫定残余時間を送信する際に、処理要求の処理結果に総
暫定残余時間を重畳して送信するようにしてもよい。
【0078】さらに、要求処理計算機103あるいは要
求処理計算機104あるいは要求処理計算機105から
処理結果を返すときには、総暫定残余時間の最小の計算
機(振分け計算機101あるいは振分け計算機102)
に返してもよい。この場合、例えば、図2の端末107
を振分け計算機102に、端末108を振分け計算機1
01に、クロスして接続するようにしておき、常に処理
要求が入力された端末に対応する処理結果を返すように
するとよい。振分け計算機101あるいは振分け計算機
102の負荷量(総暫定残余時間)を要求処理計算機1
03,104,105に送るときには、総暫定残余時間
を処理要求に重畳して送るようにしてもよい。
【0079】振分け計算機101、振分け計算機10
2、要求処理計算機103、要求処理計算機104、お
よび要求処理計算機105は、上記実施例ではネットワ
ークにより結合されているが、ネットワークの代りにメ
モリを共有することで結合してもよい。
【0080】上記実施例によれば、振分け計算機101
および振分け計算機102が、処理要求の到着とは非同
期に要求処理計算機103、要求処理計算機104、お
よび要求処理計算機105から総暫定残余時間を得て、
振分け計算機101内、あるいは振分け計算機102内
の処理時間の期待値が最小の処理要求を総暫定残余時間
の小さい計算機に送信するため、(1)要求処理計算機
103、要求処理計算機104、および要求処理計算機
105が空きとならない、(2)振分け計算機101、
および振分け計算機102における処理要求振分けオー
バーヘッドが小さくなる、(3)(振分け計算機10
1、振分け計算機102内の処理要求の割振り順序に起
因して)応答性能が向上する、という効果がある。
【0081】
【発明の効果】以上説明したように、本発明によれば、
処理要求を受付ける幾つかの振分け計算機と処理要求を
要求に従い処理する複数の要求処理計算機とこれらの計
算機を結ぶネットワークからなる計算機システムにおい
て、振分け計算機が処理要求の到着とは非同期に要求処
理計算機から総暫定残余時間を得て、処理要求を総暫定
残余時間の小さい要求処理計算機に割振るため、要求処
理計算機が空きとならず、振分け計算機における処理要
求振分けオーバーヘッドが小さくなるという効果があ
る。また、各振分け計算機内の処理要求を要求処理計算
機での処理時間の期待値の上昇順に総暫定残余時間の小
さい要求処理計算機に割振るため、振分け計算機内の処
理要求の割振り順序に起因して、応答性能が向上すると
いう効果がある。
【図面の簡単な説明】
【図1】本発明の一実施例による基本的な動作を示すフ
ローチャートである。
【図2】本発明の実施例が適用される計算機システムの
ハードウェア構成である。
【図3】図2の計算機システム内に適用される各プログ
ラムおよび各テーブルの構成図である。
【図4】処理要求制御テーブル204の詳細図である。
【図5】処理要求管理テーブル208の詳細図である。
【図6】処理要求受信プログラムの詳細な動作を示すフ
ローチャートである。
【図7】処理要求振分けプログラムの詳細な動作を示す
フローチャートである。
【図8】処理要求振分けプログラムの詳細な動作を示す
フローチャート(続き)である。
【図9】処理要求キューイングプログラムの詳細な動作
を示すフローチャートである。
【図10】処理要求処理・負荷計算プログラムの詳細な
動作を示すフローチャートである。
【図11】処理結果出力プログラムの詳細な動作を示す
フローチャートである。
【符号の説明】
101,102…振分け計算機、103,104,10
5…要求処理計算機、106…ネットワーク、107,
108…端末、201…処理要求受信プログラム、20
2…処理要求振分けキュー、203…処理要求振分けプ
ログラム、204…処理要求制御テーブル、205…処
理結果出力プログラム、206…処理要求キューイング
プログラム、207…処理要求キュー、208…処理要
求管理テーブル、209…処理要求処理・負荷計算プロ
グラム。

Claims (16)

    【特許請求の範囲】
  1. 【請求項1】処理要求を受付ける幾つかの振分け計算機
    と、処理要求を要求に従い処理する複数の要求処理計算
    機と、これらの計算機を結ぶネットワークとを備えた計
    算機システムに適用する負荷分散方法であって、 将来、処理要求の到着がないとしたときの要求処理計算
    機内の処理要求の当該要求処理計算機到着から処理終了
    までの時間の和である総暫定残余時間に基づいて、前記
    振分け計算機が、処理要求を要求処理計算機に割振るこ
    とを特徴とする計算機システムにおける負荷分散方法。
  2. 【請求項2】処理要求を受付ける幾つかの振分け計算機
    と、処理要求を要求に従い処理する複数の要求処理計算
    機と、これらの計算機を結ぶネットワークとを備えた計
    算機システムに適用する負荷分散方法であって、 前記振分け計算機は、将来、処理要求の到着がないとし
    たときの要求処理計算機内の処理要求の当該要求処理計
    算機到着から処理終了までの時間の和である総暫定残余
    時間が最小の要求処理計算機に、処理要求を割振ること
    を特徴とする計算機システムにおける負荷分散方法。
  3. 【請求項3】さらに、前記振分け計算機は、前記処理要
    求を、要求処理計算機での処理時間の期待値の上昇順に
    要求処理計算機に割振ることを特徴とする請求項1また
    は2に記載の計算機システムにおける負荷分散方法。
  4. 【請求項4】さらに、前記振分け計算機は、他の振分け
    計算機内の処理要求の要求処理計算機での処理時間の期
    待値を得て、その期待値が最小の処理要求を振分け計算
    機間での上記最小値の下降順に総暫定残余時間の小さい
    要求処理計算機から割振ることを特徴とする請求項1な
    いし3に記載の計算機システムにおける負荷分散方法。
  5. 【請求項5】前記振分け計算機は、前記総暫定残余時間
    の上昇順に幾つかの要求処理計算機を選んで処理要求を
    均等に割振ることを特徴とする請求項1ないし4に記載
    の計算機システムにおける負荷分散方法。
  6. 【請求項6】前記振分け計算機は、前記総暫定残余時間
    の上昇順に振分け計算機の台数分の要求処理計算機を選
    ぶことを特徴とする請求項5に記載の計算機システムに
    おける負荷分散方法。
  7. 【請求項7】前記振分け計算機は、処理要求の到着とは
    非同期に要求処理計算機から総暫定残余時間を得ること
    を特徴とする請求項1ないし6に記載の計算機システム
    における負荷分散方法。
  8. 【請求項8】前記振分け計算機は、処理要求の到着とは
    非同期に、前記要求処理計算機からの総暫定残余時間、
    および他の振分け計算機からの当該振分け計算機内の処
    理要求の要求処理計算機での処理時間の期待値の最小値
    を得ることを特徴とする請求項4ないし7に記載の計算
    機システムにおける負荷分散方法。
  9. 【請求項9】前記振分け計算機は、前記振分け計算機内
    の処理要求の要求処理計算機での処理時間の期待値を他
    の振分け計算機に送信した後に、要求処理計算機に処理
    要求を送信することを特徴とする請求項4ないし8に記
    載の計算機システムにおける負荷分散方法。
  10. 【請求項10】前記振分け計算機は、当該計算機内に要
    求処理計算機に一度に送る処理要求がただ1つあるとき
    に、当該処理要求を要求処理計算機に送信した後に、再
    び振分け計算機内に処理要求があるかを調べ、処理要求
    がないときは、その旨を他の振分け計算機に送信するこ
    とを特徴とする請求項4ないし9に記載の計算機システ
    ムにおける負荷分散方法。
  11. 【請求項11】前記要求処理計算機は、前記総暫定残余
    時間を処理要求の処理結果に重畳して送信することを特
    徴とする請求項1ないし10に記載の計算機システムに
    おける負荷分散方法。
  12. 【請求項12】前記要求処理計算機は、振分け計算機の
    総暫定残余時間に基づいて選択した振分け計算機に、処
    理要求に対する処理結果を送信することを特徴とする請
    求項1ないし11に記載の計算機システムにおける負荷
    分散方法。
  13. 【請求項13】前記要求処理計算機は、処理要求に対す
    る処理結果を、総暫定残余時間の小さい振分け計算機に
    送信することを特徴とする請求項12に記載の計算機シ
    ステムにおける負荷分散方法。
  14. 【請求項14】前記振分け計算機は、自機の総暫定残余
    時間を処理要求に重畳して送信することを特徴とする請
    求項12または13に記載の計算機システムにおける負
    荷分散方法。
  15. 【請求項15】前記総暫定残余時間の代りに、平均応答
    時間すなわち(総暫定残余時間)/(系内数)を用いる
    ことを特徴とする請求項1ないし14に記載の計算機シ
    ステムにおける負荷分散方法。
  16. 【請求項16】前記計算機システムが、ネットワークで
    計算機を結合する代りに、メモリを共有することで結合
    された計算機システムにおける請求項1ないし15に記
    載の計算機システムにおける負荷分散方法。
JP35053892A 1992-12-05 1992-12-05 計算機システムにおける負荷分散方法 Pending JPH06175984A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP35053892A JPH06175984A (ja) 1992-12-05 1992-12-05 計算機システムにおける負荷分散方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP35053892A JPH06175984A (ja) 1992-12-05 1992-12-05 計算機システムにおける負荷分散方法

Publications (1)

Publication Number Publication Date
JPH06175984A true JPH06175984A (ja) 1994-06-24

Family

ID=18411169

Family Applications (1)

Application Number Title Priority Date Filing Date
JP35053892A Pending JPH06175984A (ja) 1992-12-05 1992-12-05 計算機システムにおける負荷分散方法

Country Status (1)

Country Link
JP (1) JPH06175984A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09101902A (ja) * 1995-10-03 1997-04-15 Nec Corp ジョブスケジューリング方式
KR101533820B1 (ko) * 2009-09-25 2015-07-09 삼성전자 주식회사 메모리 관리장치 및 그 방법
US9250968B2 (en) 2008-09-26 2016-02-02 Samsung Electronics Co., Ltd. Method and memory manager for managing a memory in a multi-processing environment

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09101902A (ja) * 1995-10-03 1997-04-15 Nec Corp ジョブスケジューリング方式
US9250968B2 (en) 2008-09-26 2016-02-02 Samsung Electronics Co., Ltd. Method and memory manager for managing a memory in a multi-processing environment
KR101533820B1 (ko) * 2009-09-25 2015-07-09 삼성전자 주식회사 메모리 관리장치 및 그 방법

Similar Documents

Publication Publication Date Title
US7062768B2 (en) Dynamic load-distributed computer system using estimated expansion ratios and load-distributing method therefor
JP5041805B2 (ja) データストレージシステムのサービス品質コントローラ及びサービス品質方法
JP2001109638A (ja) 推定伸長率に基づくトランザクション負荷分散方法及び方式並びにコンピュータ可読記録媒体
US6195682B1 (en) Concurrent server and method of operation having client-server affinity using exchanged client and server keys
US8185908B2 (en) Dynamic scheduling in a distributed environment
US5031089A (en) Dynamic resource allocation scheme for distributed heterogeneous computer systems
JP3788697B2 (ja) メッセージ制御装置
JPH02247768A (ja) 分散処理システム及び分散処理連携方法
KR100479306B1 (ko) 작업 흐름 관리 방법 및 장치 및 수행 명령어를 포함하는 컴퓨터 판독가능 매체
CN112888005B (zh) 一种面向mec的分布式业务调度方法
CN106201681A (zh) Hadoop平台下基于预释放资源列表的任务调度算法
JPH06175984A (ja) 計算機システムにおける負荷分散方法
Hordijk et al. Analysis of a customer assignment model with no state information
JP2001251359A (ja) ネットワーク・ルータの直接顧客管理
Dandamudi The effect of scheduling discipline on dynamic load sharing in heterogeneous distributed systems
JP3487515B2 (ja) 分散処理システムおよび分散処理方法
CN110213178B (zh) 流量管理方法、集成芯片、及装置
US6542942B1 (en) Method and apparatus for processing calls on a multiprocessor communication system
JPH11195007A (ja) 分散処理システム及び分散処理方法
CN113157404B (zh) 任务处理方法和装置
JPH11143838A (ja) 分散処理システム
JPH0855091A (ja) 分散処理システムおよび分散処理システムにおける負荷分散方法
JPH05189390A (ja) トランザクションスケジューリング方式
JPH06197144A (ja) 通信路獲得方式
Kuri et al. On the optimal allocation of customers that must depart in sequence