JPH08329022A - マルチプロセッサシステムの入出力処理負荷分散制御方式 - Google Patents

マルチプロセッサシステムの入出力処理負荷分散制御方式

Info

Publication number
JPH08329022A
JPH08329022A JP13151195A JP13151195A JPH08329022A JP H08329022 A JPH08329022 A JP H08329022A JP 13151195 A JP13151195 A JP 13151195A JP 13151195 A JP13151195 A JP 13151195A JP H08329022 A JPH08329022 A JP H08329022A
Authority
JP
Japan
Prior art keywords
input
output processing
output
processor
response 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
JP13151195A
Other languages
English (en)
Inventor
Masanori Tomota
正憲 友田
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 JP13151195A priority Critical patent/JPH08329022A/ja
Publication of JPH08329022A publication Critical patent/JPH08329022A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】入出力処理の発生及び完了等の割り込み処理を
複数のプロセッサの中から最適なプロセッサに実行させ
る入出力処理負荷分散制御方式を提供する。 【構成】スケジューラ4によりいずれかの演算用プロセ
ッサ1a〜1bにスケジュールされ、各種入出力処理を
実行する入出力処理プロセス3a〜3bと、要求された
入出力処理をいずれの入出力処理プロセス3a〜3bが
実行するのかを示すリクエストチケットテーブル7と、
上記入出力処理プロセス3a〜3bそれぞれに対応して
設けられ、上記入出力処理プロセスが処理すべき上記要
求された入出力処理が登録されるリターンチケットテー
ブル5a〜5bと、上記入出力処理が要求された際に、
上記リクエストチケットテーブル7を参照し、このリク
エストチケットテーブルにより示されたリターンチケッ
トテーブルにこの入出力処理を登録する入出力処理負荷
分散部6とを具備してなることを特徴とする。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、複数のプロセッサから
なるマルチプロセッサシステムに適用して好適な入出力
処理負荷分散制御方式に関する。
【0002】
【従来の技術】従来の複数のプロセッサからなるマルチ
プロセッサシステムにおいては、外部記憶装置等の入出
力装置が入出力処理の完了等をプロセッサに通知するた
めに、入出力装置からいずれかのプロセッサに対して割
り込みを通知している。具体的には、各入出力装置から
割り込みコントローラを介していずれかのプロセッサに
割り込みを通知し、一方、この割り込みを受信したプロ
セッサは、割り込みの優先度や受信データ等のパラメー
タを受け取り、この割り込み処理を行うことにより入出
力処理の完了等の処理を行っている。
【0003】また、このときの入出力処理要求が、ディ
スク装置等への入出力処理要求であって、プロセッサ側
から発行されたものである場合には、その入出力処理要
求についての完了等の割り込みは、要求を発行したプロ
セッサに返答されるようになっている。この入出力処理
要求を発行したプロセッサは、この入出力処理要求に関
連した処理に必要な資源等を既に獲得していると考えら
れるため、この割り込み処理をこのプロセッサに行わせ
れば、その後の処理も効率良く行うことができる蓋然性
が高い。
【0004】一方、転送データ処理等のネットワークを
介した入出力処理では、ネットワーク入出力処理、即
ち、外部からの入出力処理の要求が発行された場合、そ
の入出力処理要求を受信してプロセッサに伝えることに
なるが、マルチプロセッサシステムの場合、割り込みコ
ントローラは、複数のプロセッサの中のいずれのプロセ
ッサに割り込むのが最も効率が良いかを上述したディス
ク装置等への入出力処理要求の場合のように判断するこ
とができない。なぜならば、割り込みコントローラ側に
は、いずれのプロセッサに、この入出力割り込み処理を
行わせるのが最も効率が良いか(例えば、これから獲得
すべき資源が最も少ない、他のプロセッサと競合しなく
て済む等)を判断する基準を持たないためである。
【0005】従来の技術では、割り込みを通知するプロ
セッサを最初から一意に決めておく方法や、順番に割り
込みを通知していく方法等が主に採用されている。ま
た、割り込みコントローラに対して、次に割り込みを通
知すべきプロセッサをプロセッサ側から指定する機能が
ついている場合には、システムの稼働状況に応じた、あ
る程度の負荷分散を行うことが可能である。しかし、こ
の負荷分散も、いつ発行されるのか時間的に推測できな
い次の割り込みに対して指定するものであり、実際に割
り込みが発生した時点では、割り込みを設定した時とプ
ロセッサの負荷状況が大きく異なっている場合がある。
【0006】図11を参照して従来のマルチプロセッサ
システムでの入出力処理の動作とその問題点を示す。図
11は従来のマルチプロセッサシステムでの入出力処理
の動作とその問題点を示す図である。
【0007】図11に示すマルチプロセッサシステムに
おいて、21a、21bはそれぞれ演算用プロセッサを
示しており、23は入出力装置を示している。また、2
2は入出力装置23から発行された入出力割り込みをい
ずれの演算用プロセッサ21a〜21bに通知するのか
を決定する割り込みコントローラである。
【0008】ここでは、まず、入出力処理を特定の演算
用プロセッサでのみ処理するマルチプロセッサシステム
を考え、演算用プロセッサ21a側でのみ入出力処理を
行うものとする。
【0009】この場合、入出力装置23から発行された
入出力割り込みは、割り込みコントローラ22から演算
用プロセッサ21aにのみ通知されることになる。この
ため、入出力装置23から発行された入出力割り込みが
非常に多く、演算用プロセッサ21aのみでは処理しき
れないほどの状態になっても、割り込みコントローラ2
2が通知する対象は演算用プロセッサ21aのみである
ために、演算用プロセッサ21bにこれらの処理の一部
を分散することができない。
【0010】次に、割り込みを特定のプロセッサではな
く、演算用プロセッサ21a〜21bに順番に割り振る
方法を取った場合を考えるが、この場合においても、以
下のような問題が発生する。
【0011】例えば、同一の入出力処理装置、即ち、入
出力装置23から短時間のうちに大量の入出力割り込み
が発生したような場合、これらの割り込みは、演算用プ
ロセッサ21a〜21bに均等に割り振られて通知され
る。
【0012】しかし、入出力処理では、ソフトウエアロ
ック等による排他制御を行っている部分が多く、各演算
用プロセッサで同一の入出力装置に対する処理が並列に
実施されることはほとんどない。また、複数の異なる演
算用プロセッサ間で排他制御による排他権限が移動して
いく場合、演算用プロセッサ相互間でのキャッシュデー
タの受け渡しができないために、キャッシュからメモリ
へのデータ転送、及びメモリからキャッシュへのデータ
転送を必要とし、効率が非常に悪くなる。
【0013】即ち、同一の入出力装置の入出力処理を均
等に各演算用プロセッサに割り振っても効率が向上する
ことはなく、短時間に大量の入出力が発生した場合に
は、キャッシュや排他制御をうまく使用するために、同
一の演算用プロセッサで、入出力処理を行った方が効率
がよい。このことから、割り込みを演算用プロセッサに
順番に割り振る方式によっても、入出力処理の効果的な
負荷分散を行うことはできないといえる。
【0014】
【発明が解決しようとする課題】上述したように、従来
の複数のプロセッサからなるマルチプロセッサシステム
においては、割り込みによる入出力処理の発生や終了等
をプロセッサに通知する場合、割り込みコントローラの
機能が限定されていることや、プロセッサの負荷及び現
在獲得している資源などの状況を推測する手段がない等
のことから、システム内の複数のプロセッサの中のいず
れのプロセッサに割り込みを通知すれば処理を効率よく
進めることができるかを判定できなかった。従って、予
め定められたプロセッサに割り込みを通知する、又は処
理効率をまったく考慮せずに割り込みの分散を図る等、
システム全体の負荷バランスを踏まえた処理の分散化が
図られていなかった。
【0015】本発明は、上記実情に鑑みてなされたもの
であり、複数のプロセッサからなるマルチプロセッサシ
ステムにおいて、入出力装置からの入出力処理の発生及
び完了等の割り込み処理を、システム全体の負荷バラン
スを考慮しつつ、複数のプロセッサの中から最適なプロ
セッサに実行させるマルチプロセッサシステムの入出力
処理負荷分散制御方式を提供することを目的とする。
【0016】
【課題を解決するための手段】本発明は、複数のプロセ
ッサからなるマルチプロセッサシステムであって、処理
プロセスを所定の規則に従ってこれら複数のプロセッサ
の中のいずれかのプロセッサにスケジュールするスケジ
ューラを備えたマルチプロセッサシステムの入出力処理
負荷分散制御方式において、上記スケジューラにより上
記複数のプロセッサの中のいずれかのプロセッサにスケ
ジュールされ、入出力装置から要求される各種入出力処
理を実行する複数の入出力処理プロセスと、所定の入出
力装置から要求された入出力処理を上記複数の入出力処
理プロセスの中のいずれの入出力処理プロセスが実行す
るのかを示すリクエストチケットテーブルと、上記入出
力処理プロセスそれぞれに対応して設けられ、上記入出
力処理プロセスが処理すべき上記要求された入出力処理
が登録されるリターンチケットテーブルと、上記入出力
処理が要求された際に、上記リクエストチケットテーブ
ルを参照し、このリクエストチケットテーブルにより示
されたリターンチケットテーブルにこの入出力処理を登
録する入出力処理負荷分散手段とを具備し、入出力装置
から要求される入出力処理の負荷をスケジューラのスケ
ジュール機能により分散することを特徴とする。
【0017】また、本発明は、上記複数の入出力処理プ
ロセスそれぞれを処理するプロセッサを予め設定してお
き、上記複数のプロセッサそれぞれから渡される入出力
処理の平均応答時間をプロセッサ単位に格納する平均応
答時間テーブルと、上記要求された入出力処理の回数を
入出力装置単位に格納する入出力処理回数テーブルとを
設け、上記入出力処理負荷分散手段に、さらに上記平均
応答時間テーブルに格納された平均応答時間の最も大き
いプロセッサの値が所定の基準値以上であるときに、上
記リクエストチケットテーブル及び入出力処理回数テー
ブルを参照し、このプロセッサが処理する入出力装置の
中から最も入出力処理の回数の多い入出力装置を検出し
て、この入出力装置の入出力処理を平均応答時間の最も
小さいプロセッサに割り振られるように上記リクエスト
チケットテーブルを更新する手段を備え、入出力装置か
ら要求される入出力処理の負荷を入出力処理負荷分散手
段の振分機能により分散することを特徴とする。
【0018】また、本発明は、さらに、上記マルチプロ
セッサシステムの稼働中におけるプロセッサ及び入出力
装置の増減を含むシステム構成の変更を検知する手段
と、この手段による検知結果に従って、上記入出力処理
プロセス、リクエストチケットテーブル、リターンチケ
ットテーブル、平均応答時間テーブル、及び入出力処理
回数テーブルを増減する手段とを具備し、システム稼働
中にシステム構成が変更された際においても、システム
の停止及び再起動を実施することなく最適な負荷分散を
継続して行うことを特徴とする。
【0019】
【作用】本発明によれば、入出力装置の入出力処理完了
等に基づく各種入出力処理を要求された際に、まず、入
出力処理負荷分散手段が、リクエストチケットテーブル
を参照し、このリクエストチケットテーブルにより示さ
れたリターンチケットテーブルに、この入出力処理を登
録する。
【0020】一方、入出力処理プロセスは、所定の規則
に従って、スケジューラにより複数のプロセッサの中の
いずれかのプロセッサにスケジュールされて実行され
る。このいずれかのプロセッサにスケジュールされて実
行された入出力処理プロセスは、それぞれに対応して設
けられたリターンチケットテーブルを参照し、このリタ
ーンチケットテーブルに登録された入出力処理を実行す
る。
【0021】入出力処理プロセスは、スケジューラのス
ケジュール機能により最も最適なプロセッサにスケジュ
ールされるため、結果的にシステム全体の負荷バランス
を考慮した入出力処理の負荷分散制御が実現されること
となる。また、同一の入出力装置から短期間に大量の入
出力処理を要求された場合でも、全て同一のリターンチ
ケットテーブルに登録されるため、同一演算用プロセッ
サ配下の同一入出力処理プロセスで実行されることにな
り、処理効率を損なうこともない。
【0022】また、本発明によれば、複数のプロセッサ
それぞれから渡される入出力処理の平均応答時間を平均
応答時間テーブルにプロセッサ単位に格納しておく。ま
た、各入出力装置から要求された入出力処理の回数を入
出力処理回数テーブルに入出力装置単位に格納してお
く。
【0023】この場合、入出力処理プロセスそれぞれを
処理するプロセッサを予め設定しておき、スケジューラ
のスケジュール機能によらず、以下の手順により入出力
処理の負荷分散制御を実現する。
【0024】即ち、入出力装置等から入出力処理を要求
された際に、入出力処理負荷分散手段は、リクエストチ
ケットテーブル及び平均応答時間テーブルを参照し、こ
の入出力装置の入出力処理を実行するプロセッサの平均
応答時間が所定の基準値以上になっていないかを判定す
る。
【0025】例えば、このプロセッサによる入出力処理
の平均応答時間が平均応答時間テーブルに格納された値
の中で最大であり、かつ他のプロセッサによる入出力処
理の平均応答時間の平均値の所定倍以上の値であるとき
に、所定の基準値以上とする等である。
【0026】このようにして判定された結果、平均応答
時間が所定の基準値以上とされた場合、今度は、この入
出力装置による入出力処理の回数が、このプロセッサが
行う入出力処理の中で最も多く行われているか否かを入
出力処理回数テーブルを参照して判定する。
【0027】ここで、この入出力装置による入出力処理
の回数が、このプロセッサが行う入出力処理の中で最も
多く行われていると判定された場合には、この入出力装
置による入出力処理を、他のプロセッサ、具体的には、
最も入出力処理の平均応答時間が小さいプロセッサに実
行されるように、リクエストチケットテーブルを更新す
る。
【0028】そして、入出力処理負荷分散手段は、リク
エストチケットテーブルにより示されたリターンチケッ
トテーブルに、この入出力処理を登録する。このよう
に、各プロセッサの負荷に応じて動的にリクエストチケ
ットテーブルを更新することにより、システムの稼働状
況に応じた入出力処理の負荷分散制御が実現されること
となる。
【0029】また、本発明によれば、検知手段が、マル
チプロセッサシステムの稼働中におけるプロセッサ及び
入出力装置の増減を含むシステム構成の変更を検知し、
この検知結果に従って、増減手段が、入出力処理プロセ
ス、リクエストチケットテーブル、リターンチケットテ
ーブル、平均応答時間テーブル、及び入出力処理回数テ
ーブルを増減する。
【0030】これにより、システム稼働中にシステム構
成が変更された際においても、システムの停止及び再起
動を実施することなく最適な負荷分散を継続して行うこ
とを可能とする。
【0031】
【実施例】以下図面を参照して本発明の実施例を説明す
る。まず、図1乃至図4を参照して本発明の第1実施例
を説明する。図1は、第1実施例に係る入出力処理負荷
分散制御方式を適用してなるマルチプロセッサシステム
の概略構成図である。
【0032】同実施例に係るマルチプロセッサシステム
は、図1に示すように、複数の演算用プロセッサ1a〜
1bによりプロセスが処理される。また、この演算用プ
ロセッサ1a〜1bにて実行されるプロセスは、プロセ
スキュー2に蓄えられ、実行待ちの状態となる。そし
て、各種入出力処理を実行する入出力処理プロセス3a
〜3bを、演算用プロセッサ1a〜1bと同じ数だけ設
定する。
【0033】スケジューラ4は、プロセスキュー2に蓄
えられて実行待ちとなっているプロセスを、演算用プロ
セッサ1a〜1bのいずれかにスケジュールする。この
スケジュールは、演算用プロセッサ1a〜1bの稼働状
況等に応じて、その都度この処理を行うのに最適と判断
された演算用プロセッサに対して行われる。
【0034】リターンチケットテーブル5a〜5bは、
入出力処理プロセス3a〜3bそれぞれに対応して設け
られ、これら入出力処理プロセス3a〜3bが処理すべ
き入出力処理が登録される。
【0035】また、入出力処理負荷分散部6は、入出力
処理の要求を、リクエストチケットテーブル7の設定に
従って、リターンチケットテーブル5a〜5bのいずれ
かに登録する。このリクエストチケットテーブル7は、
入出力装置単位に、要求された入出力処理をいずれのリ
ターンチケットテーブル5a〜5bに登録すべきかを示
すものである。
【0036】いま、例えば入出力装置の入出力処理完了
等に基づく入出力処理要求の割り込みが発生したとする
と、まず、入出力処理負荷分散部6が、リクエストチケ
ットテーブル7を参照し、この入出力処理をリターンチ
ケットテーブル5a〜5bのいずれかに登録する。
【0037】例えば、リクエストチケットテーブル7
が、図2に示すように設定されていた場合、入出力装置
番号が1及び3の入出力装置の入出力処理は、0の番号
で認識されるリターンチケットテーブルに登録され、ま
た、入出力装置番号が2の入出力装置の入出力処理は、
1の番号で認識されるリターンチケットテーブルに登録
される。
【0038】また、図3は、0の番号で認識されるリタ
ーンチケットテーブルを示す概念図であり、入出力処理
負荷分散部6により入出力装置番号が1及び3の入出力
装置の入出力処理が登録されている状態を示している。
【0039】なお、このリクエストチケットテーブル7
は、入出力処理がリターンチケットテーブル5a〜5b
に均一に分散されるように予め設定しておく。一方、入
出力処理プロセス3a〜3bは、特定の演算用プロセッ
サで実行されるものではなく、スケジューラ4のスケジ
ュール機能により、稼働状況等に応じて最適と判断され
た演算用プロセッサ1a〜1bにスケジュールされ実行
される。この最適と判断された演算用プロセッサ1a〜
1bにスケジュールされ実行された入出力処理プロセス
3a〜3bは、それぞれに対応して設けられたリターン
チケットテーブル5a〜5bを参照し(入出力処理プロ
セス3aはリターンチケットテーブル5a、入出力処理
プロセス3bはリターンチケットテーブル5bをそれぞ
れ参照する。)、リターンチケットテーブル5a〜5b
に登録された入出力処理を実行する。
【0040】この入出力処理プロセス3a〜3bは、実
行中の入出力処理が終了した際、再度リターンチケット
テーブル5a〜5bを参照し、処理待ちの入出力処理が
登録されていないかをチェックする。そして、処理待ち
の入出力処理が登録されている場合には、引き続きその
処理待ちの入出力処理を実行する。これにより、同一の
入出力装置から短期間に大量の入出力処理が発生した場
合に、連続して同一の演算プロセッサ配下の同一入出力
処理プロセスで処理されることになる。
【0041】なお、処理待ちの入出力処理がリターンチ
ケットテーブル5a〜5bに登録されていない状態にな
ると、入出力処理プロセス3a〜3bは終了してプロセ
スキュー2に再投入される。従って、次に演算プロセッ
サにスケジュールされる際には、その時点で最も最適と
判断された演算用プロセッサにスケジュールされること
となる。
【0042】これにより、システム全体の負荷バランス
を考慮した入出力処理の負荷分散制御が実現され、かつ
同一の入出力装置から短期間に大量の入出力処理が発生
した場合等の処理効率を損なうこともない。
【0043】図4を参照して第1実施例の動作を説明す
る。図4は第1実施例の動作を説明するためのフローチ
ャートである。入出力装置の入出力処理完了等に基づく
入出力処理要求が発生すると(図4のステップA1)、
入出力処理分散部6は、リクエストチケットテーブル7
を参照し、リクエストチケットテーブル7に示されたリ
ターンテーブル5a〜5bにこの入出力処理を登録する
(図4のステップA2)。
【0044】一方、スケジューラ4は、プロセスキュー
2に登録されている入出力処理プロセス3a〜3bを稼
働状況等に応じて演算用プロセッサ1a〜1bのいずれ
かにスケジュールする(図4のステップA3)。
【0045】そして、この演算用プロセッサ1a〜1b
のいずれかにスケジュールされた入出力処理プロセス3
a〜3bは、リターンチケットテーブル5a〜5bに登
録されている入出力処理を実行する(図4のステップA
4)。
【0046】これによりシステム全体の負荷バランスを
考慮した入出力処理の負荷分散制御が実現される。次
に、図5乃至図9を参照して本発明の第2実施例を説明
する。
【0047】図5は、第2実施例に係る入出力処理負荷
分散制御方式を適用してなるマルチプロセッサシステム
のを概略構成図である。同実施例に係るマルチプロセッ
サシステムは、第1実施例のマルチプロセッサシステム
の構成に加え、さらに、平均応答時間テーブル9及び入
出力処理回数テーブル10を設ける。
【0048】この平均応答時間テーブル9は、演算用プ
ロセッサ1a〜1bそれぞれから渡される各種入出力処
理の平均応答時間を格納する。また、入出力処理回数テ
ーブル10は、各入出力装置から要求された入出力処理
の回数を入出力装置単位に格納する。
【0049】同実施例では、入出力処理プロセス3a〜
3bそれぞれを処理する演算用プロセッサ1a〜1bを
予め特定の演算用プロセッサ1a〜1bに連結させてお
き、スケジューラ4は、プロセスキュー2に蓄えられた
入出力処理プロセス3a〜3bを、予め設定により指定
された演算用プロセッサ1a〜1bにスケジュールす
る。
【0050】いま、例えば入出力装置の入出力処理完了
等に基づく入出力処理要求の割り込みが発生したとする
と、まず、入出力処理負荷分散部6が、リクエストチケ
ットテーブル7を参照し、この入出力装置の入出力処理
をリターンチケットテーブル5a〜5bのいずれに登録
すべきものなのか、即ち演算用プロセッサ1a〜1bの
いずれに実行させるべきものなのかを判定する(同実施
例では、入出力処理プロセスを実行する演算用プロセッ
サが静的に連結されているため、リターンチケットテー
ブルの選択が、そのまま演算用プロセッサの選択とな
る)。
【0051】この判断により、登録すべきリターンチケ
ットテーブル、即ち、処理を行う演算用プロセッサが判
明すると、今度は、平均応答時間テーブルを参照し、こ
の演算用プロセッサの平均応答時間が、他の演算用プロ
セッサの平均応答時間の平均値に対して所定の基準以上
の値になっていないかを判定する。
【0052】そして、この判定の結果、所定の基準以上
の値になっていることが判明した場合、さらに、入出力
処理回数テーブル10を参照し、この入出力装置の入出
力要求が、その演算用プロセッサが処理する入出力装置
中、最も回数が多いものであるか否かを判定する。
【0053】ここで、最も回数が多いと判定された場
合、入出力処理負荷分散部6は、この入出力装置の入出
力処理を最も平均応答時間の小さい演算用プロセッサに
処理させるように、リクエストチケットテーブル7を更
新する。
【0054】例えば、リクエストチケットテーブル7が
図6に示すように設定されている状態で、入出力装置番
号が5の入出力装置からの入出力処理要求が発生した場
合、入出力処理負荷分散部6は、リクエストチケットテ
ーブル7を参照することにより、この入出力処理を2番
の演算プロセッサに処理させるものであることを認識す
る。
【0055】ここで、入出力処理負荷分散部6は、今度
は平均応答時間テーブル10を参照し、この2番の演算
プロセッサの応答時間が他の演算プロセッサの平均応答
時間の平均値に対して所定倍以上の値となっていないか
を判定する。
【0056】例えば、平均応答時間テーブル10が図7
に示すようになっており、かつ、基準を2倍以内とする
と、2番以外の演算プロセッサの平均応答時間の平均値
は、(1200+2400)/2=1800となり、2
番の演算プロセッサの平均応答時間は、この値の2倍以
上となる。
【0057】このとき、入出力処理負荷分散部6は、さ
らに入出力処理回数テーブル10を参照し、入出力装置
番号が5の入出力装置が、2番の演算プロセッサの処理
する入出力処理の中で最も多いものであるか否かを判定
する。例えば、入出力処理回数テーブル10が、図8に
示す状態である場合、2番の演算プロセッサの処理する
入出力処理装置は、リクエストチケットテーブル7から
3番と5番であることが分かり、これにより、この5番
の入出力処理装置の入出力処理の回数が、2番の演算プ
ロセッサの処理する入出力処理装置の入出力処理中最も
多いものであることが判明する。
【0058】このとき、入出力処理負荷分散部6は、こ
の5番の入出力処理装置の入出力処理を最も平均応答時
間の小さい演算プロセッサに処理させるように、リクエ
ストチケットテーブル7を更新する。この場合、0番の
演算用プロセッサが最も平均応答時間の小さい演算プロ
セッサになるため、リクエストチケットテーブル7の5
番の入出力処理装置の入出力処理を行う演算用プロセッ
サを2番から0番に更新する。
【0059】この後、入出力負荷分散部6は、リクエス
トチケットテーブル7に従って、リターンチケットテー
ブルにこの入出力処理を登録する。このように、各演算
用プロセッサの平均応答時間と入出力処理の回数を考慮
して、リクエストチケットテーブルを動的に更新してい
くことにより、システムの稼働状況に応じた入出力処理
の負荷分散制御が実現されることとなる。
【0060】図9を参照して第2実施例の動作を説明す
る。図9は第2実施例の動作を説明するためのフローチ
ャートである。入出力装置の入出力処理完了等に基づく
入出力処理要求が発生すると(図9のステップB1)、
入出力処理分散部6は、まず入出力処理回数テーブル1
0のカウントアップを行う(図9のステップB2)。
【0061】次に入出力処理分散部6は、リクエストチ
ケットテーブルを参照し、この入出力処理を行う演算用
プロセッサ番号を取得し(図9のステップB3)、さら
に平均応答時間テーブル9を参照し、この演算用プロセ
ッサ番号の平均応答時間を取得する(図9のステップB
4) ここで、入出力処理分散部6は、この平均応答時間が、
他の演算用プロセッサの平均応答時間の平均値に対し、
所定の基準値以上になっていないかを判定する(図9の
ステップB5)。
【0062】ここで、基準値以上であると判定された場
合には(図9のステップB5のY)、さらに入出力処理
の発生回数がこの演算用プロセッサ中最多であるか否か
を判定する(図9のステップB6)。
【0063】ここで、最多であると判定された場合には
(図9のステップB6のY)、この入出力装置の入出力
処理を、最も平均応答時間の小さい演算用プロセッサに
処理させるように、リクエストチケットテーブルを更新
する(図9のステップB7)。
【0064】この後、入出力処理負荷分散部6は、リク
エストチケットテーブルにより指定されたリターンテー
ブルに、この入出力処理を登録する(図9のステップB
8)。
【0065】一方、スケジューラ4は、プロセスキュー
2に登録されている入出力処理プロセスを予め設定によ
り指定された演算用プロセッサにスケジュールする(図
9のステップB9)。そして、この予め設定により指定
された演算用プロセッサにスケジュールされた入出力処
理プロセスは、リターンチケットテーブルに登録されて
いる入出力処理を実行する(図9のステップB10)。
【0066】これにより、スケジューラのスケジュール
機能によらずにシステム全体の負荷バランスを考慮した
入出力処理の負荷分散制御が実現される。なお、図10
に示すように、さらに装置設置検出部11を設け、マル
チプロセッサシステムの稼働中における演算用プロセッ
サ及び入出力装置等の増減を含むシステム構成の変更を
検知し、この検知結果に従って、入出力処理プロセス、
リクエストチケットテーブル、リターンチケットテーブ
ル、平均応答時間テーブル、及び入出力処理回数テーブ
ルの増減を動的に実施させれば、システム稼働中にシス
テム構成が変更された際においても、システムの停止及
び再起動を実施することなく最適な負荷分散を継続して
行うことを可能とする。
【0067】
【発明の効果】以上詳述したように本発明によれば、処
理効率を損なうことなくシステム全体の負荷バランスを
考慮した入出力処理の負荷分散制御が実現され、また、
システム稼働中にシステム構成が変更された際において
も、システムの停止及び再起動を実施することなく最適
な負荷分散を継続して行うことを可能とする。
【図面の簡単な説明】
【図1】本発明の第1実施例に係る入出力処理負荷分散
制御方式を適用してなるマルチプロセッサシステムの概
略構成図。
【図2】第1実施例に係るリクエストチケットテーブル
を示す概念図。
【図3】第1実施例に係るリターンチケットテーブルを
示す概念図。
【図4】第1実施例の動作を説明するためのフローチャ
ート。
【図5】本発明の第2実施例に係る入出力処理負荷分散
制御方式を適用してなるマルチプロセッサシステムの概
略構成図。
【図6】第2実施例に係るリクエストチケットテーブル
を示す概念図。
【図7】第2実施例に係る平均応答時間テーブルを示す
概念図。
【図8】第2実施例に係る入出力処理回数テーブルを示
す概念図。
【図9】第2実施例の動作を説明するためのフローチャ
ート。
【図10】装置設置検出手段を備えた入出力処理負荷分
散制御方式を適用してなるマルチプロセッサシステムの
概略構成図。
【図11】従来のマルチプロセッサシステムでの入出力
処理の動作とその問題点を示す図。
【符号の説明】
1a,1b…演算用プロセッサ、2…プロセスキュー、
3a,3b…入出力処理プロセス、4…スケジューラ、
5a,5b…リターンチケットテーブル、6…入出力処
理分散部、7…リクエストチケットテーブル、8…各種
入出力処理、9…平均応答時間、10…入出力処理回数
テーブル、11…装置設置検知部。

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 複数のプロセッサからなるマルチプロセ
    ッサシステムであって、処理プロセスを所定の規則に従
    ってこれら複数のプロセッサの中のいずれかのプロセッ
    サにスケジュールするスケジューラを備えたマルチプロ
    セッサシステムの入出力処理負荷分散制御方式におい
    て、 上記スケジューラにより上記複数のプロセッサの中のい
    ずれかのプロセッサにスケジュールされ、入出力装置か
    ら要求される各種入出力処理を実行する複数の入出力処
    理プロセスと、所定の入出力装置から要求された入出力
    処理を上記複数の入出力処理プロセスの中のいずれの入
    出力処理プロセスが実行するのかを示すリクエストチケ
    ットテーブルと、上記入出力処理プロセスそれぞれに対
    応して設けられ、上記入出力処理プロセスが処理すべき
    上記要求された入出力処理が登録されるリターンチケッ
    トテーブルと、上記入出力処理が要求された際に、上記
    リクエストチケットテーブルを参照し、このリクエスト
    チケットテーブルにより示されたリターンチケットテー
    ブルにこの入出力処理を登録する入出力処理負荷分散手
    段とを具備し、入出力装置から要求される入出力処理の
    負荷をスケジューラのスケジュール機能により分散する
    ことを特徴とするマルチプロセッサシステムの入出力処
    理負荷分散制御方式。
  2. 【請求項2】 上記複数の入出力処理プロセスそれぞれ
    を処理するプロセッサを予め設定しておき、上記複数の
    プロセッサそれぞれから渡される入出力処理の平均応答
    時間をプロセッサ単位に格納する平均応答時間テーブル
    と、上記要求された入出力処理の回数を入出力装置単位
    に格納する入出力処理回数テーブルとを設け、上記入出
    力処理負荷分散手段に、さらに上記平均応答時間テーブ
    ルに格納された平均応答時間の最も大きいプロセッサの
    値が所定の基準値以上であるときに、上記リクエストチ
    ケットテーブル及び入出力処理回数テーブルを参照し、
    このプロセッサが処理する入出力装置の中から最も入出
    力処理の回数の多い入出力装置を検出して、この入出力
    装置の入出力処理を平均応答時間の最も小さいプロセッ
    サに割り振られるように上記リクエストチケットテーブ
    ルを更新する手段を備え、入出力装置から要求される入
    出力処理の負荷を入出力処理負荷分散手段の振分機能に
    より分散することを特徴とする請求項1記載のマルチプ
    ロセッサシステムの入出力処理負荷分散制御方式。
  3. 【請求項3】 さらに、上記マルチプロセッサシステム
    の稼働中におけるプロセッサ及び入出力装置の増減を含
    むシステム構成の変更を検知する手段と、この手段によ
    る検知結果に従って、上記入出力処理プロセス、リクエ
    ストチケットテーブル、リターンチケットテーブル、平
    均応答時間テーブル、及び入出力処理回数テーブルを増
    減する手段とを具備し、システム稼働中にシステム構成
    が変更された際においても、システムの停止及び再起動
    を実施することなく最適な負荷分散を継続して行うこと
    を特徴とする請求項1又は2記載のマルチプロセッサシ
    ステムの入出力処理負荷分散制御方式。
JP13151195A 1995-05-30 1995-05-30 マルチプロセッサシステムの入出力処理負荷分散制御方式 Pending JPH08329022A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP13151195A JPH08329022A (ja) 1995-05-30 1995-05-30 マルチプロセッサシステムの入出力処理負荷分散制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13151195A JPH08329022A (ja) 1995-05-30 1995-05-30 マルチプロセッサシステムの入出力処理負荷分散制御方式

Publications (1)

Publication Number Publication Date
JPH08329022A true JPH08329022A (ja) 1996-12-13

Family

ID=15059753

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13151195A Pending JPH08329022A (ja) 1995-05-30 1995-05-30 マルチプロセッサシステムの入出力処理負荷分散制御方式

Country Status (1)

Country Link
JP (1) JPH08329022A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6237058B1 (en) 1997-06-16 2001-05-22 Nec Corporation Interrupt load distribution system for shared bus type multiprocessor system and interrupt load distribution method
JP2010055296A (ja) * 2008-08-27 2010-03-11 Fujitsu Ltd 負荷分散プログラム及び負荷分散装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6237058B1 (en) 1997-06-16 2001-05-22 Nec Corporation Interrupt load distribution system for shared bus type multiprocessor system and interrupt load distribution method
JP2010055296A (ja) * 2008-08-27 2010-03-11 Fujitsu Ltd 負荷分散プログラム及び負荷分散装置

