JP3189874B2 - I/oリクエスト発行スケジュール装置 - Google Patents

I/oリクエスト発行スケジュール装置

Info

Publication number
JP3189874B2
JP3189874B2 JP11185397A JP11185397A JP3189874B2 JP 3189874 B2 JP3189874 B2 JP 3189874B2 JP 11185397 A JP11185397 A JP 11185397A JP 11185397 A JP11185397 A JP 11185397A JP 3189874 B2 JP3189874 B2 JP 3189874B2
Authority
JP
Japan
Prior art keywords
request
schedule
class
driver
management unit
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
JP11185397A
Other languages
English (en)
Other versions
JPH10289189A (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
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP11185397A priority Critical patent/JP3189874B2/ja
Publication of JPH10289189A publication Critical patent/JPH10289189A/ja
Application granted granted Critical
Publication of JP3189874B2 publication Critical patent/JP3189874B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【発明が属する技術分野】本発明は入出力プロセッサ
(Input/Outputプロセッサ:以後、IOP
と略記する)によるI/O(Input/Outpu
t:以後、I/Oと略記する)サブシステムを採用する
コンピュータシステムに関し、特にI/Oサブシステム
へのI/Oリクエストの発行をスケジューリングするI
/Oリクエスト発行スケジュール装置に関する。
【0002】
【従来の技術】I/Oサブシステムは、IOPと呼ばれ
る専用のプロセッサを置いて、従来、CPU(Cent
ral Processing Unit)でOS(O
perating System)によって行われてき
た入出力処理を、このIOPに行わせるシステムであ
る。I/Oサブシステムは、通常のチャネル制御のほ
か、入出力割り込み,エラー処理,仮想アドレスから実
アドレスヘの変換などの入出力処理をすべて分担し、C
PUを本来の演算処理に専念させ、コンピュータシステ
ム全体のスループットを向上させるものである。
【0003】あるコンピュータシステムのIOPは、リ
クエストバッファを持ち、バッファに登録されたI/O
リクエストを登録順に逐次処理する。このようなコンピ
ュータシステムにおいて、IOPで低速な入出力装置
(以下、単に装置という)へ大量のI/Oリクエストを
発行した場合、この装置へのI/Oリクエストを処理し
ている間は処理が遅くなるので、I/Oサブシステム全
体の受け付け処理のスループットの低下が発生する。一
般的には、ドライバ内部でI/Oリクエスト数を制限
し、I/Oリクエストの発行を調節することでスループ
ットの低下を回避している。しかし、ドライバの管理で
は、コンピュータシステム全体のスループットまでは管
理できないため、コンピュータシステムの構成に対応し
てI/Oリクエストの発行数や発行間隔についてチュー
ニングが必要となっていた。
【0004】
【発明が解決しようとする課題】第1の問題点は、上記
条件でのスループットの低下である。これは、多種の装
置をl台のIOPで逐次処理するコンピュータシステム
では避けられなかった。
【0005】第2の問題点は、第1の問題点を解決する
場合、各装置を制御するドライバで監視すればよいが、
装置構成が大幅に変わるようなコンピュータシステムの
場合、装置の種類全てに最適なドライバを提供するのは
難しく、複雑な処理になるということである。
【0006】第3の問題点は、各装置のドライバが対応
できたとしても、他の装置への影響は考慮されないた
め、コンピュータシステム全体のスループットが向上し
ないことが予想されるということである。
【0007】本発明の目的は、I/Oサブシステムが高
負荷状態になっている原因が特定の装置へのI/Oリク
エストの滞留である場合に、その装置へのI/Oリクエ
ストの発行を自動的に制限し、他の装置へのI/Oリク
エストを優先することでコンピュータシステム全体のス
ループットの低下を抑えるI/Oリクエスト発行スケジ
ュール装置を提供することにある。
【0008】
【課題を解決するための手段】本発明のI/Oリクエス
ト発行スケジュール装置は、I/Oサブシステムを備
え、各装置に対応するドライバのドライバリクエスト管
理部がI/Oサブシステムリクエスト受け付け部へのI
/Oリクエストの発行を管理するコンピュータシステム
において、前記ドライバリクエスト管理部からのI/O
リクエストを各ドライバ対応に受け付けるドライバスケ
ジュール管理部と、このドライバスケジュール管理部で
受け付けられたI/Oリクエストをクラス毎に登録する
とともに登録時刻を取得するスケジュールリクエスト作
成部と、このスケジュールリクエスト作成部でクラス毎
に登録されたI/Oリクエストを[登録時刻*スケジュ
ールパラメータ]なる評価式を使用してI/Oリクエス
トの発行順序を決定して前記I/Oサブシステムリクエ
スト受け付け部に発行するスケジュール管理部とを有す
る。特にI/Oリクエストが属するクラスの発行中リ
クエストの数がI/Oリクエスト限界値であるならばス
ケジュールパラメータの値を変動値だけ加算する前記ス
ケジュール管理部と、前記I/Oサブシステムリクエス
ト受け付け部からI/Oリクエストの完了通知を受け、
クラスのスケジュールパラメータが規定値以上である場
合には、当該クラスの発行中リクエストの数がある値よ
り小さくなっていればスケジュールパラメータを規定値
にリセットするI/Oリクエスト完了状態管理部とを備
え、I/Oリクエストの発行スケジュールを動的に変更
できるようにする。
【0009】本発明の機械読み取り可能な記録媒体は、
コンピュータを、ドライバリクエスト管理部からのI/
Oリクエストを各ドライバ対応に受け付けるドライバス
ケジュール管理部,このドライバスケジュール管理部で
受け付けられたI/Oリクエストをクラス毎に登録する
とともに登録時刻を取得するスケジュールリクエスト作
成部,このスケジュールリクエスト作成部でクラス毎に
登録されたI/Oリクエストを[登録時刻*スケジュー
ルパラメータ]なる評価式を使用してI/Oリクエスト
の発行順序を決定してI/Oサブシステムリクエスト受
け付け部に発行するとともにI/Oリクエストが属する
クラスの発行中リクエストの数がI/Oリクエスト限界
値であるならばスケジュールパラメータの値を変動値だ
け加算するスケジュール管理部,および前記I/Oサブ
システムリクエスト受け付け部からI/Oリクエストの
完了通知を受け、クラスのスケジュールパラメータが規
定値以上である場合には、当該クラスの発行中リクエス
トの数がある値より小さくなっていればスケジュールパ
ラメータを規定値にリセットするI/Oリクエスト完了
状態管理部として機能させるためのプログラムを記録す
る。
【0010】
【発明の実施の形態】次に、本発明の実施の形態につい
て図面を参照して詳細に説明する。
【0011】図1は、本発明の第1の実施の形態に係る
I/Oリクエスト発行スケジュール装置100が配置さ
れたコンピュータシステムの要部を示すブロック図であ
る。本実施の形態に係るI/Oリクエスト発行スケジュ
ール装置100は、各ドライバ対応に設けられたドライ
バスケジュール管理部111,112,113,114
と、クラステーブル群205を含むスケジュールリクエ
スト作成部120と、I/Oリクエストを各クラス毎に
管理し優先度の高い順にI/Oサブシステムリクエスト
受け付け部140に発行するスケジュール管理部130
と、コンピュータシステムの起動後の経過時間を示すシ
ステム時間カウンタ(図示せず)から得られる現在時刻
160と、I/Oサブシステムリクエスト受け付け部1
40からI/Oリクエストの完了通知を受け、クラスの
スケジュールパラメータが規定値以上である場合には、
当該クラスのエントリ数がある値より小さくなっていれ
ばスケジュールパラメータを規定値にリセットするI/
Oリクエスト完了状態管理部170と、I/Oリクエス
ト完了状態管理部170の処理後に、対応するドライバ
のドライバリクエスト管理部101,102,103,
104にI/Oリクエストの完了を通知するI/Oリク
エスト完了通知部180とから構成されている。
【0012】本実施の形態は、各ドライバと各装置15
1,152,153,154とが1対1(4ドライバ、
4装置)に対応する場合の構成である。ドライバリクエ
スト管理部101,102,103,104は、装置1
51,152,153,154への操作を引き受ける各
ドライバ内で管理される。例えば、ドライバリクエスト
管理部101は、装置151を制御するものである。ド
ライバリクエスト管理部101,102,103,10
4は、上位モジュールから対象とする装置へのI/Oリ
クエストを受け付け、キューイングの先頭にあるI/O
リクエストから順にI/Oサブシステムヘ要求するため
の機能を持つ。例えば、ドライバリクエスト管理部10
1の場合は、I/Oリクエスト1011が最初にI/O
リクエスト発行スケジュール装置100へ要求され、次
にI/Oリクエスト1012が要求される。ドライバリ
クエスト管理部101は、I/Oリクエスト発行スケジ
ュール装置100のドライバスケジュール管理部111
と対応づけられる。
【0013】ドライバスケジュール管理部111,11
2,113,114は、各ドライバ対応に設けられ、対
応する各ドライバとI/Oリクエスト発行スケジュール
装置100との間で必要な情報を管理する。
【0014】I/Oリクエスト発行スケジュール装置1
00では、”クラス”という単位でI/Oリクエストが
スケジュール管理されるので、各ドライバはあるクラス
に属する必要がある。そのため、ドライバ毎にあるドラ
イバスケジュール管理部111,112,113,11
4は、スケジュールリクエスト作成部120内のクラス
テーブル205群のいずれかのクラステーブル206,
207,208,209(図2参照)と対応づけられて
いる。
【0015】図2は、ドライバスケジュール管理部11
1,112,113,114とクラステーブル206,
207,208,209との関係を示す図である。ドラ
イバスケジュール管理部111は、ドライバ発行中リク
エストカウンタ2011と、ドライバ発行完了カウンタ
2012と、ドライバ内完了カウンタ2013と、クラ
ステーブル206とのリンクを示すクラス識別子201
4と、リクエスト再発行時の管理テーブル2015とを
持つ。本例では、ドライバスケジュール管理部l11,
112,113,114は、クラステーブル206,2
07,208,209にそれぞれ対応する。
【0016】各クラステーブル206,207,20
8,209は、クラスに属する全ドライバに共通の情報
を格納する。すなわち、クラステーブル206で説明す
ると、このクラスで発行できるI/Oリクエスト限界値
2061と、スケジュールパラメータVAL2062
と、変動値MOD2063と、発行待ちカウンタ206
4とを格納しており、これらはスケジュール管理部13
0で参照される。発行待ちカウンタ2064は、複数の
ドライバがクラスに登録されたときの排他制御に用いる
が、これは1より大きな値を持たないようにする必要が
ある。
【0017】図3は、スケジュール管理部130の内容
を示す図である。スケジュール管理部130は、内部に
各クラスについて、I/Oリクエスト発行スケジュール
装置100で受け付けたI/Oリクエストについて管理
するスケジュール管理テーブル群300を持ち、各クラ
ステーブル206,207,208,209は各クラス
スケジュール管理テーブル301,302,303,3
04にそれぞれ対応している。スケジュール管理部13
0は、I/Oリクエストをテーブル管理しながら、I/
Oサブシステムへの次のI/Oリクエストを決定する。
【0018】スケジュール管理テーブル群300は、発
行待ちリクエスト(1個のみ許される)と、発行中リク
エストとに分割される。クラステーブル206に属する
I/Oリクエストは、クラススケジュール管理テーブル
301で管理され、このクラスの発行待ちリクエストは
3110で、発行中リクエストは3212,3213と
なる。注意することは、各クラスの発行待ちリクエスト
は1個しか存在しないようにすることである。
【0019】スケジュール管理部130は、スケジュー
ル管理テーブル群300以外に、各クラスの全体を管理
するために、I/Oサブシステム発行中カウンタ30
5,I/Oサブシステム完了カウンタ306,I/Oサ
ブシステム完了通知カウンタ307,およびID(ID
entification)カウンタ308の各情報を
持つ。
【0020】スケジュール管理部130は、各クラス毎
にI/Oリクエストを管理し、I/Oサブシステムリク
エスト受け付け部140への要求順序をスケジューリン
グする。スケジュールは、各ドライバの属するクラステ
ーブル206,207,208,209の情報やI/O
サブシステム発行中カウンタ305,I/Oサブシステ
ム完了カウンタ306,I/Oサブシステム完了通知カ
ウンタ307,IDカウンタ308や各ドライバの発行
待ちリクエスト3110,3120,3130,314
0を参照して決定する。
【0021】図4は、I/Oリクエスト発行スケジュー
ル装置100のI/O発行時の処理概要を示すフローチ
ャートである。各クラスからI/Oリクエスト発行スケ
ジュール装置100へI/Oリクエストを発行するに
は、そのクラスに発行待ちリクエストが存在しないこと
が条件である。
【0022】図5は、I/Oリクエスト発行スケジュー
ル装置100のI/O完了割り込みの処理概要を示すフ
ローチャートである。
【0023】次に、このように構成された第1の実施の
形態に係るI/Oリクエスト発行スケジュール装置10
0の動作について説明する。
【0024】(1) I/Oリクエストの発行時
【0025】ドライバリクエスト管理部101に登録さ
れたI/Oリクエスト1011がI/Oリクエスト発行
スケジュール装置100へ投入されると、ドライバスケ
ジュール管理部111は、ドライバ発行中リクエストカ
ウンタ2011が0より大きいかどうかを判定し(ステ
ップ401)、ドライバ発行中リクエストカウンタ20
11が0より大きい場合には、ビジー状態であることを
通知してI/Oリクエスト1011をドライバに返却す
る(ステップ410)。一方、ドライバ発行中リクエス
トカウンタ2011が0より大きくない場合には、ドラ
イバスケジュール管理部111は、このドライバで発行
待ちリクエストがないのでドライバ発行中リクエストカ
ウンタ2011を1増やす(ステップ402)。この
後、ドライバスケジュール管理部111は、スケジュー
ルリクエスト作成部120に制御を移す。
【0026】スケジュールリクエスト作成部120は、
現在ドライバが要求しようとしているI/Oリクエスト
1011がそのクラスの発行待ちリクエストとしてスケ
ジュール管理部130へ登録可能かどうかを判断する。
すなわち、スケジュールリクエスト作成部120は、ま
ず、対応するクラステーブル206中の発行待ちカウン
タ2064が0より大きいかどうかを判定し(ステップ
403)、発行待ちカウンタ2064が0より大きけれ
ば、ビジー状態であることを通知してI/Oリクエスト
1011をドライバへ返却する(ステップ410)。こ
の場合、1増やしたドライバ発行中リクエストカウンタ
2011は1減らす必要がある。一方、発行待ちカウン
タ2064が0より大きくなければ、すなわちクラス内
でも発行待ちリクエストがない場合には、スケジュール
リクエスト作成部120は、発行待ちカウンタ2064
を1増やす(ステップ404)。次に、スケジュールリ
クエスト作成部120は、対応するクラススケジュール
管理テーブル301の発行待ちリクエスト3110へI
/Oリクエスト1011を登録し、現在時刻160から
登録時刻TIMEを取得し、TIME(a)にI/Oリ
クエスト1011が発行待ちリクエスト3110へ登録
された時刻TIMEをセットする。この後、スケジュー
ルリクエスト作成部120は、スケジュール管理部13
0に制御を渡す。
【0027】スケジュール管理部130は、発行待ちリ
クエスト3110に登録されたI/Oリクエスト101
1をI/Oサブシステムへ発行する場合、発行が決定し
たことを示すためにIDカウンタ308を1加算し(ス
テップ405)、その値をこのI/Oリクエスト101
1のIDとしてセットしてからI/Oサブシステムリク
エスト受け付け部140へI/Oリクエスト1011を
発行し(ステップ407)、このI/Oリクエスト10
11を発行中リクエスト3212として登録する。
【0028】スケジュール管理部130で管理可能なリ
クエスト数は、”I/Oサブシステムリクエスト受け付
け部140が一度に受け入れ可能な数(MAX)+実装
されるクラスの数”であり、発行中リクエスト321
2,3213に加えて各クラス1個の発行待ちリクエス
ト3110,3120,3130,3140が登録可能
である。発行待ちリクエストがない場合、一般にドライ
バはいつI/Oリクエストを発行したかを記録する手段
がないため、I/Oリクエスト発行スケジュール装置1
00で受け付けを禁止している間に要求可能になったド
ライバは、受け付け禁止が解除されると全て同時刻に要
求されたように見える。このため、一時的に1個のみI
/Oリクエストを受け付けることで、発行スケジュール
が変更された場合でも、従来に較べると、I/Oリクエ
ストの受け付けに関しても正確さが増す。
【0029】各クラスの発行中リクエストのIDカウン
タ308を検索すれば、I/Oリクエストのスケジュー
ル状態が確認できる。もし、他のクラスに発行待ち状態
のI/Oリクエストが存在した場合は、どちらを先に発
行するかの発行順序を決定する。本実施の形態では、発
行順序は、他のクラスの発行待ちリクエストと新しく登
録するクラスとについて各クラスの発行待ちリクエスト
が登録された時刻TIMEとスケジュールパラメータV
ALとから評価式を用い、これらI/Oリクエストの中
で最も評価値の小さい発行待ちリクエストから順に発行
される。評価式は、[登録時刻TIME*スケジュール
パラメータVAL]の値を使用する。
【0030】例えば、クラススケジュール管理テーブル
301の場合は、I/Oリクエストが登録された時刻T
IME(a)*クラスのスケジュールパラメータVAL
(a)の結果がこのクラスの発行待ちリクエストの評価
値になる。クラススケジュール管理テーブル302の場
合は、TIME(b)*VAL(b)が発行待ちリクエ
ストの評価値になる。
【0031】各クラスの発行待ちリクエストについて以
上の評価を行い、評価値の最も小さいクラスのI/O発
行待ちリクエストから優先してI/Oサブシステムに発
行する。この評価値計算は、各クラスの発行待ちカウン
タ(例えば、クラステーブル206の場合、発行待ちカ
ウンタ2064)が0でないかぎり再評価が行われ、各
クラスの発行待ちリクエストがI/Oサブシステムリク
エスト受け付け部140へ発行される。I/Oサブシス
テム発行中カウンタ305がI/Oサブシステムの最大
リクエスト数である場合、I/Oリクエストのスケジュ
ール状態を評価するために次の処理を開始する(ステッ
プ411)。
【0032】スケジュール管理部130(ステップ41
1)は、まず、各クラスの発行中リクエストのうちの一
番古いIDを持つI/Oリクエストを探し、このI/O
リクエストが属するクラスの発行中リクエストの数を調
べる。当該クラスのI/Oサブシステム発行中カウンタ
305が(MAX−1)と同じならば、このクラスのI
/Oは負荷が大きくかつI/Oリクエストと同じ要求が
続いているため、他のリクエストを要求したい場合で
も、このI/Oリクエストによって発行が阻害される可
能性があると判断し、最初に規定値がセットされている
スケジュールパラメータVAL2062の値をクラステ
ーブル(例えば、クラステーブル206)内の変動値M
OD2063だけ加算する。これにより、以降のこのク
ラスのI/Oリクエストの優先順位は低くなり、他のク
ラスのI/Oリクエストが発行されにくくなる。発行待
ちリクエストが発行されないと、このクラスの発行待ち
リクエストが1になるため、クラスに属するドライバ
は、I/Oリクエスト発行スケジュール装置100にI
/Oリクエストを発行できなくなり、一時的にペンディ
ングされているような状態になる。
【0033】(2) I/O完了割込みの通知時
【0034】例えば、I/Oサブシステムから装置15
1のI/O完了割り込みが通知された場合、I/Oリク
エスト完了状態管理部170は、まず正常終了かどうか
を判断し(ステップ501)、正常終了の場合、スケジ
ュール管理部130のI/Oサブシステム完了通知カウ
ンタ307の加算と、I/Oサブシステム発行中カウン
タ305の減算と、対応するクラススケジュール管理テ
ーブル301内の対応する発行中リクエスト(例えば、
3212)を削除する(ステップ502)。
【0035】次に、I/Oリクエスト完了状態管理部1
70は、対象のドライバスケジュール管理部111のド
ライバ発行中リクエストカウンタ2011の減算と、ド
ライバ内完了カウンタ2013の加算とを行う(ステッ
プ503)。
【0036】最後に、I/Oリクエスト完了状態管理部
170は、対象クラスのI/O状況についてクラススケ
ジュール管理テーブル301を評価する(ステップ50
4)。詳しくは、I/Oリクエスト完了状態管理部17
0は、完了通知を受けるクラスのスケジュールパラメー
タVAL2062が規定値以上である場合(ステップ5
04でイエス)、そのクラスのエントリ数がある値より
小さくなっていれば、このクラスがコンピュータシステ
ム全体のスループットに及ぼす影響は少ないと予想され
るので、スケジュールパラメータVAL2062を規定
値にリセットし、I/Oリクエストの発行を行いやすく
する(ステップ509)。
【0037】I/Oリクエスト完了状態管理部170の
処理後、I/Oリクエスト完了状態管理部170からI
/Oリクエスト完了通知部180に制御が渡る。I/O
リクエスト完了通知部180は、対応するドライバのド
ライバリクエスト管理部101へ完了通知する(ステッ
プ505)。
【0038】完了通知を受け取ったドライバのドライバ
リクエスト管理部101は、正常終了であれば、上位モ
ジュールにその旨を通知する。
【0039】一方、ステップ501で正常終了しておら
ず、I/Oリクエストの再発行が必要な場合は、I/O
リクエスト完了状態管理部170は、ドライバスケジュ
ール管理部111の管理テーブル2015にリトライ回
数およびエラー種類情報を記録して(ステップ50
6)、この情報の更新で影響がないようにクラスのスケ
ジュールパラメータVAL2062の値の再計算を行い
(ステップ507)、I/OリクエストをI/Oサブシ
ステムリクエスト受け付け部140に再発行する(ステ
ップ508)。
【0040】本実施の形態に係る発明のI/Oリクエス
ト発行スケジュール装置は、装置へのI/Oリクエスト
の受け付け状況に依存しないようにI/Oサブシステム
にI/Oリクエストを発行するために、装置の種類毎に
クラスを設定してI/OサブシステムへのI/Oリクエ
ストの発行スケジュールを行う。このスケジュールの変
更は、I/Oリクエストの投入時および完了割り込み時
にスケジュールパラメータVALを評価し、例えば低速
装置へのI/Oリクエストが増えている場合は、コンピ
ュータシステム全体のスループット低下が予想されるの
で、スケジュールパラメータVALを変更し、その後の
I/Oリクエストのスケジュール方針を変えることによ
り行う。
【0041】以上の技術を用いると、特定の装置へのI
/Oリクエストの受け付け処理が遅れてもコンピュータ
システム内でスケジューリングパラメータVALを変更
することで他のI/Oリクエストを受け付けることの可
能な装置に対して優先的にI/Oリクエストを投入し、
I/Oリクエスト待ちの多い装置に対して間隔を置いて
I/Oリクエストを発行することができる。これによ
り、コンピュータシステム全体のスループットを向上さ
せることができる。
【0042】なお、上記実施の形態では、I/Oリクエ
ストをドライバ毎にスケジュールする場合を例にとって
説明したが、これを装置毎にした場合、さらに細かい単
位のI/Oリクエストのスケジュールが可能となる。
【0043】次に、本発明の第2の実施の形態について
図面を参照して詳細に説明する。
【0044】図6を参照すると、本発明の第2の実施の
形態に係るI/Oリクエスト発行スケジュール装置は、
I/Oリクエスト発行スケジュールプログラム606を
記録した記録媒体605を備える。この記録媒体605
は、磁気ディスク,半導体メモリその他の記録媒体であ
ってよい。なお、図6中、符号601は入力装置、60
2はデータ処理装置、603は記憶装置、604は出力
装置をそれぞれ示す。
【0045】I/Oリクエスト発行スケジュールプログ
ラム606は、記録媒体605からデータ処理装置60
2により記憶装置603に読み込まれ、データ処理装置
602の動作を制御する。I/Oリクエスト発行スケジ
ュールプログラム606の制御により、データ処理装置
602は、図1に示した本発明の第1の実施の形態に係
るI/Oリクエスト発行スケジュール装置100と全く
同様に動作する。したがって、その詳しい動作の説明を
割愛する。
【0046】
【発明の効果】以上説明したように、本発明によれば、
各クラスの変動値MODを任意に設定することによっ
て、特定の装置に優先的にI/Oリクエスト発行ができ
るようになる。これにより、ある装置で一時的に障害が
発生し、完了が遅れ始めてもその装置への発行予定のI
/Oリクエストが自動的に制限されるので、コンピュー
タシステム全体への影響が小さくなるという効果があ
る。
【0047】また、コンピュータシステム全体を管理す
るためドライバ側でI/Oサブシステムに投入できるI
/Oリクエスト数等を監視する必要がなくなるという効
果がある。
【0048】さらに、各クラスのスケジュールパラメー
タVALの操作をI/Oリクエスト発行スケジュール装
置で一括して行えるため、システムチューニングが容易
になるという効果がある。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態に係るI/Oリクエ
スト発行スケジュール装置の構成を示すブロック図であ
る。
【図2】図1中のドライバスケジュール管理部とクラス
テーブルとの関係を示す図である。
【図3】図1のスケジュール管理部の内容を示す図であ
る。
【図4】第1の実施の形態に係るI/Oリクエスト発行
スケジュール装置のI/O発行処理の概要を示すフロー
チャートである。
【図5】第1の実施の形態に係るI/Oリクエスト発行
スケジュール装置のI/O完了割り込み処理の概要を示
すフローチャートである。
【図6】本発明の第2の実施の形態に係るI/Oリクエ
スト発行スケジュール装置の構成を示すブロック図であ
る。
【符号の説明】
100 I/Oリクエスト発行スケジュール装置 101,102,103,104 ドライバリクエスト
管理部 111,112,113,114 ドライバスケジュー
ル管理部 120 スケジュールリクエスト作成部 130 スケジュール管理部 140 I/Oサブシステムリクエスト受け付け部 151,152,153,154 装置 160 現在時刻 170 I/Oリクエスト完了状態管理部 180 I/Oリクエスト完了通知部 205 クラステーブル群 206,207,208,209 クラステーブル 300 スケジュール管理テーブル群 301,302,303,304 クラススケジュール
管理テーブル 305 I/Oサブシステム発行中カウンタ 306 I/Oサブシステム完了カウンタ 307 I/Oサブシステム完了通知カウンタ 308 IDカウンタ 601 入力装置 602 データ処理装置 603 記憶装置 604 出力装置 605 記録媒体 606 I/Oリクエスト発行スケジュールプログラム 1011,1012 I/Oリクエスト 2011 ドライバ発行中リクエストカウンタ 2012 ドライバ発行完了カウンタ 2013 ドライバ内完了カウンタ 2014 クラス識別子 2015 管理テーブル 2061 I/Oリクエスト限界値 2062 VAL 2063 MOD 2064 発行待ちカウンタ 3110,3120,3130,3140 発行待ちリ
クエスト 3212,3213 発行中リクエスト

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】 I/Oサブシステムを備え、各装置に対
    応するドライバのドライバリクエスト管理部がI/Oサ
    ブシステムリクエスト受け付け部へのI/Oリクエスト
    の発行を管理するコンピュータシステムにおいて、 前記ドライバリクエスト管理部からのI/Oリクエスト
    を各ドライバ対応に受け付けるドライバスケジュール管
    理部と、 このドライバスケジュール管理部で受け付けられたI/
    Oリクエストをクラス毎に登録するとともに登録時刻を
    取得するスケジュールリクエスト作成部と、 このスケジュールリクエスト作成部でクラス毎に登録さ
    れたI/Oリクエストを[登録時刻*スケジュールパラ
    メータ]なる評価式を使用してI/Oリクエストの発行
    順序を決定して前記I/Oサブシステムリクエスト受け
    付け部に発行するスケジュール管理部とを有することを
    特徴とするI/Oリクエスト発行スケジュール装置。
  2. 【請求項2】 I/Oリクエストが属するクラスの発行
    中リクエストの数がI/Oリクエスト限界値であるなら
    ばスケジュールパラメータの値を変動値だけ加算する前
    記スケジュール管理部と、前記I/Oサブシステムリク
    エスト受け付け部からI/Oリクエストの完了通知を受
    け、クラスのスケジュールパラメータが規定値以上であ
    る場合には、当該クラスの発行中リクエストの数がある
    値より小さくなっていればスケジュールパラメータを規
    定値にリセットするI/Oリクエスト完了状態管理部と
    を備え、I/Oリクエストの発行スケジュールを動的に
    変更できる請求項記載のI/Oリクエスト発行スケジ
    ュール装置。
  3. 【請求項3】 I/Oサブシステムを備え、各装置に対
    応するドライバのドライバリクエスト管理部がI/Oサ
    ブシステムリクエスト受け付け部へのI/Oリクエスト
    の発行を管理するコンピュータシステムにおいて、 前記ドライバリクエスト管理部からのI/Oリクエスト
    を各ドライバ対応に受け付けるドライバスケジュール管
    理部と、 このドライバスケジュール管理部で受け付けられたI/
    Oリクエストをクラス毎に登録するとともに登録時刻を
    取得するスケジュールリクエスト作成部と、 このスケジュールリクエスト作成部でクラス毎に登録さ
    れたI/Oリクエストを[登録時刻*スケジュールパラ
    メータ]なる評価式を使用してI/Oリクエストの発行
    順序を決定して前記I/Oサブシステムリクエスト受け
    付け部に発行するとともにI/Oリクエストが属するク
    ラスの発行中リクエストの数がI/Oリクエスト限界値
    であるならばスケジュールパラメータの値を変動値だけ
    加算するスケジュール管理部と、 前記I/Oサブシステムリクエスト受け付け部からI/
    Oリクエストの完了通知を受け、クラスのスケジュール
    パラメータが規定値以上である場合には、当該クラスの
    発行中リクエストの数がある値より小さくなっていれば
    スケジュールパラメータを規定値にリセットするI/O
    リクエスト完了状態管理部とを有し、 I/Oリクエストの発行スケジュールを動的に変更でき
    ることを特徴とするI/Oリクエスト発行スケジュール
    装置。
  4. 【請求項4】 コンピュータを、ドライバリクエスト管
    理部からのI/Oリクエストを各ドライバ対応に受け付
    けるドライバスケジュール管理部,このドライバスケジ
    ュール管理部で受け付けられたI/Oリクエストをクラ
    ス毎に登録するとともに登録時刻を取得するスケジュー
    ルリクエスト作成部,このスケジュールリクエスト作成
    部でクラス毎に登録されたI/Oリクエストを[登録時
    刻*スケジュールパラメータ]なる評価式を使用してI
    /Oリクエストの発行順序を決定してI/Oサブシステ
    ムリクエスト受け付け部に発行するとともにI/Oリク
    エストが属するクラスの発行中リクエストの数がI/O
    リクエスト限界値であるならばスケジュールパラメータ
    の値を変動値だけ加算するスケジュール管理部,および
    前記I/Oサブシステムリクエスト受け付け部からI/
    Oリクエストの完了通知を受け、クラスのスケジュール
    パラメータが規定値以上である場合には、当該クラスの
    発行中リクエストの数がある値より小さくなっていれば
    スケジュールパラメータを規定値にリセットするI/O
    リクエスト完了状態管理部として機能させるためのプロ
    グラムを記録した機械読み取り可能な記録媒体。
JP11185397A 1997-04-14 1997-04-14 I/oリクエスト発行スケジュール装置 Expired - Fee Related JP3189874B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11185397A JP3189874B2 (ja) 1997-04-14 1997-04-14 I/oリクエスト発行スケジュール装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11185397A JP3189874B2 (ja) 1997-04-14 1997-04-14 I/oリクエスト発行スケジュール装置

Publications (2)

Publication Number Publication Date
JPH10289189A JPH10289189A (ja) 1998-10-27
JP3189874B2 true JP3189874B2 (ja) 2001-07-16

Family

ID=14571807

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11185397A Expired - Fee Related JP3189874B2 (ja) 1997-04-14 1997-04-14 I/oリクエスト発行スケジュール装置

Country Status (1)

Country Link
JP (1) JP3189874B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3282599B2 (ja) 1998-12-17 2002-05-13 日本電気株式会社 コマンドキュー制御装置
JP2008250961A (ja) 2007-03-30 2008-10-16 Nec Corp 記憶媒体の制御装置、データ記憶装置、データ記憶システム、方法、及び制御プログラム
JP2010108300A (ja) 2008-10-30 2010-05-13 Hitachi Ltd 情報処理システム、及び情報処理システムにおけるi/oのパスへの割り当て方法

Also Published As

Publication number Publication date
JPH10289189A (ja) 1998-10-27

Similar Documents

Publication Publication Date Title
US5708814A (en) Method and apparatus for reducing the rate of interrupts by generating a single interrupt for a group of events
JP2611746B2 (ja) 入出力インタフェース装置及びその制御方法
US5542076A (en) Method and apparatus for adaptive interrupt servicing in data processing system
US5968153A (en) Mechanism for high bandwidth DMA transfers in a PCI environment
US20040117577A1 (en) Method and apparatus for scheduling real-time and non-real-time access to a shared resource
JP5270077B2 (ja) 調停回路、クロスバ、リクエスト選択方法、及び情報処理装置
US20080109576A1 (en) Data Transfer Apparatus, Storage Device Control Apparatus and Control Method Using Storage Device Control Apparatus
US20080235696A1 (en) Access control apparatus and access control method
JP2002073527A (ja) Dmaコントローラ
US6799228B2 (en) Input/output control apparatus, input/output control method and information storage system
JP3189874B2 (ja) I/oリクエスト発行スケジュール装置
US20060179172A1 (en) Method and system for reducing power consumption of a direct memory access controller
JPH03174632A (ja) リアルタイムでコンピュータシステムを動作させる方法及び装置
JP3227069B2 (ja) 入出力処理システム
US20090216930A1 (en) Information processing apparatus and control method thereof
US6825842B1 (en) Method and system for queueing draw operations
JPH0696014A (ja) バス使用優先順位制御装置
EP0640927A1 (en) Improvements in and relating to local area network adaptors
JPH05108274A (ja) 並列デイスク制御方法および並列デイスク制御装置
JPH05173923A (ja) 入出力データ転送処理装置
JPH05257718A (ja) プロセス制御装置
JP2752894B2 (ja) ファイル転送装置
JPH113321A (ja) 並列計算機システム
JPH1063603A (ja) 周辺制御装置およびその負荷状況設定方法
JPH07210489A (ja) データ処理装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees