JPH11338813A - データ入出力制御方法 - Google Patents
データ入出力制御方法Info
- Publication number
- JPH11338813A JPH11338813A JP10143758A JP14375898A JPH11338813A JP H11338813 A JPH11338813 A JP H11338813A JP 10143758 A JP10143758 A JP 10143758A JP 14375898 A JP14375898 A JP 14375898A JP H11338813 A JPH11338813 A JP H11338813A
- Authority
- JP
- Japan
- Prior art keywords
- output
- input
- file
- sequential
- control
- 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
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】
【課題】本発明の目的は、複数プロセスが磁気ディスク
上の各ファイルをシーケンシャルに入出力した場合、入
出力要求を受け付るサーバが、ファイルを高速に入出力
できる制御方法を提供することにある。 【解決手段】入出力要求を受け付るサーバは、ファイル
の入出力要求を監視することで、シーケンシャル入出力
が可能か判断する。シーケンシャル入出力が可能な場
合、ファイル毎に入出力要求を停止、再開始の制御を行
い、複数ファイルを逐次シーケンシャルに入出力するこ
とで、複数ファイルの入出力が高速にできる。
上の各ファイルをシーケンシャルに入出力した場合、入
出力要求を受け付るサーバが、ファイルを高速に入出力
できる制御方法を提供することにある。 【解決手段】入出力要求を受け付るサーバは、ファイル
の入出力要求を監視することで、シーケンシャル入出力
が可能か判断する。シーケンシャル入出力が可能な場
合、ファイル毎に入出力要求を停止、再開始の制御を行
い、複数ファイルを逐次シーケンシャルに入出力するこ
とで、複数ファイルの入出力が高速にできる。
Description
【0001】
【発明の属する技術分野】本発明は、複数ファイルのデ
ータ入出力制御方法に関し、入出力要求のシーケンシャ
ル性を判断して、高速な入出力を選択する制御方法に関
する。
ータ入出力制御方法に関し、入出力要求のシーケンシャ
ル性を判断して、高速な入出力を選択する制御方法に関
する。
【0002】本制御方式を適用する業務は、プロセス間
で複数ファイルを引き渡す業務、運用の開始終了時に複
数ファイルを待避回復する業務が考えられる。
で複数ファイルを引き渡す業務、運用の開始終了時に複
数ファイルを待避回復する業務が考えられる。
【0003】
【従来の技術】1つの方法として磁気ディスクに入出力
する場合、磁気ディスクヘッドのシーク時間を短縮する
ために、入出力待ちしている間に溜まった入出力要求を
ソートする方法がある。
する場合、磁気ディスクヘッドのシーク時間を短縮する
ために、入出力待ちしている間に溜まった入出力要求を
ソートする方法がある。
【0004】しかし、この方法は、ファイル間のデータ
の入出力毎にシーク時間を短縮できるが、現行の磁気デ
ィスクでは、連続的なシーケンシャルの入出力以上の性
能を上げる事はできない以下、シーケンシャル入出力と
は、論理ファイルの連続領域を逐次入出力することを示
す。
の入出力毎にシーク時間を短縮できるが、現行の磁気デ
ィスクでは、連続的なシーケンシャルの入出力以上の性
能を上げる事はできない以下、シーケンシャル入出力と
は、論理ファイルの連続領域を逐次入出力することを示
す。
【0005】たとえば、現行の磁気ディスクでは、1回
のシーク時間は10ms程度かかる。3プロセスが各々
1ファイルづつ、並行して64KB単位でシーケンシャ
ルに入出力した場合、1ファイルの容量を1MBとする
と、64KBづつシークが行われるため、ソート処理で
一回のシークを5msに短縮できたとしても、シークの
合計時間は、5×16×3=240msかかる。ファイ
ルを並行して入出力させずに、1ファイルの入出力が完
了した後、別のファイルを入出力させると、3回のシー
クで済み、一回のシークが10msかかるとすると、シ
ークの合計は、3×10=30msかかる。ソート処理
ではシーケンシャル入出力以上の性能を上げられないこ
とが分かる。
のシーク時間は10ms程度かかる。3プロセスが各々
1ファイルづつ、並行して64KB単位でシーケンシャ
ルに入出力した場合、1ファイルの容量を1MBとする
と、64KBづつシークが行われるため、ソート処理で
一回のシークを5msに短縮できたとしても、シークの
合計時間は、5×16×3=240msかかる。ファイ
ルを並行して入出力させずに、1ファイルの入出力が完
了した後、別のファイルを入出力させると、3回のシー
クで済み、一回のシークが10msかかるとすると、シ
ークの合計は、3×10=30msかかる。ソート処理
ではシーケンシャル入出力以上の性能を上げられないこ
とが分かる。
【0006】もう1つの方法は、入出力要求を発行する
プロセス間で通信して、1つのファイルの入出力が終了
した時、次のファイルの入出力を指示する。このように
ファイル内の連続したデータを、シークを行わずに入出
力できる。
プロセス間で通信して、1つのファイルの入出力が終了
した時、次のファイルの入出力を指示する。このように
ファイル内の連続したデータを、シークを行わずに入出
力できる。
【0007】しかし、この方法は、プロセスを実行する
前に、あらかじめファイルの入出力順序を決めておく必
要があり、運用が複雑になる。例えば、プログラム中
で、1つのファイルの入出力の開始時、他のファイルの
入出力を待ち、終了時、他のファイルの入出力を起動す
る必要がある。
前に、あらかじめファイルの入出力順序を決めておく必
要があり、運用が複雑になる。例えば、プログラム中
で、1つのファイルの入出力の開始時、他のファイルの
入出力を待ち、終了時、他のファイルの入出力を起動す
る必要がある。
【0008】
【発明が解決しようとする課題】複数の計算機で構成さ
れた超並列型計算機システムでは、各計算機の入出力デ
ータをファイルに入出力する必要があるが、コスト上、
1台の磁気ディスクに複数ファイルを作成する場合があ
る。
れた超並列型計算機システムでは、各計算機の入出力デ
ータをファイルに入出力する必要があるが、コスト上、
1台の磁気ディスクに複数ファイルを作成する場合があ
る。
【0009】このように1台の磁気ディスク内に複数フ
ァイルを作成すると、複数計算機のプロセスが同時にフ
ァイルを入出力した場合、各プロセスが磁気ディスク上
の各ファイルをシーケンシャルに入出力しても、入出力
要求を受け付るサーバは、受け付けた順番に磁気ディス
クを入出力するため、ファイル内の連続したデータを連
続して入出力できず、複数ファイルを跨って入出力する
ため、磁気ディスクのシークが頻繁に行われ、結果とし
てランダムな入出力になり性能が遅かった。
ァイルを作成すると、複数計算機のプロセスが同時にフ
ァイルを入出力した場合、各プロセスが磁気ディスク上
の各ファイルをシーケンシャルに入出力しても、入出力
要求を受け付るサーバは、受け付けた順番に磁気ディス
クを入出力するため、ファイル内の連続したデータを連
続して入出力できず、複数ファイルを跨って入出力する
ため、磁気ディスクのシークが頻繁に行われ、結果とし
てランダムな入出力になり性能が遅かった。
【0010】以下、ランダム入出力とは、不連続な領域
を入出力することを示す。そのため、入出力ごとに、磁
気ディスクヘッドのシークが行われる。シーケンシャル
入出力は、連続領域に入出力するため、直前の磁気ディ
スクヘッドの位置から入出力されるため、磁気ディスク
のシークが頻繁に行われない。
を入出力することを示す。そのため、入出力ごとに、磁
気ディスクヘッドのシークが行われる。シーケンシャル
入出力は、連続領域に入出力するため、直前の磁気ディ
スクヘッドの位置から入出力されるため、磁気ディスク
のシークが頻繁に行われない。
【0011】本発明の目的は、上記のように複数プロセ
スが磁気ディスク上の各ファイルをシーケンシャルに入
出力した場合、入出力要求を受け付るサーバが、ファイ
ルを高速に入出力できる制御方法を提供することにあ
る。
スが磁気ディスク上の各ファイルをシーケンシャルに入
出力した場合、入出力要求を受け付るサーバが、ファイ
ルを高速に入出力できる制御方法を提供することにあ
る。
【0012】
【課題を解決するための手段】入出力要求を受け付るサ
ーバは、入出力要求がシーケンシャルであり、かつ当該
ファイルの入出力要求の時間間隔が、複数ファイルをラ
ンダムに入出力するよりも速いと判定した場合、複数フ
ァイルを逐次シーケンシャルに入出力することで、複数
ファイルの入出力が高速にできる。次に詳細な制御手段
の例を示す。
ーバは、入出力要求がシーケンシャルであり、かつ当該
ファイルの入出力要求の時間間隔が、複数ファイルをラ
ンダムに入出力するよりも速いと判定した場合、複数フ
ァイルを逐次シーケンシャルに入出力することで、複数
ファイルの入出力が高速にできる。次に詳細な制御手段
の例を示す。
【0013】最初の入出力要求時、ファイル名、磁気デ
ィスク上の入出力領域と入出力要求時刻を記憶する。記
憶したファイル以外のファイルの入出力要求を停止す
る。
ィスク上の入出力領域と入出力要求時刻を記憶する。記
憶したファイル以外のファイルの入出力要求を停止す
る。
【0014】連続的なシーケンシャル性は、次のように
判定する。
判定する。
【0015】まず、一定時間内に、記憶したファイルへ
の入出力要求があるかを判定する。一定時間は、3MB
/S以上の性能を得たい場合、1回の入出力サイズが6
4KBの入出力では、21ms以内を目安にする。この
値は、入出力のサイズから計算して求める。
の入出力要求があるかを判定する。一定時間は、3MB
/S以上の性能を得たい場合、1回の入出力サイズが6
4KBの入出力では、21ms以内を目安にする。この
値は、入出力のサイズから計算して求める。
【0016】次に、記憶したファイルへの次の入出力要
求が、記憶した入出力領域と比較することで、シーケン
シャルを判定する。
求が、記憶した入出力領域と比較することで、シーケン
シャルを判定する。
【0017】連続的なシーケンシャル入出力でない場
合、本制御方式を中断し、従来の入出力要求順に入出力
を行う。
合、本制御方式を中断し、従来の入出力要求順に入出力
を行う。
【0018】このように、一つのファイルの入出力要求
を最後まで処理する。次に、停止した入出力要求の中か
ら、次に入出力すべきファイルを選択して、同様に制御
する。
を最後まで処理する。次に、停止した入出力要求の中か
ら、次に入出力すべきファイルを選択して、同様に制御
する。
【0019】その結果、複数ファイルが逐次シーケンシ
ャルに入出力され、ランダム入出力よりも高速に入出力
できる。
ャルに入出力され、ランダム入出力よりも高速に入出力
できる。
【0020】
【発明の実施の形態】以下、図面を用いて本発明の一実
施例を説明する。
施例を説明する。
【0021】図1は、本発明のシステム構成を示したも
のである。
のである。
【0022】入出力制御プログラム106において本発
明の入出力制御を行う。中央処理装置101に存在する
命令実行プロセッサ102は、主記憶装置103上のプ
ロセス104のもとで、データ入出力プログラム105
および入出力制御プログラム106を実行する。プロセ
ス104は、ユーザが作成したデータ入出力プログラム
105に従い、シーケンシャルにデータを磁気ディスク
110上のファイル111に入出力する。プロセス1
は、データ入出力プログラム1に従って、ファイル1に
データをシーケンシャルに入出力する。プロセス2は、
データ入出力プログラム2に従って、ファイル2にデー
タをシーケンシャルに入出力する。また、プロセス1と
プロセス2は、並行して入出力する。
明の入出力制御を行う。中央処理装置101に存在する
命令実行プロセッサ102は、主記憶装置103上のプ
ロセス104のもとで、データ入出力プログラム105
および入出力制御プログラム106を実行する。プロセ
ス104は、ユーザが作成したデータ入出力プログラム
105に従い、シーケンシャルにデータを磁気ディスク
110上のファイル111に入出力する。プロセス1
は、データ入出力プログラム1に従って、ファイル1に
データをシーケンシャルに入出力する。プロセス2は、
データ入出力プログラム2に従って、ファイル2にデー
タをシーケンシャルに入出力する。また、プロセス1と
プロセス2は、並行して入出力する。
【0023】データ入出力プログラム105は、ファイ
ル111をopenし、データをシーケンシャルにre
adあるいはwriteした後、closeする。op
en、read、writeおよびclose毎に入出
力制御プログラム106を呼び出す。
ル111をopenし、データをシーケンシャルにre
adあるいはwriteした後、closeする。op
en、read、writeおよびclose毎に入出
力制御プログラム106を呼び出す。
【0024】入出力制御プログラム106は、並列実行
するプロセス104から渡されたデータを、磁気ディス
ク110をシーケンシャルに入出力するための制御パラ
メタ107に従って、ファイル1とファイル2にシーケ
ンシャルに入出力する。このシーケンシャルに入出力さ
せる制御のために、シーケンシャル入出力制御の状態1
19とopen待ちキュー120を保持する。シーケン
シャル入出力制御の状態119は、シーケンシャル入出
力制御が動作しているかを記憶する。open待ちキュ
ー120は、シーケンシャルに動作させるために、他の
プロセスを待たせる時、使用する。
するプロセス104から渡されたデータを、磁気ディス
ク110をシーケンシャルに入出力するための制御パラ
メタ107に従って、ファイル1とファイル2にシーケ
ンシャルに入出力する。このシーケンシャルに入出力さ
せる制御のために、シーケンシャル入出力制御の状態1
19とopen待ちキュー120を保持する。シーケン
シャル入出力制御の状態119は、シーケンシャル入出
力制御が動作しているかを記憶する。open待ちキュ
ー120は、シーケンシャルに動作させるために、他の
プロセスを待たせる時、使用する。
【0025】図2も、本発明のシステム構成であるが、
これは、図1を複数の計算機で構成した場合、クライア
ント、サーバでも構成可能であることを示す。本実施例
では図1の構成図をもとに説明する。
これは、図1を複数の計算機で構成した場合、クライア
ント、サーバでも構成可能であることを示す。本実施例
では図1の構成図をもとに説明する。
【0026】図3は、入出力制御プログラム106が、
磁気ディスク110をシーケンシャルに入出力するため
の制御パラメタ107の一例である。
磁気ディスク110をシーケンシャルに入出力するため
の制御パラメタ107の一例である。
【0027】シーケンシャルに入出力する磁気ディスク
11には、シーケンシャルに入出力する用途が多い磁気
デイスクを指定する。
11には、シーケンシャルに入出力する用途が多い磁気
デイスクを指定する。
【0028】シーケンシャル入出力適用範囲12には、
シーケンシャルに入出力する頻度の多い業務、ファイル
名、時間帯などを指定し、シーケンシャル入出力制御の
オーバヘッドの弊害を少なくする。たとえば、ファイル
の退避、回復する業務、ファイル名、時間帯などを指定
する。
シーケンシャルに入出力する頻度の多い業務、ファイル
名、時間帯などを指定し、シーケンシャル入出力制御の
オーバヘッドの弊害を少なくする。たとえば、ファイル
の退避、回復する業務、ファイル名、時間帯などを指定
する。
【0029】シーケンシャル入出力解除時間間隔13に
は、シーケンシャルな入出力性能を出すための性能値か
らread発行間隔の時間あるいはwrite発行間隔
の時間を求めるようにする。性能は、当然ランダム入出
力性能を上回わらなければならない。たとえば、一定時
間は、3MB/S以上の性能を得たい場合、64KBの
入出力では、21ms以内を目安にする。この値は、入
出力のサイズから計算して求める。シーケンシャル入出
力解除時間間隔13には、性能値3MB/Sをパラメー
タとして指定する。シーケンシャルな入出力性能が出な
ければ、入出力制御プログラム106は、磁気ディスク
110をシーケンシャルに入出力するための制御を中止
する。
は、シーケンシャルな入出力性能を出すための性能値か
らread発行間隔の時間あるいはwrite発行間隔
の時間を求めるようにする。性能は、当然ランダム入出
力性能を上回わらなければならない。たとえば、一定時
間は、3MB/S以上の性能を得たい場合、64KBの
入出力では、21ms以内を目安にする。この値は、入
出力のサイズから計算して求める。シーケンシャル入出
力解除時間間隔13には、性能値3MB/Sをパラメー
タとして指定する。シーケンシャルな入出力性能が出な
ければ、入出力制御プログラム106は、磁気ディスク
110をシーケンシャルに入出力するための制御を中止
する。
【0030】シーケンシャル入出力解除範囲14は、シ
ーケンシャルな入出力性能が出ない場合、シーケンシャ
ルに入出力するための制御を中止する範囲を指定する。
例えば、動作中のシーケンシャル入出力の制御だけを中
止するとか、動作中の時間帯では、シーケンシャル入出
力の制御はすべて中止するとかを指定する。
ーケンシャルな入出力性能が出ない場合、シーケンシャ
ルに入出力するための制御を中止する範囲を指定する。
例えば、動作中のシーケンシャル入出力の制御だけを中
止するとか、動作中の時間帯では、シーケンシャル入出
力の制御はすべて中止するとかを指定する。
【0031】図4から図6は、入出力制御プログラム1
06の処理のフローチャートである。以下、図1および
図3に示した構成で動作を説明する。なお、入出力制御
プログラムは、マルチプロセスで動作するため、ロック
などの同期処理が必要であるが、本発明の本質ではない
ので、図に示された処理ではプロセス切り替えが発生し
ないことを前提としている。
06の処理のフローチャートである。以下、図1および
図3に示した構成で動作を説明する。なお、入出力制御
プログラムは、マルチプロセスで動作するため、ロック
などの同期処理が必要であるが、本発明の本質ではない
ので、図に示された処理ではプロセス切り替えが発生し
ないことを前提としている。
【0032】ここでは、次のような機能を実施する。
【0033】シーケンシャル入出力適用範囲12に合致
するプロセスに、本発明のシーケンシャル入出力の制御
を行う。シーケンシャル入出力適用範囲12に合致しな
いプロセスの要求は、従来の入出力を行う。ただし、す
でにシーケンシャル入出力が動作中の場合は、その入出
力要求を停止させる。その結果、本発明のシーケンシャ
ル入出力の制御を行っても、すでに動作中の従来の入出
力によって、シーケンシャル入出力解除時間間隔13に
指定された、期待性能が得られない場合がある。この場
合は、シーケンシャル入出力の制御を中止する。シーケ
ンシャル入出力解除範囲14には、動作中のシーケンシ
ャル入出力制御だけを中止する指定を行う。
するプロセスに、本発明のシーケンシャル入出力の制御
を行う。シーケンシャル入出力適用範囲12に合致しな
いプロセスの要求は、従来の入出力を行う。ただし、す
でにシーケンシャル入出力が動作中の場合は、その入出
力要求を停止させる。その結果、本発明のシーケンシャ
ル入出力の制御を行っても、すでに動作中の従来の入出
力によって、シーケンシャル入出力解除時間間隔13に
指定された、期待性能が得られない場合がある。この場
合は、シーケンシャル入出力の制御を中止する。シーケ
ンシャル入出力解除範囲14には、動作中のシーケンシ
ャル入出力制御だけを中止する指定を行う。
【0034】図4は、データ入出力プログラム105か
らファイルのopen呼び出しで行われる処理である。
らファイルのopen呼び出しで行われる処理である。
【0035】すでにシーケンシャルに入出力する制御
(シーケンシャル入出力制御)が動作しているか調べる
(ステップ201)。システム立ち上げ時(初期値)
は、シーケンシャル入出力制御は動作していない。動作
していなければ、呼び出されたopen処理で本制御を
動作させるか決める(ステップ202)。動作中なら
ば、動作中のシーケンシャルな入出力を妨げないように
する(ステップ203)。
(シーケンシャル入出力制御)が動作しているか調べる
(ステップ201)。システム立ち上げ時(初期値)
は、シーケンシャル入出力制御は動作していない。動作
していなければ、呼び出されたopen処理で本制御を
動作させるか決める(ステップ202)。動作中なら
ば、動作中のシーケンシャルな入出力を妨げないように
する(ステップ203)。
【0036】動作中でなければ、ステップ202の処理
で、シーケンシャル入出力制御は、次の条件が成り立つ
時、動作させる。
で、シーケンシャル入出力制御は、次の条件が成り立つ
時、動作させる。
【0037】制御パラメタ107のシーケンシャル入出
力する磁気ディスク11とシーケンシャル入出力適用範
囲12を参照し、当該open要求が該当するか調べ
る。open要求は、openすべきファイル名、op
en要求元から業務、および時間帯が分かる。これらと
シーケンシャル入出力適用範囲12を比較して調べる。
該当する場合、シーケンシャル入出力を動作させる。
力する磁気ディスク11とシーケンシャル入出力適用範
囲12を参照し、当該open要求が該当するか調べ
る。open要求は、openすべきファイル名、op
en要求元から業務、および時間帯が分かる。これらと
シーケンシャル入出力適用範囲12を比較して調べる。
該当する場合、シーケンシャル入出力を動作させる。
【0038】シーケンシャル入出力を動作させる場合、
期待される性能が得られる事を検証するために、入出力
時刻を記憶しておく。read/write要求時に、
この時刻との時間を求め、期待性能かを判定する。
期待される性能が得られる事を検証するために、入出力
時刻を記憶しておく。read/write要求時に、
この時刻との時間を求め、期待性能かを判定する。
【0039】シーケンシャル入出力制御が動作中の場
合、動作中のシーケンシャルな入出力を妨げないよう
に、当該open要求をopen待ちキューに作成し、
他ファイルの入出力が完了するまで当該プロセスを待ち
状態にする(ステップ203)。待ち状態が解除された
場合は、再度ステップ201を実行する。
合、動作中のシーケンシャルな入出力を妨げないよう
に、当該open要求をopen待ちキューに作成し、
他ファイルの入出力が完了するまで当該プロセスを待ち
状態にする(ステップ203)。待ち状態が解除された
場合は、再度ステップ201を実行する。
【0040】従来のopen処理(ステップ204)
は、入出力ができるように、制御テーブルなどを作成す
る。この制御テーブルで、当該磁気ディスクの入出力の
動作状態が判定できる。
は、入出力ができるように、制御テーブルなどを作成す
る。この制御テーブルで、当該磁気ディスクの入出力の
動作状態が判定できる。
【0041】図5は、データ入出力プログラム105か
らファイルのreadあるいはwrite呼び出しで行
われる処理である。
らファイルのreadあるいはwrite呼び出しで行
われる処理である。
【0042】まず、シーケンシャル入出力制御が動作し
ているか調べる(ステップ301)。動作していなけれ
ば、従来のreadあるいはwrite処理を行う(ス
テップ304)。動作中ならば、シーケンシャル入出力
制御を続行するか決める(ステップ302)。
ているか調べる(ステップ301)。動作していなけれ
ば、従来のreadあるいはwrite処理を行う(ス
テップ304)。動作中ならば、シーケンシャル入出力
制御を続行するか決める(ステップ302)。
【0043】シーケンシャル入出力制御が動作中の時、
当該ファイルの直前の入出力との時間間隔を求め、制御
パラメタ107のシーケンシャル入出力解除時間間隔1
3と比較し、期待性能が得られるかを判定する。また、
入出力する磁気ディスク領域が連続しているかも判定す
る。このようにシーケンシャル入出力制御を続行できる
か判断する(ステップ302)。直前がopen要求の
場合、openとの時間間隔を求める。入出力時間間隔
が解除時間間隔よりも長い場合、シーケンシャル入出力
の性能が出ないため、シーケンシャル入出力制御を解除
する(ステップ303)。入出力時間間隔が解除時間間
隔よりも短い場合、シーケンシャル入出力制御が続行で
きるため、従来のreadあるいはwrite処理を行
う(ステップ304)。なお、入出力時間間隔が解除時
間間隔よりも長いことを早く検出する場合は、シーケン
シャル入出力制御が続行できると判断した時、解除時間
間隔でタイマーをかけておくことで、解除時間間隔以内
に次の入出力要求がないことが分かる。この場合、タイ
マーのリセット処理も必要である。
当該ファイルの直前の入出力との時間間隔を求め、制御
パラメタ107のシーケンシャル入出力解除時間間隔1
3と比較し、期待性能が得られるかを判定する。また、
入出力する磁気ディスク領域が連続しているかも判定す
る。このようにシーケンシャル入出力制御を続行できる
か判断する(ステップ302)。直前がopen要求の
場合、openとの時間間隔を求める。入出力時間間隔
が解除時間間隔よりも長い場合、シーケンシャル入出力
の性能が出ないため、シーケンシャル入出力制御を解除
する(ステップ303)。入出力時間間隔が解除時間間
隔よりも短い場合、シーケンシャル入出力制御が続行で
きるため、従来のreadあるいはwrite処理を行
う(ステップ304)。なお、入出力時間間隔が解除時
間間隔よりも長いことを早く検出する場合は、シーケン
シャル入出力制御が続行できると判断した時、解除時間
間隔でタイマーをかけておくことで、解除時間間隔以内
に次の入出力要求がないことが分かる。この場合、タイ
マーのリセット処理も必要である。
【0044】シーケンシャル入出力制御の解除は、制御
パラメタ107のシーケンシャル入出力解除範囲14に
従って、ステップ203で作成されたopen待ちキュ
ーがある場合は、そのopen待ちを解除する(ステッ
プ303)。
パラメタ107のシーケンシャル入出力解除範囲14に
従って、ステップ203で作成されたopen待ちキュ
ーがある場合は、そのopen待ちを解除する(ステッ
プ303)。
【0045】従来のreadあるいはwrite処理
は、データをファイルに入出力する(ステップ30
4)。
は、データをファイルに入出力する(ステップ30
4)。
【0046】図6は、データ入出力プログラム105か
らファイルのclose呼び出しで行われる処理であ
る。
らファイルのclose呼び出しで行われる処理であ
る。
【0047】従来のclose処理は、open処理
(ステップ204)で作成した当該ファイルの制御テー
ブルなどを解放する(ステップ401)。
(ステップ204)で作成した当該ファイルの制御テー
ブルなどを解放する(ステップ401)。
【0048】次に、シーケンシャル入出力制御が動作し
ているか調べる(ステップ402)。動作中ならば、当
該ファイルのシーケンシャル入出力が完了したため、次
にシーケンシャル入出力すべきファイルを調べる(ステ
ップ403)。
ているか調べる(ステップ402)。動作中ならば、当
該ファイルのシーケンシャル入出力が完了したため、次
にシーケンシャル入出力すべきファイルを調べる(ステ
ップ403)。
【0049】ステップ203で作成されたopen待ち
キューがあるか調べる(ステップ403)。open待
ちキューがある場合は、制御パラメタ107のシーケン
シャル入出力適用範囲12を参照し、次に入出力させる
ファイルのopen待ちを解除する(ステップ40
4)。また、現在のシーケンシャル入出力制御の動作を
解除しておく(ステップ405)。
キューがあるか調べる(ステップ403)。open待
ちキューがある場合は、制御パラメタ107のシーケン
シャル入出力適用範囲12を参照し、次に入出力させる
ファイルのopen待ちを解除する(ステップ40
4)。また、現在のシーケンシャル入出力制御の動作を
解除しておく(ステップ405)。
【0050】open待ちキューがない場合は、次のo
pen要求を待たせないために、シーケンシャル入出力
制御の動作を解除しておく(ステップ405)。
pen要求を待たせないために、シーケンシャル入出力
制御の動作を解除しておく(ステップ405)。
【0051】図7は、データ入出力プログラムの一実施
例のフローチャートである。ここでは、入出力要求元で
あるデータ入出力プログラムとの関係から、本発明の効
果を説明する。データ入出力プログラムは、プロセス1
およびプロセス2の下で、並行実行し、磁気ディスク1
10にデータをread/writeする。プロセス1は、ファ
イル1のデータ1、データ2をシーケンシャルにread/
writeし、プロセス2は、ファイル2のデータ3、デー
タ4をシーケンシャルにread/writeする。従来は、プ
ロセスが並行実行すると磁気ディスクには、データ1、
データ3、データ2、データ4の順にread/writeされ
る。そのため、データのread/write毎に磁気ディスク
ヘッドのシークが行われていた。
例のフローチャートである。ここでは、入出力要求元で
あるデータ入出力プログラムとの関係から、本発明の効
果を説明する。データ入出力プログラムは、プロセス1
およびプロセス2の下で、並行実行し、磁気ディスク1
10にデータをread/writeする。プロセス1は、ファ
イル1のデータ1、データ2をシーケンシャルにread/
writeし、プロセス2は、ファイル2のデータ3、デー
タ4をシーケンシャルにread/writeする。従来は、プ
ロセスが並行実行すると磁気ディスクには、データ1、
データ3、データ2、データ4の順にread/writeされ
る。そのため、データのread/write毎に磁気ディスク
ヘッドのシークが行われていた。
【0052】本発明は、ファイルをシーケンシャルに入
出力するように、入出力要求をスケジュールすることに
ある。つまり、ファイル1のデータ1、データ2をread
/writeした後に、ファイル2のデータ3、データ4をr
ead/writeするように、入出力スケジュールすることで
ある。
出力するように、入出力要求をスケジュールすることに
ある。つまり、ファイル1のデータ1、データ2をread
/writeした後に、ファイル2のデータ3、データ4をr
ead/writeするように、入出力スケジュールすることで
ある。
【0053】ここでは、説明を簡潔にするため、プロセ
ス1とプロセス2がファイルをシーケンシャルに入出力
することを前提に説明する。また、プロセス1のope
n要求が先に動作するものとする。
ス1とプロセス2がファイルをシーケンシャルに入出力
することを前提に説明する。また、プロセス1のope
n要求が先に動作するものとする。
【0054】ステップ151のファイル1のopen要
求で、図4のopen処理が動作するが、他に動作中の
入出力がないため、open待ちキューに登録されず、
open処理が行われ、シーケンシャル入出力制御の動
作が開始される。
求で、図4のopen処理が動作するが、他に動作中の
入出力がないため、open待ちキューに登録されず、
open処理が行われ、シーケンシャル入出力制御の動
作が開始される。
【0055】次に、プロセス1と並行実行するプロセス
2のステップ152が動作し、ファイル2のopen要
求が行われるが、ファイル1のシーケンシャル入出力制
御が動作中のため、プロセス2のopen要求は、op
en待ちキューに登録され、プロセス2は待たされる。
2のステップ152が動作し、ファイル2のopen要
求が行われるが、ファイル1のシーケンシャル入出力制
御が動作中のため、プロセス2のopen要求は、op
en待ちキューに登録され、プロセス2は待たされる。
【0056】プロセス1は、ステップ151の次のステ
ップ153が実行され、図5のread/write処
理で、シーケンシャル入出力か否かの判断を行う。シー
ケンシャル入出力でない場合、open待ちキューを解
除する。ここでは、シーケンシャル入出力を前提にして
いるため、read/writeだけの処理を行う。
ップ153が実行され、図5のread/write処
理で、シーケンシャル入出力か否かの判断を行う。シー
ケンシャル入出力でない場合、open待ちキューを解
除する。ここでは、シーケンシャル入出力を前提にして
いるため、read/writeだけの処理を行う。
【0057】次にプロセス1は、ステップ154、ステ
ップ155を行う。ステップ155のclose要求
で、図6のclose処理が実行され、open待ちの
プロセス2が解除され、ステップ152が処理される。
ップ155を行う。ステップ155のclose要求
で、図6のclose処理が実行され、open待ちの
プロセス2が解除され、ステップ152が処理される。
【0058】プロセス2は、次にステップ156、ステ
ップ157、ステップ158を実行する。
ップ157、ステップ158を実行する。
【0059】以上で、ファイル1をシーケンシャルに入
出力した後に、ファイル2をシーケンシャルに入出力す
るような、入出力スケジューリングができたことにな
る。
出力した後に、ファイル2をシーケンシャルに入出力す
るような、入出力スケジューリングができたことにな
る。
【0060】
【発明の効果】本発明により、複数プロセスが磁気ディ
スク上の各ファイルをシーケンシャルに入出力した場
合、各プロセスが並行して行う入出力性能以上に、ファ
イルを高速に入出力できるようになる。
スク上の各ファイルをシーケンシャルに入出力した場
合、各プロセスが並行して行う入出力性能以上に、ファ
イルを高速に入出力できるようになる。
【図1】本発明の一実施例を示すデータ入出力制御シス
テム構成図である。
テム構成図である。
【図2】本発明の複数の計算機で構成した場合のシステ
ム構成図である。
ム構成図である。
【図3】入出力制御プログラムが制御するための制御パ
ラメタの一例を示す図である。
ラメタの一例を示す図である。
【図4】入出力制御プログラムがopen処理するため
のフローチャートである。
のフローチャートである。
【図5】入出力制御プログラムがreadあるいはwr
ite処理するためのフローチャートである。
ite処理するためのフローチャートである。
【図6】入出力制御プログラムがclose処理するた
めのフローチャートである。
めのフローチャートである。
【図7】データ入出力プログラムの一実施例のフローチ
ャートである。
ャートである。
101…中央処理装置、 102…命令実行
プロセッサ、103…主記憶装置、 10
4…プロセス、105…データ入出力プログラム、 1
06…入出力制御プログラム、107…制御パラメタ。
110…磁気ディスク装置、111…ファ
イル、11…シーケンシャル入出力する磁気ディスク、
12…シーケンシャル入出力、13…シーケンシャル入
出力解除時間間隔、14…シーケンシャル入出力解除範
囲。
プロセッサ、103…主記憶装置、 10
4…プロセス、105…データ入出力プログラム、 1
06…入出力制御プログラム、107…制御パラメタ。
110…磁気ディスク装置、111…ファ
イル、11…シーケンシャル入出力する磁気ディスク、
12…シーケンシャル入出力、13…シーケンシャル入
出力解除時間間隔、14…シーケンシャル入出力解除範
囲。
Claims (1)
- 【請求項1】複数のプロセスが、単一の記録装置上にプ
ロセス毎にファイルを作成し、並行してシーケンシャル
に入出力する制御方法において、複数プロセスからの入
出力要求を制御できる手段と、磁気ディスクのようにフ
ァイルの入出力性能が、ランダムよりもシーケンシャル
の方が高速である記録媒体とを具備する計算機システム
で、ファイルの入出力要求をスケジュール制御すること
により、連続的なシーケンシャルの入出力を優先する制
御を行うことで高速にすることを特徴とするデータ入出
力制御方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP10143758A JPH11338813A (ja) | 1998-05-26 | 1998-05-26 | データ入出力制御方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP10143758A JPH11338813A (ja) | 1998-05-26 | 1998-05-26 | データ入出力制御方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH11338813A true JPH11338813A (ja) | 1999-12-10 |
Family
ID=15346348
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP10143758A Pending JPH11338813A (ja) | 1998-05-26 | 1998-05-26 | データ入出力制御方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH11338813A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7783233B2 (en) | 2006-05-15 | 2010-08-24 | Ricoh Company, Ltd. | Developing device including improved conveying device, process cartridge and image forming apparatus using the same |
-
1998
- 1998-05-26 JP JP10143758A patent/JPH11338813A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7783233B2 (en) | 2006-05-15 | 2010-08-24 | Ricoh Company, Ltd. | Developing device including improved conveying device, process cartridge and image forming apparatus using the same |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6625635B1 (en) | Deterministic and preemptive thread scheduling and its use in debugging multithreaded applications | |
| JP2692609B2 (ja) | マルチタスクのプログラムデバッグ方法とその装置 | |
| US7302686B2 (en) | Task management system | |
| JP2554453B2 (ja) | データ・アクセスを最適化する方法及び装置 | |
| JPH04229355A (ja) | データアクセス方法及びデータ処理システム | |
| CN111158855B (zh) | 一种基于微容器及云函数的轻量虚拟化裁剪方法 | |
| KR970067231A (ko) | 씨디-롬 드라이브에서의 큐잉 제어방법 | |
| US6108707A (en) | Enhanced file transfer operations in a computer system | |
| US10289306B1 (en) | Data storage system with core-affined thread processing of data movement requests | |
| JPH11338813A (ja) | データ入出力制御方法 | |
| US20240320061A1 (en) | Method and system for controlling access to shared resources | |
| CN1071269A (zh) | 具有与运行在虚拟模式下的指令相关的中断指令的计算机系统 | |
| JP2001290607A (ja) | デバイスドライバのコマンドキューイング制御方法及びコンピュータシステム | |
| JPH09160790A (ja) | タスクスケジュール装置及びタスクスケジュール方法 | |
| CN1318971C (zh) | 提升多任务作业环境下数据储存装置整体工作效率的方法 | |
| JPH04355818A (ja) | データ入出力制御装置 | |
| JPH01126738A (ja) | 多重ジョブの実行におけるデータセット競合制御方式 | |
| JPH06187171A (ja) | 割込みにおけるスケジューリング方式 | |
| JP2003005987A (ja) | エミュレーション装置 | |
| JP4535663B2 (ja) | ステートマシン制御方式およびステートマシン | |
| JP3301551B2 (ja) | ソート処理機能を持つデータ処理装置 | |
| JPH04107634A (ja) | メモリデータバイパス制御方式 | |
| JPH09106363A (ja) | ユーザコマンド自動実行方式 | |
| JPH07262024A (ja) | データ引き継ぎ方法 | |
| JPH04251335A (ja) | ファイル格納制御方式 |