Similar Documents

Publication Publication Date Title
US8612986B2 (en) Computer program product for scheduling ready threads in a multiprocessor computer based on an interrupt mask flag value associated with a thread and a current processor priority register value
JP3008896B2 (ja) 共有バス型マルチプロセッサシステムの割り込み負荷分散システム
US5390329A (en) Responding to service requests using minimal system-side context in a multiprocessor environment
US7137115B2 (en) Method for controlling multithreading
JPH07141305A (ja) 並列計算機の実行制御方法
JPH08329022A (ja) マルチプロセッサシステムの入出力処理負荷分散制御方式
JP3859564B2 (ja) イベント通知タスク制御処理方式及び方法並びにプログラム
JPS63300326A (ja) トランザクション実行スケジュ−ル方式
WO2024120118A1 (zh) 中断请求处理方法、系统、设备及计算机可读存储介质
JPH08314740A (ja) プロセスディスパッチ方法
JPH0512173A (ja) 情報処理装置
JPS6152761A (ja) 演算装置
JPH01258135A (ja) トランザクション実行制御方式
JPH04367035A (ja) 複数タスクの実時間処理装置
JPH05257718A (ja) プロセス制御装置
WO1992003783A1 (en) Method of implementing kernel functions
JPS60147845A (ja) 巡環パイプライン型デ−タフロ−計算機の負荷制御方式
WO1992003784A1 (en) Scheduling method for a multiprocessing operating system
JPH07311687A (ja) タスク実行制御方式
JPH04245560A (ja) バッチ処理プログラム動的実行管理方式
JPS6010381A (ja) マルチプロセツサシステムにおける入出力割込受付プロセツサの決定方式
JPH0319036A (ja) タイムスライスインターバルを使用したダイナミックディスパッチング方式
JPS63239537A (ja) タスク制御方法
JPH1074183A (ja) ジョブ起動方法ならびにそのためのジョブ起動システムおよび記憶媒体
JPH01246636A (ja) 仮想計算機システムの中央処理装置管理方式