JP2007241577A - 入出力要求制御方法、計算機システム及びコンピュータプログラム - Google Patents

入出力要求制御方法、計算機システム及びコンピュータプログラム Download PDF

Info

Publication number
JP2007241577A
JP2007241577A JP2006061877A JP2006061877A JP2007241577A JP 2007241577 A JP2007241577 A JP 2007241577A JP 2006061877 A JP2006061877 A JP 2006061877A JP 2006061877 A JP2006061877 A JP 2006061877A JP 2007241577 A JP2007241577 A JP 2007241577A
Authority
JP
Japan
Prior art keywords
input
time
output request
processing
output
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.)
Granted
Application number
JP2006061877A
Other languages
English (en)
Other versions
JP4407654B2 (ja
Inventor
Shotaro Kono
正太郎 河野
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 JP2006061877A priority Critical patent/JP4407654B2/ja
Publication of JP2007241577A publication Critical patent/JP2007241577A/ja
Application granted granted Critical
Publication of JP4407654B2 publication Critical patent/JP4407654B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】特定の入出力要求が大幅に遅延せず、入出力要求の間で遅延を均等にする。
【解決手段】処理プログラムが、処理装置の処理時間と終了時刻とを指定して、処理装置10への入出力を要求する入出力要求ステップと、入出力要求の受付時刻と処理時間及び終了時刻とから、入出力要求の開始時刻を設定する開始時刻設定ステップと、入出力要求を開始時刻の順に待ち行列に登録する登録ステップと、待ち行列から入出力要求を開始時刻順に取り出す取り出しステップと、現在時刻が取り出した入出力要求の開始時刻を過ぎていない場合に、その入出力要求を処理装置に渡す処理開始ステップと、現在時刻が取り出した入出力要求の開始時刻を過ぎていた場合に、待ち行列に登録されている入出力要求について、その受付時刻、開始時刻と現在時刻から計算される遅延度が最大の入出力要求を待ち行列から取り出して処理装置に渡す選択処理開始ステップと、を備える。
【選択図】図1

Description

本発明は計算機システムにおける入出力要求の処理順序を制御する方法、計算機システム及びコンピュータプログラムに関する。
計算機システムにおいて、処理プログラムの入出力要求を処理するために、入出力要求が発生した順序で処理するのではなく、入出力要求の優先度、対象となる入出力装置などの処理装置の優先度などにもとづいて、入出力要求の処理順序を決定することが一般的に行われる。
例えば、特許文献1は、処理プログラムが入出力要求に対して任意の優先順位を設定し、優先順位の低い要求が長時間待たされることがないように制御する技術が記載されている。特許文献1の技術では、待ち行列に登録されている各入出力要求は、属性として、それ自身より高い優先順位をもつ要求に追い越された回数、追い越し許容回数の情報を有する。処理プログラムからの入出力要求受付時は、設定された優先順位順に並ぶように、優先度制御表にエントリを登録する。入出力要求を優先度制御表に登録するとき、その登録した入出力要求に追い越された入出力要求については、追い越された回数をカウントアップし、追い越された回数が許容回数を超えた場合は、待ち行列(キュー)の先頭側に移動する。入出力処理実行時は、キューの先頭の入出力要求を取り出して、入出力処理を行う。
特許文献2は、複数のジョブに関して資源をスケジューリングするための機能強化された方法および装置を提供する。ジョブ・スケジューラは、実質的に最適の遅延コスト関数に従って、資源へのアクセスの順序と頻度に関する決定を行う。遅延コスト関数は、1入力または複数入力の単一値関数であり、入力のうちの少なくとも1つは、ジョブがサービスを待つのにつれて増加する遅延時間である。遅延コスト関数は、任意の形状とすることができ、ユーザ定義のパフォーマンス目標、システム構成または作業負荷の所与の組に関して最適の遅延コストを生じるように動的に調節できる。
特許文献3は、所望する印刷完了期限を指定しておくだけで、その指定期限までに当該印刷が間に合わない場合には、その印刷要求ジョブの印刷を優先的に実行できると共に、当該印刷要求ジョブの印刷順位を繰り上げたことによって、後続する他の印刷待ち要求ジョブの印刷がその印刷完了期限までに間に合わなくなるような不都合が生じないように、全体として効率の良い印刷制御を実現する技術が記載されている。特許文献3の技術は、印刷要求の際に、何時までに当該印刷を完了して欲しいかを示す印刷完了期限を任意に指定すると、サーバコンピュータは、印刷待ちとなっている各印刷要求ジョブの印刷が当該期限内に間に合うような並び順に、各ジョブの印刷順番を変更する。そして、サーバコンピュータは、印刷順番を変更した際に、印刷完了期限内に間に合わない印刷要求ジョブが存在するかを判別し、存在すれば、他の代替えプリンタ装置を指定して、そのジョブの出力先を変更する。
特開平1−112461号公報 特開平7−175669号公報 特開2001−236195号公報
従来の技術では、入出力要求の処理順序を、優先順位と追い越し回数で管理しており、優先順位の高い入出力要求が一時的に大量に発行されると、既にキューイングされていた優先順位の低い入出力要求が次々と処理され、優先順位の高い入出力要求が大幅に遅延するという問題があった。
また、入出力要求を開始すべき時刻が考慮されていないため、まだ処理を開始する必要のない優先順位の低い入出力要求が、キューの先頭に移動するという問題があった。
特許文献3の技術は、印刷完了期限内に間に合わない印刷要求ジョブを処理する代替プリンタ装置が設けられている場合であって、代替処理装置がない場合については想定されていない。
本発明は、上記事情に鑑みてなされたものであり、特定の処理プログラムが要求した入出力要求が大幅に遅延することがなく、入出力を要求する処理プログラムの間で遅延を均等にする入出力要求の処理順序制御方法を提供することを目的とする。
本発明の第1の観点に係る入出力要求制御方法は、
複数の処理プログラムからの処理装置に対する入出力要求を集中制御する計算機システムにおける優先度制御機能を有する入出力制御方法であって、
前記処理プログラムが、前記処理装置における処理に要する処理時間と、その処理を終了すべき時刻である終了時刻とを指定して、前記処理装置に対する入出力要求を行う入出力要求ステップと、
前記入出力要求を、前記処理プログラムから受け付けた受付時刻と、該入出力要求に指定された前記処理時間及び終了時刻とから、該入出力要求の開始時刻を算出して設定する開始時刻設定ステップと、
前記入出力要求を、前記開始時刻設定ステップで算出した開始時刻の順に、待ち行列に登録する登録ステップと、
前記待ち行列に登録された前記入出力要求を、前記開始時刻順に取り出す取り出しステップと、
前記取り出しステップで前記待ち行列から前記入出力要求を取り出したときに、その入出力要求を取り出した時刻がその入出力要求に設定された開始時刻を過ぎていない場合に、その入出力要求を前記処理装置に渡す処理開始ステップと、
前記取り出しステップで前記待ち行列から前記入出力要求を取り出したときに、その入出力要求を取り出した現在時刻がその入出力要求に設定された開始時刻を過ぎていた場合に、前記待ち行列に登録されている入出力要求について、その入出力要求の前記受付時刻及び前記開始時刻と前記現在時刻から遅延度を計算し、遅延度が最大の入出力要求を前記待ち行列から取り出して前記処理装置に渡す選択処理開始ステップと、
を備えることを特徴とする。
特に、前記遅延度は、前記現在時刻と前記開始時刻の差を、前記現在時刻と前記受付時刻の差で除した値に基づくことを特徴とする。
本発明の第2の観点に係る計算機システムは、
複数の処理プログラムからの処理装置に対する入出力要求を集中制御する計算機システムであって、
前記処理プログラムが、前記処理装置における処理に要する処理時間と、その処理を終了すべき時刻である終了時刻とを指定して、前記処理装置に対する入出力要求を行う入出力要求手段と、
前記入出力要求を、前記処理プログラムから受け付けた受付時刻と、該入出力要求に指定された前記処理時間及び終了時刻とから、該入出力要求の開始時刻を算出して設定する開始時刻設定手段と、
前記入出力要求を、前記開始時刻設定手段で算出した開始時刻の順に、待ち行列に登録する登録手段と、
前記待ち行列に登録された前記入出力要求を、前記待ち行列から取り出して前記処理装置に渡す処理制御手段と、
を備え、
前記処理制御手段は、
前記入出力要求を前記待ち行列から前記開始時刻の順に取り出し、
前記入出力要求を前記待ち行列から取り出したときに、その入出力要求を取り出した現在時刻がその入出力要求に設定された開始時刻を過ぎていない場合に、その入出力要求を前記処理装置に渡し、
前記現在時刻がその入出力要求に設定された開始時刻を過ぎていた場合に、前記待ち行列に登録されている入出力要求について、その入出力要求の前記受付時刻及び前記開始時刻と前記現在時刻から遅延度を計算し、遅延度が最大の入出力要求を前記待ち行列から取り出して前記処理装置に渡す、
ことを特徴とする。
好ましくは、前記遅延度は、前記現在時刻と前記開始時刻の差を、前記現在時刻と前記受付時刻の差で除した値に基づくことを特徴とする。
本発明の第3の観点に係るコンピュータプログラムは、コンピュータを、
処理プログラムが、処理装置における処理に要する処理時間と、その処理を終了すべき時刻である終了時刻とを指定して、前記処理装置に対する入出力要求を行う入出力要求手段と、
前記入出力要求を、前記処理プログラムから受け付けた受付時刻と、該入出力要求に指定された前記処理時間及び終了時刻とから、該入出力要求の開始時刻を算出して設定する開始時刻設定手段と、
前記入出力要求を、前記開始時刻設定手段で設定した開始時刻の順に、待ち行列に登録する登録手段と、
前記待ち行列に登録された前記入出力要求を、前記開始時刻順に取り出す取り出し手段と、
前記取り出し手段で前記待ち行列から前記入出力要求を取り出したときに、その入出力要求を取り出した時刻がその入出力要求に設定された開始時刻を過ぎていない場合に、その入出力要求を前記処理装置に渡す処理開始手段と、
前記取り出し手段で前記待ち行列から前記入出力要求を取り出したときに、その入出力要求を取り出した現在時刻がその入出力要求に設定された開始時刻を過ぎていた場合に、前記待ち行列に登録されている入出力要求について、その入出力要求の前記受付時刻及び前記開始時刻と前記現在時刻から遅延度を計算し、遅延度が最大の入出力要求を前記待ち行列から取り出して前記処理装置に渡す選択処理開始手段と、
して機能させることを特徴とする。
本発明の入出力要求の処理順序制御方法によれば、処理プログラムの入出力要求を待ち行列に登録(エンキュー)する時、処理プログラムが指定した終了時刻、処理時間から求めた開始時刻の順番に並ぶようにエンキューするので、処理プログラムが指定した終了時刻を満たすように入出力が行われる。また、入出力要求の負荷が高い場合でも、特定の入出力が大幅に遅延することがなく、遅延を均等にする効果がある。
以下、本発明の一実施の形態に係る入出力要求の処理順序制御方法及び計算機システムについて、図面を参照して説明する。
図1は、本発明の実施の形態に係る入出力要求制御方法に従う計算機システムの構成を示すブロック図である。図2は、図1の計算機システムの物理的構成の一例を示すブロック図である。図3は、本発明の実施の形態に係る入出力要求管理テーブルの構成例を示す図である。図4は、本発明の実施の形態に係る入出力要求エントリーの構成例を示す図である。図5は、本発明の実施の形態に係る遅延度の計算方法を説明する図である。
図1に示すように、本実施の形態に係る計算機システム1は、複数の処理プログラム21、22、23を含む処理プログラム群2と、入出力要求受付部3と、入出力要求登録部4と、入出力要求管理テーブル5と、入出力要求選択部6と、遅延度計算部7と、入出力要求処理部8と、処理完了通知部9と、処理装置10とから構成される。
処理装置10は、一般的には処理プログラムが要求する処理を実行する装置であって、本実施の形態では、例えばディスク装置、テープ装置等の入出力装置を想定している。処理装置としては、例えば他に、画像データ入力装置、プリンタ装置、画像データの分析又は符号化等を行う画像処理装置、データの暗号化/復号化装置、FFT等の信号処理装置等の場合が含まれる。
本発明の入出力制御方法は、1つの処理装置(又は、1種類の処理装置の群)に対する入出力の処理順序を制御する方法である。異なる種類の複数の処理装置(又は、複数の処理装置の群)がある場合は、処理装置の種類ごとに、入出力要求の処理順序を制御する。
入出力要求受付部3は、処理プログラム21〜23からの入出力要求を受け付ける。入出力要求を受け付けるとき、処理装置10への入出力が可能であれば、入出力要求処理部8を起動する。入出力要求を受け付けるとき、処理装置10への入出力が可能でなければ、受付時刻と、入出力要求の終了時刻とその処理処理における処理に要する時間から計算した、その入出力を開始すべき時刻(以下、開始時刻という)をその入出力要求に設定し、入出力要求登録部4を起動する。
入出力要求登録部4は、入出力要求に設定された開始時刻の順に配列されるように、入出力要求を入出力要求管理テーブル5に登録する。入出力要求管理テーブル5には、図3に示すように、入出力要求キュー(入出力要求待ち行列)51と、目標終了時間52が含まれる。入出力要求管理テーブル5に登録される入出力要求は、入出力要求キュー51に、入出力要求エントリ(以下、エントリと略す)として開始時刻の順に並べられる。実際には、最初のエントリ512をヘッダ511のポインタが示し、2番目のエントリ513は、最初のエントリ512のポインタで示され、さらに次々と入出力要求エントリがその前の入出力要求エントリのポインタで示されるように構成してもよい。
目標終了時間52は、入出力要求管理テーブル5の対象となっている処理装置10において、入出力要求を受け付けてから処理装置10で処理を完了するまでの標準的な時間である。例えば、処理装置10における実質的な平均の処理時間に余裕度を加えた時間とする。また、処理時間が入出力要求のデータ量に比例するなど、データ量などに依存して変化する場合は、データ量などの関数としてもよい。
図4に示すように、入出力要求エントリ512〜514は、受付時刻、開始時刻、入出力内容から構成されている。受付時刻は、入出力要求受付部3が入出力要求を受け付けた時刻である。開始時刻は、終了時刻までにその処理を完了するために、入出力を開始しなければならない時刻であって、
開始時刻 = 終了時刻−処理時間
で表される。開始時刻は、入出力要求受付部3が終了時刻と処理時間から計算する。入出力内容は、処理装置10に指令する書き込み、読み出し等の入出力と、処理装置10の処理内容を示す情報である。
入出力要求選択部6は、入出力要求管理テーブル5の入出力要求キュー51から、先頭の(図3でいえば、ヘッダ511で示される)入出力要求エントリ512を取り出す。ただし、エントリを取り出す現在時刻が、そのエントリの開始時刻を過ぎている場合は、登録されているエントリのうち、遅延度が最大となるエントリを入出力要求キュー51から取り出す。
遅延度計算部7は、入出力要求エントリ512〜514の遅延度を計算する。図5の(a)は本実施の形態の遅延度の計算式を示す。図5(b)は、時間軸上で受付時刻、開始時刻、終了時刻の関係の例と、図5(a)の遅延度の式の分母及び分子の時間を模式的に示す。遅延度は、図5(a)の計算式で求められる。本実施の形態では、遅延度は、
遅延度 =(現在時刻−開始時刻)/(現在時刻−受付時刻)
で計算される値である。すなわち、入出力要求を受け付けてからエントリを読み出すまでの時間に占める、現在時刻が開始時刻を超過している時間の割合である(図5(b)参照)。終了時刻と処理時間の指定により、開始時刻が受付時刻より小さく(前に)なる場合は、遅延度を1とする。優先指定がある場合は、開始時刻を受付時刻とする。その場合、遅延度は1である。本実施の形態では、遅延度は1以下の数で表され、最大値は1である。
従って、受付時刻が早くても、開始時刻が遅ければ遅延度は小さくなり、優先処理されない。受付時刻が遅くても、開始時刻が受付時刻に近い、あるいは、受付時刻と同じかそれ以前であれば、遅延度は1に近くなるので、優先的に処理されることになる。終了時刻と処理時間から求めた開始時刻に基づいて遅延度が計算される。その処理装置に対する入出力要求が多く、実際の処理開始が設定した開始時刻を過ぎてしまう場合でも、遅延度の大きさで入出力要求が処理されるので、特定の優先度の入出力要求の処理が大幅に遅延するということがなく、優先度に応じて遅延は均等化される。
遅延度は、図5(a)の式以外に、例えば、
遅延度 = (現在時刻−受付時刻)/(開始時刻−受付時刻)
や、
遅延度 = (現在時刻−開始時刻)/(開始時刻−受付時刻)
などであってもよい。ただし、これらの場合は、開始時刻は受付時刻より遅くなるように設定する。
入出力要求処理部8は、入出力要求受付部3から起動された場合は、処理装置10に対する入出力を実行する。処理完了通知部9から起動された場合は、入出力要求選択部6により入出力要求キュー51からエントリを取り出して、処理装置10に対する入出力を実行する。
処理完了通知部9は、処理装置10から処理の完了通知を受け取ると、その入出力要求を発行した処理プログラムへ入出力の完了を通知する。また、入出力要求管理テーブル5の入出力要求キュー51に登録されている入出力要求エントリを実行するために、入出力要求処理部8を起動する。
図1に示す本発明の入出力要求の処理順序制御方法に係る計算機システム1は、図2に示すように、制御部11、主記憶部12、外部記憶部13、計時部14、操作部15、表示部16、入出力部17及び処理装置10から構成される。主記憶部12、外部記憶部13、計時部14、操作部15、表示部16および入出力部17はいずれも内部バス19を介して制御部11に接続されている。
制御部11はCPU(Central Processing Unit)等から構成され、外部記憶部13に記憶されているプログラムに従って、入出力要求受付部3と、入出力要求登録部4と、入出力要求選択部6と、遅延度計算部7と、入出力要求処理部8と、処理完了通知部9の処理を実行する。また、処理プログラム群2の処理も制御部11で実行される。入出力要求受付部3、入出力要求登録部4、入出力要求選択部6、遅延度計算部7、入出力要求処理部8及び処理完了通知部9は、制御部11とその上で実行されるプログラムで実現される。
主記憶部12はRAM(Random-Access Memory)等から構成され、制御部11の作業領域として用いられる。入出力要求管理テーブル5は、主記憶部12の一部に記憶領域の構造体として記憶保持される。
外部記憶部13は、フラッシュメモリ、ハードディスク、DVD(Digital Versatile Disc)、DVD−RAM(Digital Versatile Disc Random-Access Memory)、DVD−RW(Digital Versatile Disc ReWritable)等の不揮発性メモリから構成され、前記の処理を制御部11に行わせるためのプログラムを予め記憶し、また、制御部11の指示に従って、このプログラムのデータを制御部11に供給し、制御部11から供給されたデータを記憶する。
計時部14は、例えば、クロックパルスをカウントし、基準の時刻からのカウント値によって時間を計測する。制御部11は、計時部14のカウント値を参照することによって、そのときの時刻を知ることができる。例えば前記の、入出力要求を受け付けた受付時刻と、入出力要求エントリを取り出すときの現在時刻を計時部14のカウント値で計測する。
操作部15はキーボードおよびマウスなどのポインティングデバイス等と、キーボードおよびポインティングデバイス等を内部バス19に接続するインターフェース装置から構成されている。操作部15を介して、計算機システム1の起動・停止、処理プログラムの起動・停止、処理プログラム等の状況表示、入出力要求管理テーブル5の状態表示などの指令が入力され制御部11に供給される。
表示部16は、CRT(Cathode Ray Tube)またはLCD(Liquid Crystal Display)などから構成され、操作部15から入力された指令に応じた制御部11の命令によって、処理プログラム群2の状況や入出力管理テーブル5の状態などを表示する。
入出力部17は、シリアルインタフェース、パラレルインターフェース又はLAN(Local Area Network)インターフェース等から構成されている。入出力部17を介して、処理装置10へ処理要求を入力し、又は処理装置10から処理結果の出力を受信する。
処理装置10は、前述のとおり、ディスク装置やテープ装置等の入出力装置、画像データ入力装置、プリンタ装置、画像処理装置、データの暗号化/復号化装置、又は信号処理装置等であって、処理プログラムの要求に従った処理を実行し、その結果を出力する。
次に、図1〜5に示す計算機システム1の動作を、図6及び7を参照して説明する。なお、上述のように、計算機システム1の動作は、制御部11が主記憶部12、外部記憶部13、計時部14、操作部15、表示部16、入出力部17及び処理装置10と協働して行う。
図6は、入出力要求を受け付ける処理の動作を示すフローチャートである。入出力要求受付部3が、処理プログラム21乃至23のいずれかから入出力要求を受け取ると、処理装置10への入出力が可能であるかをチェックし(ステップA1)、可能であれば(ステップA1;Yes)、入出力要求処理部8を起動し、処理装置10へ入力する(ステップA2)。可能でなければ(ステップA1;No)、現在時刻を受付時刻として取得する(ステップA3)。
次に、入出力要求の優先指定をチェックし(ステップA4)、例えば処理プログラム22の入出力要求のように、優先指定があれば(ステップA4;Yes)、開始時刻に受付時刻をセットする(ステップA10)。処理プログラム21又は処理プログラム23の入出力要求のように、優先指定がなければ(ステップA4;No)、終了指定時刻をチェックし(ステップA5)、終了時刻指定がなければ(ステップA5;No)、受付時刻に目標終了時間52を加えた値を終了時刻に設定する(ステップA6)。終了時刻指定があれば(ステップA5;Yes)、終了時刻の設定は行わない。
また、処理時間指定をチェックし(ステップA7)、処理時間指定がなければ(ステップA7;No)、処理装置10の種別、入出力データサイズ等から計算した予測処理時間を処理時間に設定する(ステップA8)。処理時間指定があれば(ステップA7;Yes)、処理時間の設定は行わない。そして、終了時刻から処理時間を引いた値を開始時刻にセットする(ステップA9)。
入出力要求登録部4は、入出力要求エントリ512〜514の配列が開始時刻順となるよう、入出力要求を入出力管理テーブル5の入出力要求キュー51へ登録する。
入出力要求処理部8は、入出力要求受付部3から起動された場合は、処理装置10に対する入出力を実行する。処理完了通知部9から起動された場合は、入出力要求選択部6により、入出力要求キュー51から入出力要求を取り出し、処理装置10に対する入出力を実行する。処理完了通知部9は、処理装置10から入出力の完了通知を受け取ると、入出力要求を発行したプログラムへ入出力の完了を通知し、入出力要求キュー51にキューイングされている入出力要求を実行するために、入出力要求処理部8を起動する。
図7は、入出力要求管理テーブル5から入出力要求を選択する処理の動作を示すフローチャートである。入出力要求選択部6は、まず、内部変数であるmに1、nに1、dに0をセットし(ステップB1)、現在時刻を取得する(ステップB2)。mは、各入出力要求の遅延度を計算するために、入出力要求の番号を表す変数である。nは、最大遅延度の入出力要求の番号を表す変数である。dは遅延度の最大値を比較するための変数で、最終的に遅延度の最大値となる。
次に、先頭の入出力要求の開始時刻が遅延していないかをチェックし(ステップB3)、遅延していなければ(ステップB3;No)、入出力要求キュー51の先頭の入出力要求を取り出し(ステップB8)、入出力を実行する。遅延していれば(ステップB3;Yes)、遅延度計算部7を起動し、先頭の入出力要求の遅延度d(1)を計算する(ステップB4)。
d(1)の値がd(初期値=0)より大きいかチェックし(ステップB5)、Yesであれば、dにd(m)、nにmをセットする(ステップB6)。一方、Noであれば、ステップB6をスキップする。例えば、入出力要求の遅延度計算の最初の処理ループであるm=1の場合、d(1)は0より大きくなるため、Yesとなって、dにd(1)、nに1をセットする(ステップB6)。そして、mにm+1(=2)をセットする(ステップB7)。2番目以降の入出力要求についても、遅延していない入出力要求を見つけるまで、入出力要求の開始時刻が遅延していないかチェックする(ステップB3)。
入出力要求キュー51には、入出力要求エントリ512〜514が、開始時刻の順に並んでいるので、開始時刻が現在時刻より遅い入出力要求を見つけたら、それ以降の入出力要求は開始時刻を過ぎていない。開始時刻を過ぎていない入出力要求の遅延度は、図5の式で表されているとおり負となるから、それ以降の入出力要求の遅延度は計算するまでもない。
遅延していない入出力要求を見つけたときに(ステップB3;No)、遅延度が最大となるのはn番目の入出力要求であるため、n番目の入出力要求を取り出し(ステップB8)、その入出力要求を実行する。
プログラム22の入出力要求のように、優先指定があれば、入出力要求受付部3によって、開始時刻には受付時刻がセットされるため、入出力要求登録部4によるエンキュー時は、入出力要求キューの前方にエンキューされる。また、優先指定がある入出力要求の遅延度は必ず1となるため、遅延発生時は、入出力要求選択部6により、優先して選択処理される。
また、プログラム21、プログラム23の入力要求のように、優先指定がなければ、終了時刻(終了時刻指定がない場合は受付時刻に目標終了時間を加えた値)と処理時間(処理時間指定がない場合は予測処理時間)によって、開始時刻が決まる。そして、現在時刻と開始時刻の差から遅延度が決まる。よって、終了時刻が早いほど、処理時間が大きいほど、開始時刻が早くなり、入出力要求登録部4によるエンキュー時は、入出力要求キュー51の前方にエンキューされる。また、開始時刻が早いほど、遅延度は大きくなるため、遅延発生時(現在時刻が開始時刻を過ぎている入出力要求がある時)は、入出力要求選択部6により、優先して選択されて処理される。
以上、説明したとおり、現在時刻が開始時刻を過ぎている入出力要求がなければ、開始時刻順に並べられた入出力要求キュー51の先頭の入出力要求エントリ512が選択されて実行される。現在時刻が開始時刻を過ぎている入出力要求があれば、入出力要求を受け付けてからエントリを読み出すまでの時間に占める現在時刻が開始時刻を超過している時間の割合、として表される遅延度が最大の入出力要求が選択されて実行される。さらに、優先指定がある入出力要求は、受付時刻が開始時刻となって、遅延度は1で最大になるので、優先指定のない入出力要求に先立って処理される。
その結果、処理プログラム21〜23が指定した終了時刻を満たすように入出力が行われる。また、入出力要求の負荷が高い場合でも、特定の入出力が大幅に遅延することがなく、遅延を均等にする。
その他、前記のハードウエア構成やフローチャートは一例であり、任意に変更及び修正が可能である。
計算機システム1は、専用のシステムによらず、通常のコンピュータシステムを用いて実現可能である。例えば、前記の動作を実行するためのコンピュータプログラムを、コンピュータが読みとり可能な記録媒体(フレキシブルディスク、CD-ROM、DVD-ROM等)に格納して配布し、当該コンピュータプログラムをコンピュータにインストールすることにより、前記の処理を実行する装置を構成してもよい。また、インターネット等の通信ネットワーク上のサーバ装置が有する記憶装置に当該コンピュータプログラムを格納しておき、通常のコンピュータシステムがダウンロード等することで本発明の計算機システム1を構成してもよい。
また、前記の各機能を、OS(オペレーティングシステム)とアプリケーションプログラムの分担、またはOSとアプリケーションプログラムとの協働により実現する場合などには、アプリケーションプログラム部分のみを記録媒体や記憶装置に格納してもよい。
また、搬送波に上述のコンピュータプログラムを重畳し、通信ネットワークを介して配信することも可能である。
本発明の実施の形態に係る入出力要求制御方法に従う計算機システムの構成の一例を示すブロック図である。 本発明の実施の形態に係る計算機システムの物理的構成の一例を示すブロック図である。 本発明の実施の形態に係る入出力要求管理テーブルの構成例を示す図である。 本発明の実施の形態に係る入出力要求エントリーの構成例を示す図である。 本発明の実施の形態に係る遅延度の計算方法を説明する図である。 本発明の実施の形態に係る入出力要求を受け付ける処理の動作を示すフローチャートである。 本発明の実施の形態に係る入出力要求管理テーブルから入出力要求を選択する処理の動作を示すフローチャートである。
符号の説明
1 計算機システム
2 処理プログラム群(入出力要求手段)
3 入出力要求受付部(開始時刻設定手段)
4 入出力要求登録部(登録手段)
5 入出力要求管理テーブル(待ち行列)
6 入出力要求選択部(処理制御手段)
7 遅延度計算部
8 入出力要求処理部(処理制御手段)
9 処理完了通知部
10 処理装置
11 制御部
12 主記憶部
13 外部記憶部
14 計時部
15 操作部
16 表示部
17 入出力部
19 内部バス
21、22、23 処理プログラム
51 入出力要求キュー(待ち行列)

Claims (5)

  1. 複数の処理プログラムからの処理装置に対する入出力要求を集中制御する計算機システムにおける優先度制御機能を有する入出力制御方法であって、
    前記処理プログラムが、前記処理装置における処理に要する処理時間と、その処理を終了すべき時刻である終了時刻とを指定して、前記処理装置に対する入出力要求を行う入出力要求ステップと、
    前記入出力要求を、前記処理プログラムから受け付けた受付時刻と、該入出力要求に指定された前記処理時間及び終了時刻とから、該入出力要求の開始時刻を算出して設定する開始時刻設定ステップと、
    前記入出力要求を、前記開始時刻設定ステップで算出した開始時刻の順に、待ち行列に登録する登録ステップと、
    前記待ち行列に登録された前記入出力要求を、前記開始時刻順に取り出す取り出しステップと、
    前記取り出しステップで前記待ち行列から前記入出力要求を取り出したときに、その入出力要求を取り出した時刻がその入出力要求に設定された開始時刻を過ぎていない場合に、その入出力要求を前記処理装置に渡す処理開始ステップと、
    前記取り出しステップで前記待ち行列から前記入出力要求を取り出したときに、その入出力要求を取り出した現在時刻がその入出力要求に設定された開始時刻を過ぎていた場合に、前記待ち行列に登録されている入出力要求について、その入出力要求の前記受付時刻及び前記開始時刻と前記現在時刻から遅延度を計算し、遅延度が最大の入出力要求を前記待ち行列から取り出して前記処理装置に渡す選択処理開始ステップと、
    を備えることを特徴とする入出力要求制御方法。
  2. 前記遅延度は、前記現在時刻と前記開始時刻の差を、前記現在時刻と前記受付時刻の差で除した値に基づくことを特徴とする請求項1に記載の入出力要求制御方法。
  3. 複数の処理プログラムからの処理装置に対する入出力要求を集中制御する計算機システムであって、
    前記処理プログラムが、前記処理装置における処理に要する処理時間と、その処理を終了すべき時刻である終了時刻とを指定して、前記処理装置に対する入出力要求を行う入出力要求手段と、
    前記入出力要求を、前記処理プログラムから受け付けた受付時刻と、該入出力要求に指定された前記処理時間及び終了時刻とから、該入出力要求の開始時刻を算出して設定する開始時刻設定手段と、
    前記入出力要求を、前記開始時刻設定手段で算出した開始時刻の順に、待ち行列に登録する登録手段と、
    前記待ち行列に登録された前記入出力要求を、前記待ち行列から取り出して前記処理装置に渡す処理制御手段と、
    を備え、
    前記処理制御手段は、
    前記入出力要求を前記待ち行列から前記開始時刻の順に取り出し、
    前記入出力要求を前記待ち行列から取り出したときに、その入出力要求を取り出した現在時刻がその入出力要求に設定された開始時刻を過ぎていない場合に、その入出力要求を前記処理装置に渡し、
    前記現在時刻がその入出力要求に設定された開始時刻を過ぎていた場合に、前記待ち行列に登録されている入出力要求について、その入出力要求の前記受付時刻及び前記開始時刻と前記現在時刻から遅延度を計算し、遅延度が最大の入出力要求を前記待ち行列から取り出して前記処理装置に渡す、
    ことを特徴とする計算機システム。
  4. 前記遅延度は、前記現在時刻と前記開始時刻の差を、前記現在時刻と前記受付時刻の差で除した値に基づくことを特徴とする請求項3に記載の計算機システム。
  5. コンピュータを、
    処理プログラムが、処理装置における処理に要する処理時間と、その処理を終了すべき時刻である終了時刻とを指定して、前記処理装置に対する入出力要求を行う入出力要求手段と、
    前記入出力要求を、前記処理プログラムから受け付けた受付時刻と、該入出力要求に指定された前記処理時間及び終了時刻とから、該入出力要求の開始時刻を算出して設定する開始時刻設定手段と、
    前記入出力要求を、前記開始時刻設定手段で設定した開始時刻の順に、待ち行列に登録する登録手段と、
    前記待ち行列に登録された前記入出力要求を、前記開始時刻順に取り出す取り出し手段と、
    前記取り出し手段で前記待ち行列から前記入出力要求を取り出したときに、その入出力要求を取り出した時刻がその入出力要求に設定された開始時刻を過ぎていない場合に、その入出力要求を前記処理装置に渡す処理開始手段と、
    前記取り出し手段で前記待ち行列から前記入出力要求を取り出したときに、その入出力要求を取り出した現在時刻がその入出力要求に設定された開始時刻を過ぎていた場合に、前記待ち行列に登録されている入出力要求について、その入出力要求の前記受付時刻及び前記開始時刻と前記現在時刻から遅延度を計算し、遅延度が最大の入出力要求を前記待ち行列から取り出して前記処理装置に渡す選択処理開始手段と、
    して機能させるためのコンピュータプログラム。
JP2006061877A 2006-03-07 2006-03-07 入出力要求制御方法、計算機システム及びコンピュータプログラム Expired - Fee Related JP4407654B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006061877A JP4407654B2 (ja) 2006-03-07 2006-03-07 入出力要求制御方法、計算機システム及びコンピュータプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006061877A JP4407654B2 (ja) 2006-03-07 2006-03-07 入出力要求制御方法、計算機システム及びコンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2007241577A true JP2007241577A (ja) 2007-09-20
JP4407654B2 JP4407654B2 (ja) 2010-02-03

Family

ID=38587072

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006061877A Expired - Fee Related JP4407654B2 (ja) 2006-03-07 2006-03-07 入出力要求制御方法、計算機システム及びコンピュータプログラム

Country Status (1)

Country Link
JP (1) JP4407654B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010035617A1 (ja) * 2008-09-29 2010-04-01 インターナショナル・ビジネス・マシーンズ・コーポレーション データの再呼び出し順を決定するための装置、方法、及びプログラム
JP2011113290A (ja) * 2009-11-26 2011-06-09 Nec Corp ジョブフロー管理装置、管理方法および管理プログラム
US20110320778A1 (en) * 2010-06-23 2011-12-29 International Business Machines Corporation Centralized serialization of requests in a multiprocessor system
WO2022004258A1 (en) * 2020-07-03 2022-01-06 Hitachi Astemo, Ltd. SYSTEM AND METHOD FOR EFFICIENT AND DETERMINISTIC SERVICE-ORIENTED COMMUNICATION OVER PERIPHERAL COMPONENT INTERCONNECT EXPRESS (PCIe) BUS
CN114489471A (zh) * 2021-08-10 2022-05-13 荣耀终端有限公司 一种输入输出处理方法和电子设备

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010035617A1 (ja) * 2008-09-29 2010-04-01 インターナショナル・ビジネス・マシーンズ・コーポレーション データの再呼び出し順を決定するための装置、方法、及びプログラム
JP5166541B2 (ja) * 2008-09-29 2013-03-21 インターナショナル・ビジネス・マシーンズ・コーポレーション データの再呼び出し順を決定するための装置、方法、及びプログラム
US8732393B2 (en) 2008-09-29 2014-05-20 International Business Machines Corporation Apparatus, method and program product for determining the data recall order
US9104318B2 (en) 2008-09-29 2015-08-11 International Business Machines Corporation Apparatus, method and program product for determining the data recall order
US9477411B2 (en) 2008-09-29 2016-10-25 International Business Machines Corporation Apparatus, method and program product for determining the data recall order
JP2011113290A (ja) * 2009-11-26 2011-06-09 Nec Corp ジョブフロー管理装置、管理方法および管理プログラム
US20110320778A1 (en) * 2010-06-23 2011-12-29 International Business Machines Corporation Centralized serialization of requests in a multiprocessor system
US8688880B2 (en) * 2010-06-23 2014-04-01 International Business Machines Corporation Centralized serialization of requests in a multiprocessor system
WO2022004258A1 (en) * 2020-07-03 2022-01-06 Hitachi Astemo, Ltd. SYSTEM AND METHOD FOR EFFICIENT AND DETERMINISTIC SERVICE-ORIENTED COMMUNICATION OVER PERIPHERAL COMPONENT INTERCONNECT EXPRESS (PCIe) BUS
CN114489471A (zh) * 2021-08-10 2022-05-13 荣耀终端有限公司 一种输入输出处理方法和电子设备

Also Published As

Publication number Publication date
JP4407654B2 (ja) 2010-02-03

Similar Documents

Publication Publication Date Title
US7190477B2 (en) System and method for managing and processing a print job using print job tickets
EP1271314B1 (en) Sleep queue management for operating systems
US9870369B2 (en) Distributed resource contention detection and handling
EP1271315A2 (en) Run queue management
US8108571B1 (en) Multithreaded DMA controller
EP1122635A2 (en) Printing apparatus
US8352946B2 (en) Managing migration ready queue associated with each processor based on the migration ready status of the tasks
EP3508975A1 (en) Opportunistic multitasking
JP4407654B2 (ja) 入出力要求制御方法、計算機システム及びコンピュータプログラム
JP2006202244A (ja) ソースデバイスに対するリクエストをスケジューリングする装置及び方法
JP2011505037A (ja) 読出しデータバッファリングのシステム及び方法
US8229961B2 (en) Management of latency and throughput in a cluster file system
JP2016535887A (ja) マルチコアプロセッサにおける並行関数の効率的なハードウェアディスパッチ、ならびに関連するプロセッサシステム、方法、およびコンピュータ可読媒体
US10318345B2 (en) Dynamic priority queue
JP5041105B1 (ja) スプール制御装置及びプログラム
US20180191630A1 (en) Techniques for processor queue management
JP5614318B2 (ja) スケジューリングプログラム,方法および装置
JP2011165105A (ja) 入出力制御装置、入出力制御方法
JP2007280253A (ja) 情報処理装置及び情報処理方法
JP2020024636A (ja) スケジューリング装置、スケジューリングシステム、スケジューリング方法及びプログラム
JP4292705B2 (ja) タスクスケジューリング装置
JP2009199367A (ja) 計算機システム、i/oスケジューラ及びi/oスケジューリング方法
JP2008225641A (ja) コンピュータシステム、割り込み制御方法及びプログラム
JP2017107486A (ja) 処理リソース制御プログラム、処理リソース制御装置、および処理リソース制御方法
KR20060062305A (ko) 실시간 성능 지원을 위한 리눅스 커널의 구성 방법 및실시간 성능 테스트 방법

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080527

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090303

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090616

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090817

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20091020

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091102

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121120

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121120

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131120

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees