JP4407654B2 - I / O request control method, computer system, and computer program - Google Patents

I / O request control method, computer system, and computer program Download PDF

Info

Publication number
JP4407654B2
JP4407654B2 JP2006061877A JP2006061877A JP4407654B2 JP 4407654 B2 JP4407654 B2 JP 4407654B2 JP 2006061877 A JP2006061877 A JP 2006061877A JP 2006061877 A JP2006061877 A JP 2006061877A JP 4407654 B2 JP4407654 B2 JP 4407654B2
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.)
Expired - Fee Related
Application number
JP2006061877A
Other languages
Japanese (ja)
Other versions
JP2007241577A (en
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 JP2006061877A priority Critical patent/JP4407654B2/en
Publication of JP2007241577A publication Critical patent/JP2007241577A/en
Application granted granted Critical
Publication of JP4407654B2 publication Critical patent/JP4407654B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は計算機システムにおける入出力要求の処理順序を制御する方法、計算機システム及びコンピュータプログラムに関する。   The present invention relates to a method for controlling the processing order of input / output requests in a computer system, a computer system, and a computer program.

計算機システムにおいて、処理プログラムの入出力要求を処理するために、入出力要求が発生した順序で処理するのではなく、入出力要求の優先度、対象となる入出力装置などの処理装置の優先度などにもとづいて、入出力要求の処理順序を決定することが一般的に行われる。   In the computer system, in order to process the input / output requests of the processing program, the priority of the input / output requests and the priority of the processing device such as the target input / output device are not processed in the order in which the input / output requests are generated. Generally, the processing order of input / output requests is determined based on the above.

例えば、特許文献1は、処理プログラムが入出力要求に対して任意の優先順位を設定し、優先順位の低い要求が長時間待たされることがないように制御する技術が記載されている。特許文献1の技術では、待ち行列に登録されている各入出力要求は、属性として、それ自身より高い優先順位をもつ要求に追い越された回数、追い越し許容回数の情報を有する。処理プログラムからの入出力要求受付時は、設定された優先順位順に並ぶように、優先度制御表にエントリを登録する。入出力要求を優先度制御表に登録するとき、その登録した入出力要求に追い越された入出力要求については、追い越された回数をカウントアップし、追い越された回数が許容回数を超えた場合は、待ち行列(キュー)の先頭側に移動する。入出力処理実行時は、キューの先頭の入出力要求を取り出して、入出力処理を行う。   For example, Patent Document 1 describes a technique in which a processing program sets an arbitrary priority for an input / output request and controls so that a request with a low priority does not wait for a long time. In the technique of Patent Document 1, each input / output request registered in the queue has information on the number of times it has been overtaken by a request having a higher priority than itself and the number of times allowed to pass. When an input / output request is received from the processing program, entries are registered in the priority control table so that they are arranged in the set priority order. When registering an I / O request in the priority control table, if an I / O request is overtaken by the registered I / O request, the number of overtakes is counted up. Move to the head of the queue. When executing input / output processing, the input / output request at the head of the queue is taken out and input / output processing is performed.

特許文献2は、複数のジョブに関して資源をスケジューリングするための機能強化された方法および装置を提供する。ジョブ・スケジューラは、実質的に最適の遅延コスト関数に従って、資源へのアクセスの順序と頻度に関する決定を行う。遅延コスト関数は、1入力または複数入力の単一値関数であり、入力のうちの少なくとも1つは、ジョブがサービスを待つのにつれて増加する遅延時間である。遅延コスト関数は、任意の形状とすることができ、ユーザ定義のパフォーマンス目標、システム構成または作業負荷の所与の組に関して最適の遅延コストを生じるように動的に調節できる。   U.S. Patent No. 6,057,836 provides an enhanced method and apparatus for scheduling resources for multiple jobs. The job scheduler makes decisions regarding the order and frequency of access to resources according to a substantially optimal delay cost function. The delay cost function is a single-value or multi-input single value function, at least one of the inputs being a delay time that increases as the job waits for service. The delay cost function can be of any shape and can be dynamically adjusted to produce an optimal delay cost for a given set of user-defined performance goals, system configurations or workloads.

特許文献3は、所望する印刷完了期限を指定しておくだけで、その指定期限までに当該印刷が間に合わない場合には、その印刷要求ジョブの印刷を優先的に実行できると共に、当該印刷要求ジョブの印刷順位を繰り上げたことによって、後続する他の印刷待ち要求ジョブの印刷がその印刷完了期限までに間に合わなくなるような不都合が生じないように、全体として効率の良い印刷制御を実現する技術が記載されている。特許文献3の技術は、印刷要求の際に、何時までに当該印刷を完了して欲しいかを示す印刷完了期限を任意に指定すると、サーバコンピュータは、印刷待ちとなっている各印刷要求ジョブの印刷が当該期限内に間に合うような並び順に、各ジョブの印刷順番を変更する。そして、サーバコンピュータは、印刷順番を変更した際に、印刷完了期限内に間に合わない印刷要求ジョブが存在するかを判別し、存在すれば、他の代替えプリンタ装置を指定して、そのジョブの出力先を変更する。
特開平1−112461号公報 特開平7−175669号公報 特開2001−236195号公報
Japanese Patent Application Laid-Open No. 2004-151867 can specify the desired print completion deadline, and if the printing is not in time by the designated deadline, the print request job can be preferentially executed and the print request job Describes a technology that realizes efficient print control as a whole so as not to cause inconvenience that printing of other subsequent print waiting request jobs will not be in time for the print completion deadline Has been. In the technique of Patent Literature 3, when a print completion deadline indicating when the printing is desired to be completed is arbitrarily designated at the time of a print request, the server computer allows each print request job waiting for printing to be printed. The printing order of each job is changed in the arrangement order so that the printing is in time for the deadline. When the print order is changed, the server computer determines whether there is a print request job that is not in time for the print completion deadline. If there is, the server computer designates another alternative printer device and outputs the job. Change the destination.
JP-A 1-1112461 JP 7-175669 A JP 2001-236195 A

従来の技術では、入出力要求の処理順序を、優先順位と追い越し回数で管理しており、優先順位の高い入出力要求が一時的に大量に発行されると、既にキューイングされていた優先順位の低い入出力要求が次々と処理され、優先順位の高い入出力要求が大幅に遅延するという問題があった。   In the conventional technology, the processing order of I / O requests is managed by priority and overtaking number. When a large number of I / O requests with high priority are issued temporarily, the priority already queued. However, there is a problem that I / O requests with low priority are processed one after another, and I / O requests with high priority are greatly delayed.

また、入出力要求を開始すべき時刻が考慮されていないため、まだ処理を開始する必要のない優先順位の低い入出力要求が、キューの先頭に移動するという問題があった。   Further, since the time at which the input / output request should be started is not taken into account, there is a problem that an input / output request with a low priority that does not need to start processing moves to the head of the queue.

特許文献3の技術は、印刷完了期限内に間に合わない印刷要求ジョブを処理する代替プリンタ装置が設けられている場合であって、代替処理装置がない場合については想定されていない。   The technique of Patent Literature 3 is a case where an alternative printer device that processes a print request job that is not in time for the print completion deadline is provided, and a case where there is no alternative processing device is not assumed.

本発明は、上記事情に鑑みてなされたものであり、特定の処理プログラムが要求した入出力要求が大幅に遅延することがなく、入出力を要求する処理プログラムの間で遅延を均等にする入出力要求の処理順序制御方法を提供することを目的とする。   The present invention has been made in view of the above circumstances, and the input / output request requested by a specific processing program is not significantly delayed, and the delay between the processing programs requesting input / output is equalized. It is an object of the present invention to provide a processing order control method for output requests.

本発明の第1の観点に係る入出力要求制御方法は、
複数の処理プログラムからの処理装置に対する入出力要求を集中制御する計算機システムにおける優先度制御機能を有する入出力制御方法であって、
前記処理プログラムが、前記処理装置における処理に要する処理時間と、その処理を終了すべき時刻である終了時刻と、他の入出力よりも優先して入出力を行う場合に指定する優先指定とを指定して、前記処理装置に対する入出力要求を行う入出力要求ステップと、
前記入出力要求を、前記優先指定がある場合には前記処理プログラムから受け付けた受付時刻から該入出力要求の開始時刻を算出して、前記優先指定がない場合には、該入出力要求に指定された前記処理時間及び終了時刻から、該入出力要求の開始時刻を算出して設定する開始時刻設定ステップと、
前記入出力要求を、前記開始時刻設定ステップで算出した開始時刻の順に、待ち行列に登録する登録ステップと、
前記待ち行列に登録された前記入出力要求を、前記開始時刻順に取り出す取り出しステップと、
前記取り出しステップで前記待ち行列から前記入出力要求を取り出したときに、その入出力要求を取り出した時刻がその入出力要求に設定された開始時刻を過ぎていない場合に、その入出力要求を前記処理装置に渡す処理開始ステップと、
前記取り出しステップで前記待ち行列から前記入出力要求を取り出したときに、その入出力要求を取り出した現在時刻がその入出力要求に設定された開始時刻を過ぎていた場合に、前記待ち行列に登録されている入出力要求について、その入出力要求の前記受付時刻及び前記開始時刻と前記現在時刻から遅延度を計算し、遅延度が最大の入出力要求を前記待ち行列から取り出して前記処理装置に渡す選択処理開始ステップと、
を備えることを特徴とする。
An input / output request control method according to a first aspect of the present invention includes:
An input / output control method having a priority control function in a computer system for centrally controlling input / output requests to a processing device from a plurality of processing programs,
The processing program includes a processing time required for processing in the processing device, an end time that is a time at which the processing is to be ended, and a priority designation that is specified when input / output is given priority over other input / output. An input / output requesting step for making an input / output request to the processing device;
The input / output request is calculated from the reception time received from the processing program when the priority is specified , and the input / output request is specified as the input / output request when the priority is not specified. has been the processing time and end time or al, the start time setting step of setting calculates the start time of the input output request,
A registration step of registering the input / output request in a queue in the order of the start time calculated in the start time setting step;
Retrieving the I / O requests registered in the queue in order of the start time;
When the input / output request is extracted from the queue in the extraction step, if the time when the input / output request is extracted does not exceed the start time set in the input / output request, the input / output request is A process start step to be passed to the processing device;
When the I / O request is taken out from the queue in the fetching step, if the current time at which the I / O request is taken has passed the start time set in the I / O request, it is registered in the queue With respect to the input / output request, the delay is calculated from the reception time and start time of the input / output request and the current time, and the input / output request with the maximum delay is taken out from the queue and sent to the processing device. A selection process start step to pass,
It is characterized by providing.

特に、前記遅延度は、前記現在時刻と前記開始時刻の差を、前記現在時刻と前記受付時刻の差で除した値に基づくことを特徴とする。   In particular, the degree of delay is based on a value obtained by dividing a difference between the current time and the start time by a difference between the current time and the reception time.

本発明の第2の観点に係る計算機システムは、
複数の処理プログラムからの処理装置に対する入出力要求を集中制御する計算機システムであって、
前記処理プログラムが、前記処理装置における処理に要する処理時間と、その処理を終了すべき時刻である終了時刻と、他の入出力よりも優先して入出力を行う場合に指定する優先指定とを指定して、前記処理装置に対する入出力要求を行う入出力要求手段と、
前記入出力要求を、前記優先指定がある場合には前記処理プログラムから受け付けた受付時刻から該入出力要求の開始時刻を算出して、前記優先指定がない場合には、該入出力要求に指定された前記処理時間及び終了時刻から、該入出力要求の開始時刻を算出して設定する開始時刻設定手段と、
前記入出力要求を、前記開始時刻設定手段で算出した開始時刻の順に、待ち行列に登録する登録手段と、
前記待ち行列に登録された前記入出力要求を、前記待ち行列から取り出して前記処理装置に渡す処理制御手段と、
を備え、
前記処理制御手段は、
前記入出力要求を前記待ち行列から前記開始時刻の順に取り出し、
前記入出力要求を前記待ち行列から取り出したときに、その入出力要求を取り出した現在時刻がその入出力要求に設定された開始時刻を過ぎていない場合に、その入出力要求を前記処理装置に渡し、
前記現在時刻がその入出力要求に設定された開始時刻を過ぎていた場合に、前記待ち行列に登録されている入出力要求について、その入出力要求の前記受付時刻及び前記開始時刻と前記現在時刻から遅延度を計算し、遅延度が最大の入出力要求を前記待ち行列から取り出して前記処理装置に渡す、
ことを特徴とする。
A computer system according to a second aspect of the present invention is:
A computer system for centrally controlling input / output requests to a processing device from a plurality of processing programs,
The processing program includes a processing time required for processing in the processing device, an end time that is a time at which the processing is to be ended, and a priority designation that is specified when input / output is given priority over other input / output. An input / output requesting means for making an input / output request to the processing device;
The input / output request is calculated from the reception time received from the processing program when the priority is specified , and the input / output request is specified as the input / output request when the priority is not specified. has been the processing time and end time or al, the start time setting means calculates and sets the start time of the input output request,
Registration means for registering the input / output requests in a queue in the order of the start times calculated by the start time setting means;
Processing control means for taking out the input / output request registered in the queue and passing it to the processing device;
With
The processing control means includes
Taking the I / O requests out of the queue in order of the start times;
When the input / output request is taken out from the queue, if the current time when the input / output request is taken out does not exceed the start time set in the input / output request, the input / output request is sent to the processing device. Hand over,
When the current time has passed the start time set in the input / output request, for the input / output request registered in the queue, the reception time of the input / output request, the start time, and the current time A delay is calculated from the I / O request with the maximum delay is taken out of the queue and passed to the processing unit;
It is characterized by that.

好ましくは、前記遅延度は、前記現在時刻と前記開始時刻の差を、前記現在時刻と前記受付時刻の差で除した値に基づくことを特徴とする。   Preferably, the degree of delay is based on a value obtained by dividing a difference between the current time and the start time by a difference between the current time and the reception time.

本発明の第3の観点に係るコンピュータプログラムは、コンピュータを、
処理プログラムが、処理装置における処理に要する処理時間と、その処理を終了すべき時刻である終了時刻と、他の入出力よりも優先して入出力を行う場合に指定する優先指定とを指定して、前記処理装置に対する入出力要求を行う入出力要求手段と、
前記入出力要求を、前記優先指定がある場合には前記処理プログラムから受け付けた受付時刻から該入出力要求の開始時刻を算出して、前記優先指定がない場合には、該入出力要求に指定された前記処理時間及び終了時刻から、該入出力要求の開始時刻を算出して設定する開始時刻設定手段と、
前記入出力要求を、前記開始時刻設定手段で設定した開始時刻の順に、待ち行列に登録する登録手段と、
前記待ち行列に登録された前記入出力要求を、前記開始時刻順に取り出す取り出し手段と、
前記取り出し手段で前記待ち行列から前記入出力要求を取り出したときに、その入出力要求を取り出した時刻がその入出力要求に設定された開始時刻を過ぎていない場合に、その入出力要求を前記処理装置に渡す処理開始手段と、
前記取り出し手段で前記待ち行列から前記入出力要求を取り出したときに、その入出力要求を取り出した現在時刻がその入出力要求に設定された開始時刻を過ぎていた場合に、前記待ち行列に登録されている入出力要求について、その入出力要求の前記受付時刻及び前記開始時刻と前記現在時刻から遅延度を計算し、遅延度が最大の入出力要求を前記待ち行列から取り出して前記処理装置に渡す選択処理開始手段と、
して機能させることを特徴とする。
A computer program according to a third aspect of the present invention provides a computer,
Specify the processing time required for processing in the processing device, the end time that is the time at which the processing should be terminated, and the priority designation that is specified when input / output is given priority over other input / output. Input / output request means for making an input / output request to the processing device;
The input / output request is calculated from the reception time received from the processing program when the priority is specified , and the input / output request is specified as the input / output request when the priority is not specified. has been the processing time and end time or al, the start time setting means calculates and sets the start time of the input output request,
Registration means for registering the input / output request in a queue in the order of the start times set by the start time setting means;
Retrieving means for retrieving the input / output requests registered in the queue in order of the start time;
When the I / O request is taken out from the queue by the take-out means, if the time when the I / O request is taken out does not pass the start time set in the I / O request, the I / O request is Processing start means to be passed to the processing device;
When the fetching means fetches the I / O request from the queue, if the current time when the I / O request was fetched has passed the start time set in the I / O request, it is registered in the queue With respect to the input / output request, the delay is calculated from the reception time and start time of the input / output request and the current time, and the input / output request with the maximum delay is taken out from the queue and sent to the processing device. Selection processing start means to be passed,
It is characterized by functioning.

本発明の入出力要求の処理順序制御方法によれば、処理プログラムの入出力要求を待ち行列に登録(エンキュー)する時、処理プログラムが指定した終了時刻、処理時間から求めた開始時刻の順番に並ぶようにエンキューするので、処理プログラムが指定した終了時刻を満たすように入出力が行われる。また、入出力要求の負荷が高い場合でも、特定の入出力が大幅に遅延することがなく、遅延を均等にする効果がある。   According to the input / output request processing order control method of the present invention, when an input / output request of a processing program is registered (enqueued) in a queue, the end time specified by the processing program and the start time determined from the processing time are in order. Since enqueues are arranged in line, input / output is performed so as to satisfy the end time specified by the processing program. Further, even when the input / output request load is high, the specific input / output is not significantly delayed, and the delay is equalized.

以下、本発明の一実施の形態に係る入出力要求の処理順序制御方法及び計算機システムについて、図面を参照して説明する。   Hereinafter, a processing order control method and a computer system for input / output requests according to an embodiment of the present invention will be described with reference to the drawings.

図1は、本発明の実施の形態に係る入出力要求制御方法に従う計算機システムの構成を示すブロック図である。図2は、図1の計算機システムの物理的構成の一例を示すブロック図である。図3は、本発明の実施の形態に係る入出力要求管理テーブルの構成例を示す図である。図4は、本発明の実施の形態に係る入出力要求エントリーの構成例を示す図である。図5は、本発明の実施の形態に係る遅延度の計算方法を説明する図である。   FIG. 1 is a block diagram showing a configuration of a computer system according to an input / output request control method according to an embodiment of the present invention. FIG. 2 is a block diagram showing an example of a physical configuration of the computer system of FIG. FIG. 3 is a diagram showing a configuration example of the input / output request management table according to the embodiment of the present invention. FIG. 4 is a diagram showing a configuration example of the input / output request entry according to the embodiment of the present invention. FIG. 5 is a diagram for explaining a delay degree calculation method according to the embodiment of the present invention.

図1に示すように、本実施の形態に係る計算機システム1は、複数の処理プログラム21、22、23を含む処理プログラム群2と、入出力要求受付部3と、入出力要求登録部4と、入出力要求管理テーブル5と、入出力要求選択部6と、遅延度計算部7と、入出力要求処理部8と、処理完了通知部9と、処理装置10とから構成される。   As shown in FIG. 1, a computer system 1 according to the present embodiment includes a processing program group 2 including a plurality of processing programs 21, 22, and 23, an input / output request reception unit 3, an input / output request registration unit 4, and the like. The input / output request management table 5, the input / output request selection unit 6, the delay degree calculation unit 7, the input / output request processing unit 8, the processing completion notification unit 9, and the processing device 10.

処理装置10は、一般的には処理プログラムが要求する処理を実行する装置であって、本実施の形態では、例えばディスク装置、テープ装置等の入出力装置を想定している。処理装置としては、例えば他に、画像データ入力装置、プリンタ装置、画像データの分析又は符号化等を行う画像処理装置、データの暗号化/復号化装置、FFT等の信号処理装置等の場合が含まれる。   The processing device 10 is generally a device that executes processing requested by a processing program. In this embodiment, for example, an input / output device such as a disk device or a tape device is assumed. Other examples of the processing device include an image data input device, a printer device, an image processing device that analyzes or encodes image data, a data encryption / decryption device, a signal processing device such as FFT, and the like. included.

本発明の入出力制御方法は、1つの処理装置(又は、1種類の処理装置の群)に対する入出力の処理順序を制御する方法である。異なる種類の複数の処理装置(又は、複数の処理装置の群)がある場合は、処理装置の種類ごとに、入出力要求の処理順序を制御する。   The input / output control method of the present invention is a method of controlling the input / output processing order for one processing device (or one type of processing device group). When there are a plurality of processing devices of different types (or a group of processing devices), the processing order of input / output requests is controlled for each type of processing device.

入出力要求受付部3は、処理プログラム21〜23からの入出力要求を受け付ける。入出力要求を受け付けるとき、処理装置10への入出力が可能であれば、入出力要求処理部8を起動する。入出力要求を受け付けるとき、処理装置10への入出力が可能でなければ、受付時刻と、入出力要求の終了時刻とその処理処理における処理に要する時間から計算した、その入出力を開始すべき時刻(以下、開始時刻という)をその入出力要求に設定し、入出力要求登録部4を起動する。   The input / output request receiving unit 3 receives input / output requests from the processing programs 21 to 23. When receiving an input / output request, if input / output to the processing device 10 is possible, the input / output request processing unit 8 is activated. When an input / output request is received, if the input / output to the processing device 10 is not possible, the input / output calculated from the reception time, the end time of the input / output request, and the time required for the processing process should be started. The time (hereinafter referred to as start time) is set in the input / output request, and the input / output request registration unit 4 is activated.

入出力要求登録部4は、入出力要求に設定された開始時刻の順に配列されるように、入出力要求を入出力要求管理テーブル5に登録する。入出力要求管理テーブル5には、図3に示すように、入出力要求キュー(入出力要求待ち行列)51と、目標終了時間52が含まれる。入出力要求管理テーブル5に登録される入出力要求は、入出力要求キュー51に、入出力要求エントリ(以下、エントリと略す)として開始時刻の順に並べられる。実際には、最初のエントリ512をヘッダ511のポインタが示し、2番目のエントリ513は、最初のエントリ512のポインタで示され、さらに次々と入出力要求エントリがその前の入出力要求エントリのポインタで示されるように構成してもよい。   The input / output request registration unit 4 registers the input / output requests in the input / output request management table 5 so that they are arranged in the order of the start times set in the input / output requests. As shown in FIG. 3, the input / output request management table 5 includes an input / output request queue (input / output request queue) 51 and a target end time 52. The input / output requests registered in the input / output request management table 5 are arranged in the input / output request queue 51 in the order of start time as input / output request entries (hereinafter abbreviated as entries). In practice, the first entry 512 is indicated by the pointer of the header 511, the second entry 513 is indicated by the pointer of the first entry 512, and the input / output request entries are successively pointers of the previous input / output request entries. You may comprise as shown by.

目標終了時間52は、入出力要求管理テーブル5の対象となっている処理装置10において、入出力要求を受け付けてから処理装置10で処理を完了するまでの標準的な時間である。例えば、処理装置10における実質的な平均の処理時間に余裕度を加えた時間とする。また、処理時間が入出力要求のデータ量に比例するなど、データ量などに依存して変化する場合は、データ量などの関数としてもよい。   The target end time 52 is a standard time from when an input / output request is received until the processing by the processing device 10 is completed in the processing device 10 that is the target of the input / output request management table 5. For example, it is a time obtained by adding a margin to a substantial average processing time in the processing apparatus 10. If the processing time changes depending on the data amount, such as proportional to the data amount of the input / output request, a function such as the data amount may be used.

図4に示すように、入出力要求エントリ512〜514は、受付時刻、開始時刻、入出力内容から構成されている。受付時刻は、入出力要求受付部3が入出力要求を受け付けた時刻である。開始時刻は、終了時刻までにその処理を完了するために、入出力を開始しなければならない時刻であって、
開始時刻 = 終了時刻−処理時間
で表される。開始時刻は、入出力要求受付部3が終了時刻と処理時間から計算する。入出力内容は、処理装置10に指令する書き込み、読み出し等の入出力と、処理装置10の処理内容を示す情報である。
As shown in FIG. 4, the input / output request entries 512 to 514 are composed of a reception time, a start time, and input / output contents. The reception time is the time when the input / output request reception unit 3 receives the input / output request. The start time is the time at which I / O must start in order to complete the process by the end time,
Start time = end time-processing time. The start time is calculated from the end time and the processing time by the input / output request accepting unit 3. The input / output content is information indicating input / output such as writing and reading commands to the processing device 10 and processing content of the processing device 10.

入出力要求選択部6は、入出力要求管理テーブル5の入出力要求キュー51から、先頭の(図3でいえば、ヘッダ511で示される)入出力要求エントリ512を取り出す。ただし、エントリを取り出す現在時刻が、そのエントリの開始時刻を過ぎている場合は、登録されているエントリのうち、遅延度が最大となるエントリを入出力要求キュー51から取り出す。   The input / output request selection unit 6 extracts the first input / output request entry 512 (indicated by the header 511 in FIG. 3) from the input / output request queue 51 of the input / output request management table 5. However, if the current time at which an entry is extracted has passed the start time of the entry, the entry having the maximum delay is extracted from the input / output request queue 51 among the registered entries.

遅延度計算部7は、入出力要求エントリ512〜514の遅延度を計算する。図5の(a)は本実施の形態の遅延度の計算式を示す。図5(b)は、時間軸上で受付時刻、開始時刻、終了時刻の関係の例と、図5(a)の遅延度の式の分母及び分子の時間を模式的に示す。遅延度は、図5(a)の計算式で求められる。本実施の形態では、遅延度は、
遅延度 =(現在時刻−開始時刻)/(現在時刻−受付時刻)
で計算される値である。すなわち、入出力要求を受け付けてからエントリを読み出すまでの時間に占める、現在時刻が開始時刻を超過している時間の割合である(図5(b)参照)。終了時刻と処理時間の指定により、開始時刻が受付時刻より小さく(前に)なる場合は、遅延度を1とする。優先指定がある場合は、開始時刻を受付時刻とする。その場合、遅延度は1である。本実施の形態では、遅延度は1以下の数で表され、最大値は1である。
The delay degree calculation unit 7 calculates the delay degree of the input / output request entries 512 to 514. (A) of FIG. 5 shows the calculation formula of the delay degree of this Embodiment. FIG. 5B schematically shows an example of the relationship between the reception time, the start time, and the end time on the time axis, and the denominator and the numerator time of the delay degree expression of FIG. The degree of delay is obtained by the calculation formula of FIG. In this embodiment, the degree of delay is
Degree of delay = (current time-start time) / (current time-reception time)
It is a value calculated by. That is, it is the ratio of the time from when the input / output request is received to when the entry is read out, when the current time exceeds the start time (see FIG. 5B). If the start time is smaller (before) the reception time due to the designation of the end time and the processing time, the delay degree is set to 1. If there is priority designation, the start time is the reception time. In that case, the degree of delay is 1. In the present embodiment, the degree of delay is represented by a number of 1 or less, and the maximum value is 1.

従って、受付時刻が早くても、開始時刻が遅ければ遅延度は小さくなり、優先処理されない。受付時刻が遅くても、開始時刻が受付時刻に近い、あるいは、受付時刻と同じかそれ以前であれば、遅延度は1に近くなるので、優先的に処理されることになる。終了時刻と処理時間から求めた開始時刻に基づいて遅延度が計算される。その処理装置に対する入出力要求が多く、実際の処理開始が設定した開始時刻を過ぎてしまう場合でも、遅延度の大きさで入出力要求が処理されるので、特定の優先度の入出力要求の処理が大幅に遅延するということがなく、優先度に応じて遅延は均等化される。   Therefore, even if the reception time is early, if the start time is late, the degree of delay becomes small and priority processing is not performed. Even if the reception time is late, if the start time is close to the reception time, or is the same as or earlier than the reception time, the delay degree is close to 1, so that the processing is preferentially performed. The degree of delay is calculated based on the start time obtained from the end time and the processing time. Even if there are many I / O requests for the processing device and the actual start of processing has passed the set start time, I / O requests are processed with a large delay, so I / O requests with a specific priority There is no significant delay in processing, and delays are equalized according to priority.

遅延度は、図5(a)の式以外に、例えば、
遅延度 = (現在時刻−受付時刻)/(開始時刻−受付時刻)
や、
遅延度 = (現在時刻−開始時刻)/(開始時刻−受付時刻)
などであってもよい。ただし、これらの場合は、開始時刻は受付時刻より遅くなるように設定する。
In addition to the equation of FIG.
Degree of delay = (current time-reception time) / (start time-reception time)
Or
Degree of delay = (current time-start time) / (start time-reception time)
It may be. However, in these cases, the start time is set to be later than the reception time.

入出力要求処理部8は、入出力要求受付部3から起動された場合は、処理装置10に対する入出力を実行する。処理完了通知部9から起動された場合は、入出力要求選択部6により入出力要求キュー51からエントリを取り出して、処理装置10に対する入出力を実行する。   The input / output request processing unit 8 executes input / output with respect to the processing device 10 when activated by the input / output request receiving unit 3. When activated from the processing completion notification unit 9, the input / output request selection unit 6 extracts an entry from the input / output request queue 51 and executes input / output to the processing device 10.

処理完了通知部9は、処理装置10から処理の完了通知を受け取ると、その入出力要求を発行した処理プログラムへ入出力の完了を通知する。また、入出力要求管理テーブル5の入出力要求キュー51に登録されている入出力要求エントリを実行するために、入出力要求処理部8を起動する。   When the processing completion notification unit 9 receives the processing completion notification from the processing device 10, the processing completion notification unit 9 notifies the processing program that issued the input / output request of the completion of input / output. Also, the input / output request processing unit 8 is activated to execute the input / output request entry registered in the input / output request queue 51 of the input / output request management table 5.

図1に示す本発明の入出力要求の処理順序制御方法に係る計算機システム1は、図2に示すように、制御部11、主記憶部12、外部記憶部13、計時部14、操作部15、表示部16、入出力部17及び処理装置10から構成される。主記憶部12、外部記憶部13、計時部14、操作部15、表示部16および入出力部17はいずれも内部バス19を介して制御部11に接続されている。   As shown in FIG. 2, the computer system 1 according to the input / output request processing order control method of the present invention shown in FIG. 1 includes a control unit 11, a main storage unit 12, an external storage unit 13, a timer unit 14, and an operation unit 15. , Display unit 16, input / output unit 17, and processing device 10. The main storage unit 12, the external storage unit 13, the timing unit 14, the operation unit 15, the display unit 16, and the input / output unit 17 are all connected to the control unit 11 via the internal bus 19.

制御部11はCPU(Central Processing Unit)等から構成され、外部記憶部13に記憶されているプログラムに従って、入出力要求受付部3と、入出力要求登録部4と、入出力要求選択部6と、遅延度計算部7と、入出力要求処理部8と、処理完了通知部9の処理を実行する。また、処理プログラム群2の処理も制御部11で実行される。入出力要求受付部3、入出力要求登録部4、入出力要求選択部6、遅延度計算部7、入出力要求処理部8及び処理完了通知部9は、制御部11とその上で実行されるプログラムで実現される。   The control unit 11 includes a CPU (Central Processing Unit) and the like, and according to a program stored in the external storage unit 13, an input / output request reception unit 3, an input / output request registration unit 4, and an input / output request selection unit 6 The processing of the delay degree calculation unit 7, the input / output request processing unit 8, and the processing completion notification unit 9 is executed. Further, the processing of the processing program group 2 is also executed by the control unit 11. The input / output request reception unit 3, the input / output request registration unit 4, the input / output request selection unit 6, the delay calculation unit 7, the input / output request processing unit 8, and the processing completion notification unit 9 are executed on the control unit 11 and above. It is realized by a program.

主記憶部12はRAM(Random-Access Memory)等から構成され、制御部11の作業領域として用いられる。入出力要求管理テーブル5は、主記憶部12の一部に記憶領域の構造体として記憶保持される。   The main storage unit 12 includes a RAM (Random-Access Memory) and the like, and is used as a work area for the control unit 11. The input / output request management table 5 is stored and held in a part of the main storage unit 12 as a storage area structure.

外部記憶部13は、フラッシュメモリ、ハードディスク、DVD(Digital Versatile Disc)、DVD−RAM(Digital Versatile Disc Random-Access Memory)、DVD−RW(Digital Versatile Disc ReWritable)等の不揮発性メモリから構成され、前記の処理を制御部11に行わせるためのプログラムを予め記憶し、また、制御部11の指示に従って、このプログラムのデータを制御部11に供給し、制御部11から供給されたデータを記憶する。   The external storage unit 13 includes a nonvolatile memory such as a flash memory, a hard disk, a DVD (Digital Versatile Disc), a DVD-RAM (Digital Versatile Disc Random-Access Memory), a DVD-RW (Digital Versatile Disc ReWritable), and the like. A program for causing the control unit 11 to perform the above process is stored in advance, and data of the program is supplied to the control unit 11 according to an instruction from the control unit 11, and the data supplied from the control unit 11 is stored.

計時部14は、例えば、クロックパルスをカウントし、基準の時刻からのカウント値によって時間を計測する。制御部11は、計時部14のカウント値を参照することによって、そのときの時刻を知ることができる。例えば前記の、入出力要求を受け付けた受付時刻と、入出力要求エントリを取り出すときの現在時刻を計時部14のカウント値で計測する。   The timer unit 14 counts clock pulses, for example, and measures time based on a count value from a reference time. The control unit 11 can know the time at that time by referring to the count value of the time measuring unit 14. For example, the reception time when the input / output request is received and the current time when the input / output request entry is taken out are measured by the count value of the timer unit 14.

操作部15はキーボードおよびマウスなどのポインティングデバイス等と、キーボードおよびポインティングデバイス等を内部バス19に接続するインターフェース装置から構成されている。操作部15を介して、計算機システム1の起動・停止、処理プログラムの起動・停止、処理プログラム等の状況表示、入出力要求管理テーブル5の状態表示などの指令が入力され制御部11に供給される。   The operation unit 15 includes a pointing device such as a keyboard and a mouse, and an interface device that connects the keyboard and the pointing device to the internal bus 19. Commands such as start / stop of the computer system 1, start / stop of the processing program, status display of the processing program, status display of the input / output request management table 5 are input via the operation unit 15 and supplied to the control unit 11. The

表示部16は、CRT(Cathode Ray Tube)またはLCD(Liquid Crystal Display)などから構成され、操作部15から入力された指令に応じた制御部11の命令によって、処理プログラム群2の状況や入出力管理テーブル5の状態などを表示する。   The display unit 16 is configured by a CRT (Cathode Ray Tube) or an LCD (Liquid Crystal Display), and the status and input / output of the processing program group 2 according to commands from the control unit 11 according to commands input from the operation unit 15. The status of the management table 5 is displayed.

入出力部17は、シリアルインタフェース、パラレルインターフェース又はLAN(Local Area Network)インターフェース等から構成されている。入出力部17を介して、処理装置10へ処理要求を入力し、又は処理装置10から処理結果の出力を受信する。   The input / output unit 17 includes a serial interface, a parallel interface, or a LAN (Local Area Network) interface. A processing request is input to the processing device 10 via the input / output unit 17 or an output of processing results is received from the processing device 10.

処理装置10は、前述のとおり、ディスク装置やテープ装置等の入出力装置、画像データ入力装置、プリンタ装置、画像処理装置、データの暗号化/復号化装置、又は信号処理装置等であって、処理プログラムの要求に従った処理を実行し、その結果を出力する。   As described above, the processing device 10 is an input / output device such as a disk device or a tape device, an image data input device, a printer device, an image processing device, a data encryption / decryption device, or a signal processing device. Executes processing according to the processing program request and outputs the result.

次に、図1〜5に示す計算機システム1の動作を、図6及び7を参照して説明する。なお、上述のように、計算機システム1の動作は、制御部11が主記憶部12、外部記憶部13、計時部14、操作部15、表示部16、入出力部17及び処理装置10と協働して行う。   Next, the operation of the computer system 1 shown in FIGS. 1 to 5 will be described with reference to FIGS. As described above, the operation of the computer system 1 is performed by the control unit 11 in cooperation with the main storage unit 12, the external storage unit 13, the timing unit 14, the operation unit 15, the display unit 16, the input / output unit 17, and the processing device 10. To work.

図6は、入出力要求を受け付ける処理の動作を示すフローチャートである。入出力要求受付部3が、処理プログラム21乃至23のいずれかから入出力要求を受け取ると、処理装置10への入出力が可能であるかをチェックし(ステップA1)、可能であれば(ステップA1;Yes)、入出力要求処理部8を起動し、処理装置10へ入力する(ステップA2)。可能でなければ(ステップA1;No)、現在時刻を受付時刻として取得する(ステップA3)。   FIG. 6 is a flowchart showing the operation of processing for accepting an input / output request. When the input / output request accepting unit 3 receives an input / output request from any of the processing programs 21 to 23, it checks whether input / output to the processing apparatus 10 is possible (step A1). (A1; Yes), the input / output request processing unit 8 is activated and input to the processing device 10 (step A2). If not possible (step A1; No), the current time is acquired as the reception time (step A3).

次に、入出力要求の優先指定をチェックし(ステップA4)、例えば処理プログラム22の入出力要求のように、優先指定があれば(ステップA4;Yes)、開始時刻に受付時刻をセットする(ステップA10)。処理プログラム21又は処理プログラム23の入出力要求のように、優先指定がなければ(ステップA4;No)、終了指定時刻をチェックし(ステップA5)、終了時刻指定がなければ(ステップA5;No)、受付時刻に目標終了時間52を加えた値を終了時刻に設定する(ステップA6)。終了時刻指定があれば(ステップA5;Yes)、終了時刻の設定は行わない。   Next, the priority designation of the input / output request is checked (step A4). For example, if there is a priority designation as in the case of the input / output request of the processing program 22 (step A4; Yes), the reception time is set as the start time ( Step A10). As in the case of the input / output request of the processing program 21 or the processing program 23, if there is no priority designation (step A4; No), the end designation time is checked (step A5), and if there is no end time designation (step A5; No) Then, a value obtained by adding the target end time 52 to the reception time is set as the end time (step A6). If the end time is specified (step A5; Yes), the end time is not set.

また、処理時間指定をチェックし(ステップA7)、処理時間指定がなければ(ステップA7;No)、処理装置10の種別、入出力データサイズ等から計算した予測処理時間を処理時間に設定する(ステップA8)。処理時間指定があれば(ステップA7;Yes)、処理時間の設定は行わない。そして、終了時刻から処理時間を引いた値を開始時刻にセットする(ステップA9)。   Also, the processing time designation is checked (step A7), and if there is no processing time designation (step A7; No), the predicted processing time calculated from the type of the processing device 10, the input / output data size, etc. is set as the processing time ( Step A8). If the processing time is specified (step A7; Yes), the processing time is not set. Then, a value obtained by subtracting the processing time from the end time is set as the start time (step A9).

入出力要求登録部4は、入出力要求エントリ512〜514の配列が開始時刻順となるよう、入出力要求を入出力管理テーブル5の入出力要求キュー51へ登録する。   The input / output request registration unit 4 registers the input / output requests in the input / output request queue 51 of the input / output management table 5 so that the arrangement of the input / output request entries 512 to 514 is in the order of the start time.

入出力要求処理部8は、入出力要求受付部3から起動された場合は、処理装置10に対する入出力を実行する。処理完了通知部9から起動された場合は、入出力要求選択部6により、入出力要求キュー51から入出力要求を取り出し、処理装置10に対する入出力を実行する。処理完了通知部9は、処理装置10から入出力の完了通知を受け取ると、入出力要求を発行したプログラムへ入出力の完了を通知し、入出力要求キュー51にキューイングされている入出力要求を実行するために、入出力要求処理部8を起動する。   The input / output request processing unit 8 executes input / output with respect to the processing device 10 when activated by the input / output request receiving unit 3. When activated from the processing completion notification unit 9, the input / output request selection unit 6 extracts an input / output request from the input / output request queue 51 and executes input / output to the processing device 10. Upon receipt of the input / output completion notification from the processing device 10, the processing completion notifying unit 9 notifies the program that issued the input / output request of the completion of the input / output, and the input / output request queued in the input / output request queue 51. In order to execute, the input / output request processing unit 8 is activated.

図7は、入出力要求管理テーブル5から入出力要求を選択する処理の動作を示すフローチャートである。入出力要求選択部6は、まず、内部変数であるmに1、nに1、dに0をセットし(ステップB1)、現在時刻を取得する(ステップB2)。mは、各入出力要求の遅延度を計算するために、入出力要求の番号を表す変数である。nは、最大遅延度の入出力要求の番号を表す変数である。dは遅延度の最大値を比較するための変数で、最終的に遅延度の最大値となる。   FIG. 7 is a flowchart showing an operation of processing for selecting an input / output request from the input / output request management table 5. The input / output request selection unit 6 first sets 1 as an internal variable, 1 as n, and 0 as d (step B1), and acquires the current time (step B2). m is a variable representing the number of the input / output request in order to calculate the delay degree of each input / output request. n is a variable representing the number of the input / output request with the maximum delay. d is a variable for comparing the maximum value of the delay degree, and finally becomes the maximum value of the delay degree.

次に、先頭の入出力要求の開始時刻が遅延していないかをチェックし(ステップB3)、遅延していなければ(ステップB3;No)、入出力要求キュー51の先頭の入出力要求を取り出し(ステップB8)、入出力を実行する。遅延していれば(ステップB3;Yes)、遅延度計算部7を起動し、先頭の入出力要求の遅延度d(1)を計算する(ステップB4)。   Next, it is checked whether the start time of the first input / output request is delayed (step B3). If not delayed (step B3; No), the first input / output request in the input / output request queue 51 is extracted. (Step B8), input / output is executed. If it is delayed (step B3; Yes), the delay calculation unit 7 is activated to calculate the delay d (1) of the leading input / output request (step 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)。   It is checked whether the value of d (1) is larger than d (initial value = 0) (step B5). If Yes, d (m) is set in d and m is set in n (step B6). On the other hand, if No, step B6 is skipped. For example, in the case of m = 1, which is the first processing loop for calculating the delay of input / output requests, d (1) is greater than 0, so Yes, d is set to d (1), and n is set to 1. (Step B6). Then, m + 1 (= 2) is set to m (step B7). Also for the second and subsequent input / output requests, it is checked whether the start time of the input / output request is delayed until an undelayed input / output request is found (step B3).

入出力要求キュー51には、入出力要求エントリ512〜514が、開始時刻の順に並んでいるので、開始時刻が現在時刻より遅い入出力要求を見つけたら、それ以降の入出力要求は開始時刻を過ぎていない。開始時刻を過ぎていない入出力要求の遅延度は、図5の式で表されているとおり負となるから、それ以降の入出力要求の遅延度は計算するまでもない。   Since the input / output request entries 512 to 514 are arranged in the order of the start time in the input / output request queue 51, when an input / output request whose start time is later than the current time is found, the subsequent input / output requests indicate the start time. Not too much. Since the delay degree of the input / output request that has not passed the start time is negative as shown in the equation of FIG. 5, it is not necessary to calculate the delay degree of the subsequent input / output request.

遅延していない入出力要求を見つけたときに(ステップB3;No)、遅延度が最大となるのはn番目の入出力要求であるため、n番目の入出力要求を取り出し(ステップB8)、その入出力要求を実行する。   When an undelayed input / output request is found (step B3; No), the delay is maximized in the nth input / output request, so the nth input / output request is extracted (step B8). Execute the I / O request.

プログラム22の入出力要求のように、優先指定があれば、入出力要求受付部3によって、開始時刻には受付時刻がセットされるため、入出力要求登録部4によるエンキュー時は、入出力要求キューの前方にエンキューされる。また、優先指定がある入出力要求の遅延度は必ず1となるため、遅延発生時は、入出力要求選択部6により、優先して選択処理される。   If priority is specified as in the input / output request of the program 22, the input / output request reception unit 3 sets the reception time as the start time. Enqueued ahead of the queue. In addition, since the delay degree of the input / output request with priority designation is always 1, when the delay occurs, the input / output request selection unit 6 performs selection processing with priority.

また、プログラム21、プログラム23の入力要求のように、優先指定がなければ、終了時刻(終了時刻指定がない場合は受付時刻に目標終了時間を加えた値)と処理時間(処理時間指定がない場合は予測処理時間)によって、開始時刻が決まる。そして、現在時刻と開始時刻の差から遅延度が決まる。よって、終了時刻が早いほど、処理時間が大きいほど、開始時刻が早くなり、入出力要求登録部4によるエンキュー時は、入出力要求キュー51の前方にエンキューされる。また、開始時刻が早いほど、遅延度は大きくなるため、遅延発生時(現在時刻が開始時刻を過ぎている入出力要求がある時)は、入出力要求選択部6により、優先して選択されて処理される。   Further, as in the case of the input request of the program 21 and the program 23, if there is no priority designation, the end time (the value obtained by adding the target end time to the reception time when the end time is not designated) and the processing time (the processing time is not designated). In this case, the start time is determined by the predicted processing time). Then, the degree of delay is determined from the difference between the current time and the start time. Therefore, the earlier the end time, the longer the processing time, the earlier the start time. When enqueuing by the input / output request registration unit 4 is enqueued ahead of the input / output request queue 51. Also, the earlier the start time, the greater the delay degree. Therefore, when the delay occurs (when there is an input / output request whose current time has passed the start time), the input / output request selection unit 6 preferentially selects it. Processed.

以上、説明したとおり、現在時刻が開始時刻を過ぎている入出力要求がなければ、開始時刻順に並べられた入出力要求キュー51の先頭の入出力要求エントリ512が選択されて実行される。現在時刻が開始時刻を過ぎている入出力要求があれば、入出力要求を受け付けてからエントリを読み出すまでの時間に占める現在時刻が開始時刻を超過している時間の割合、として表される遅延度が最大の入出力要求が選択されて実行される。さらに、優先指定がある入出力要求は、受付時刻が開始時刻となって、遅延度は1で最大になるので、優先指定のない入出力要求に先立って処理される。   As described above, if there is no input / output request whose current time exceeds the start time, the first input / output request entry 512 of the input / output request queue 51 arranged in the order of the start time is selected and executed. If there is an I / O request whose current time has passed the start time, the delay expressed as the percentage of the time that the current time exceeds the start time in the time from receipt of the I / O request to reading of the entry The most frequent I / O request is selected and executed. Furthermore, since an input / output request with priority designation has a reception time as a start time and has a maximum delay of 1, it is processed prior to an input / output request without priority designation.

その結果、処理プログラム21〜23が指定した終了時刻を満たすように入出力が行われる。また、入出力要求の負荷が高い場合でも、特定の入出力が大幅に遅延することがなく、遅延を均等にする。   As a result, input / output is performed so as to satisfy the end time specified by the processing programs 21 to 23. Even when the input / output request load is high, the specific input / output is not significantly delayed, and the delay is equalized.

その他、前記のハードウエア構成やフローチャートは一例であり、任意に変更及び修正が可能である。   In addition, the hardware configuration and the flowchart described above are merely examples, and can be arbitrarily changed and modified.

計算機システム1は、専用のシステムによらず、通常のコンピュータシステムを用いて実現可能である。例えば、前記の動作を実行するためのコンピュータプログラムを、コンピュータが読みとり可能な記録媒体(フレキシブルディスク、CD-ROM、DVD-ROM等)に格納して配布し、当該コンピュータプログラムをコンピュータにインストールすることにより、前記の処理を実行する装置を構成してもよい。また、インターネット等の通信ネットワーク上のサーバ装置が有する記憶装置に当該コンピュータプログラムを格納しておき、通常のコンピュータシステムがダウンロード等することで本発明の計算機システム1を構成してもよい。   The computer system 1 can be realized using a normal computer system, not a dedicated system. For example, a computer program for executing the above operation is stored and distributed on a computer-readable recording medium (flexible disk, CD-ROM, DVD-ROM, etc.), and the computer program is installed in the computer. Thus, an apparatus that performs the above-described processing may be configured. Further, the computer system 1 of the present invention may be configured by storing the computer program in a storage device included in a server device on a communication network such as the Internet and downloading it by a normal computer system.

また、前記の各機能を、OS(オペレーティングシステム)とアプリケーションプログラムの分担、またはOSとアプリケーションプログラムとの協働により実現する場合などには、アプリケーションプログラム部分のみを記録媒体や記憶装置に格納してもよい。   When each of the above functions is realized by sharing an OS (operating system) and an application program, or by cooperation between the OS and the application program, only the application program part is stored in a recording medium or a storage device. Also good.

また、搬送波に上述のコンピュータプログラムを重畳し、通信ネットワークを介して配信することも可能である。   It is also possible to superimpose the above computer program on a carrier wave and distribute it via a communication network.

本発明の実施の形態に係る入出力要求制御方法に従う計算機システムの構成の一例を示すブロック図である。It is a block diagram which shows an example of a structure of the computer system according to the input / output request control method which concerns on embodiment of this invention. 本発明の実施の形態に係る計算機システムの物理的構成の一例を示すブロック図である。It is a block diagram which shows an example of the physical structure of the computer system which concerns on embodiment of this invention. 本発明の実施の形態に係る入出力要求管理テーブルの構成例を示す図である。It is a figure which shows the structural example of the input / output request management table which concerns on embodiment of this invention. 本発明の実施の形態に係る入出力要求エントリーの構成例を示す図である。It is a figure which shows the structural example of the input / output request entry which concerns on embodiment of this invention. 本発明の実施の形態に係る遅延度の計算方法を説明する図である。It is a figure explaining the calculation method of the delay degree which concerns on embodiment of this invention. 本発明の実施の形態に係る入出力要求を受け付ける処理の動作を示すフローチャートである。It is a flowchart which shows the operation | movement of the process which receives the input / output request which concerns on embodiment of this invention. 本発明の実施の形態に係る入出力要求管理テーブルから入出力要求を選択する処理の動作を示すフローチャートである。It is a flowchart which shows the operation | movement of the process which selects an input / output request from the input / output request management table which concerns on embodiment of this invention.

符号の説明Explanation of symbols

1 計算機システム
2 処理プログラム群(入出力要求手段)
3 入出力要求受付部(開始時刻設定手段)
4 入出力要求登録部(登録手段)
5 入出力要求管理テーブル(待ち行列)
6 入出力要求選択部(処理制御手段)
7 遅延度計算部
8 入出力要求処理部(処理制御手段)
9 処理完了通知部
10 処理装置
11 制御部
12 主記憶部
13 外部記憶部
14 計時部
15 操作部
16 表示部
17 入出力部
19 内部バス
21、22、23 処理プログラム
51 入出力要求キュー(待ち行列)
1 Computer system
2 Processing program group (input / output request means)
3 Input / output request acceptance unit (start time setting means)
4 Input / output request registration section (registration means)
5 I / O request management table (queue)
6 Input / output request selector (processing control means)
7 Delay calculator
8 Input / output request processing unit (processing control means)
9 Process completion notification section
10 Processing device
11 Control unit
12 Main memory
13 External storage
14 Timekeeping Department
15 Operation unit
16 Display section
17 Input / output section
19 Internal bus 21, 22, 23 Processing program
51 I / O request queue (queue)

Claims (5)

複数の処理プログラムからの処理装置に対する入出力要求を集中制御する計算機システムにおける優先度制御機能を有する入出力制御方法であって、
前記処理プログラムが、前記処理装置における処理に要する処理時間と、その処理を終了すべき時刻である終了時刻と、他の入出力よりも優先して入出力を行う場合に指定する優先指定とを指定して、前記処理装置に対する入出力要求を行う入出力要求ステップと、
前記入出力要求を、前記優先指定がある場合には前記処理プログラムから受け付けた受付時刻から該入出力要求の開始時刻を算出して、前記優先指定がない場合には、該入出力要求に指定された前記処理時間及び終了時刻から、該入出力要求の開始時刻を算出して設定する開始時刻設定ステップと、
前記入出力要求を、前記開始時刻設定ステップで算出した開始時刻の順に、待ち行列に登録する登録ステップと、
前記待ち行列に登録された前記入出力要求を、前記開始時刻順に取り出す取り出しステップと、
前記取り出しステップで前記待ち行列から前記入出力要求を取り出したときに、その入出力要求を取り出した時刻がその入出力要求に設定された開始時刻を過ぎていない場合に、その入出力要求を前記処理装置に渡す処理開始ステップと、
前記取り出しステップで前記待ち行列から前記入出力要求を取り出したときに、その入出力要求を取り出した現在時刻がその入出力要求に設定された開始時刻を過ぎていた場合に、前記待ち行列に登録されている入出力要求について、その入出力要求の前記受付時刻及び前記開始時刻と前記現在時刻から遅延度を計算し、遅延度が最大の入出力要求を前記待ち行列から取り出して前記処理装置に渡す選択処理開始ステップと、
を備えることを特徴とする入出力要求制御方法。
An input / output control method having a priority control function in a computer system for centrally controlling input / output requests to a processing device from a plurality of processing programs,
The processing program includes a processing time required for processing in the processing device, an end time that is a time at which the processing is to be ended, and a priority designation that is specified when input / output is given priority over other input / output. An input / output requesting step for making an input / output request to the processing device;
The input / output request is calculated from the reception time received from the processing program when the priority is specified , and the input / output request is specified as the input / output request when the priority is not specified. has been the processing time and end time or al, the start time setting step of setting calculates the start time of the input output request,
A registration step of registering the input / output request in a queue in the order of the start time calculated in the start time setting step;
Retrieving the I / O requests registered in the queue in order of the start time;
When the input / output request is extracted from the queue in the extraction step, if the time when the input / output request is extracted does not exceed the start time set in the input / output request, the input / output request is A process start step to be passed to the processing device;
When the I / O request is taken out from the queue in the fetching step, if the current time at which the I / O request is taken has passed the start time set in the I / O request, it is registered in the queue With respect to the input / output request, the delay is calculated from the reception time and start time of the input / output request and the current time, and the input / output request with the maximum delay is taken out from the queue and sent to the processing device. A selection process start step to pass,
An input / output request control method comprising:
前記遅延度は、前記現在時刻と前記開始時刻の差を、前記現在時刻と前記受付時刻の差で除した値に基づくことを特徴とする請求項1に記載の入出力要求制御方法。   The input / output request control method according to claim 1, wherein the delay degree is based on a value obtained by dividing a difference between the current time and the start time by a difference between the current time and the reception time. 複数の処理プログラムからの処理装置に対する入出力要求を集中制御する計算機システムであって、
前記処理プログラムが、前記処理装置における処理に要する処理時間と、その処理を終了すべき時刻である終了時刻と、他の入出力よりも優先して入出力を行う場合に指定する優先指定とを指定して、前記処理装置に対する入出力要求を行う入出力要求手段と、
前記入出力要求を、前記優先指定がある場合には前記処理プログラムから受け付けた受付時刻から該入出力要求の開始時刻を算出して、前記優先指定がない場合には、該入出力要求に指定された前記処理時間及び終了時刻から、該入出力要求の開始時刻を算出して設定する開始時刻設定手段と、
前記入出力要求を、前記開始時刻設定手段で算出した開始時刻の順に、待ち行列に登録する登録手段と、
前記待ち行列に登録された前記入出力要求を、前記待ち行列から取り出して前記処理装置に渡す処理制御手段と、
を備え、
前記処理制御手段は、
前記入出力要求を前記待ち行列から前記開始時刻の順に取り出し、
前記入出力要求を前記待ち行列から取り出したときに、その入出力要求を取り出した現在時刻がその入出力要求に設定された開始時刻を過ぎていない場合に、その入出力要求を前記処理装置に渡し、
前記現在時刻がその入出力要求に設定された開始時刻を過ぎていた場合に、前記待ち行列に登録されている入出力要求について、その入出力要求の前記受付時刻及び前記開始時刻と前記現在時刻から遅延度を計算し、遅延度が最大の入出力要求を前記待ち行列から取り出して前記処理装置に渡す、
ことを特徴とする計算機システム。
A computer system for centrally controlling input / output requests to a processing device from a plurality of processing programs,
The processing program includes a processing time required for processing in the processing device, an end time that is a time at which the processing is to be ended, and a priority designation that is specified when input / output is given priority over other input / output. An input / output requesting means for making an input / output request to the processing device;
The input / output request is calculated from the reception time received from the processing program when the priority is specified , and the input / output request is specified as the input / output request when the priority is not specified. has been the processing time and end time or al, the start time setting means calculates and sets the start time of the input output request,
Registration means for registering the input / output requests in a queue in the order of the start times calculated by the start time setting means;
Processing control means for fetching the I / O request registered in the queue and passing it to the processing device;
With
The processing control means includes
Taking the I / O requests out of the queue in order of the start times;
When the input / output request is taken out from the queue, if the current time when the input / output request is taken out does not exceed the start time set in the input / output request, the input / output request is sent to the processing device. Hand over,
When the current time has passed the start time set in the input / output request, for the input / output request registered in the queue, the reception time of the input / output request, the start time, and the current time A delay is calculated from the I / O request with the maximum delay is taken out of the queue and passed to the processing unit;
A computer system characterized by that.
前記遅延度は、前記現在時刻と前記開始時刻の差を、前記現在時刻と前記受付時刻の差で除した値に基づくことを特徴とする請求項3に記載の計算機システム。   4. The computer system according to claim 3, wherein the degree of delay is based on a value obtained by dividing a difference between the current time and the start time by a difference between the current time and the reception time. コンピュータを、
処理プログラムが、処理装置における処理に要する処理時間と、その処理を終了すべき時刻である終了時刻と、他の入出力よりも優先して入出力を行う場合に指定する優先指定とを指定して、前記処理装置に対する入出力要求を行う入出力要求手段と、
前記入出力要求を、前記優先指定がある場合には前記処理プログラムから受け付けた受付時刻から該入出力要求の開始時刻を算出して、前記優先指定がない場合には、該入出力要求に指定された前記処理時間及び終了時刻から、該入出力要求の開始時刻を算出して設定する開始時刻設定手段と、
前記入出力要求を、前記開始時刻設定手段で設定した開始時刻の順に、待ち行列に登録する登録手段と、
前記待ち行列に登録された前記入出力要求を、前記開始時刻順に取り出す取り出し手段と、
前記取り出し手段で前記待ち行列から前記入出力要求を取り出したときに、その入出力要求を取り出した時刻がその入出力要求に設定された開始時刻を過ぎていない場合に、その入出力要求を前記処理装置に渡す処理開始手段と、
前記取り出し手段で前記待ち行列から前記入出力要求を取り出したときに、その入出力要求を取り出した現在時刻がその入出力要求に設定された開始時刻を過ぎていた場合に、前記待ち行列に登録されている入出力要求について、その入出力要求の前記受付時刻及び前記開始時刻と前記現在時刻から遅延度を計算し、遅延度が最大の入出力要求を前記待ち行列から取り出して前記処理装置に渡す選択処理開始手段と、
して機能させるためのコンピュータプログラム。
Computer
Specify the processing time required for processing in the processing device, the end time that is the time at which the processing should be terminated, and the priority designation that is specified when input / output is given priority over other input / output. Input / output request means for making an input / output request to the processing device;
The input / output request is calculated from the reception time received from the processing program when the priority is specified , and the input / output request is specified as the input / output request when the priority is not specified. has been the processing time and end time or al, the start time setting means calculates and sets the start time of the input output request,
Registration means for registering the input / output request in a queue in the order of the start times set by the start time setting means;
Retrieving means for retrieving the input / output requests registered in the queue in order of the start time;
When the I / O request is taken out from the queue by the take-out means, if the time when the I / O request is taken out does not pass the start time set in the I / O request, the I / O request is Processing start means to be passed to the processing device;
When the fetching means fetches the I / O request from the queue, if the current time when the I / O request was fetched has passed the start time set in the I / O request, it is registered in the queue With respect to the input / output request, the delay is calculated from the reception time and start time of the input / output request and the current time, and the input / output request with the maximum delay is taken out from the queue and sent to the processing device. Selection processing start means to be passed,
Computer program to make it function.
JP2006061877A 2006-03-07 2006-03-07 I / O request control method, computer system, and computer program Expired - Fee Related JP4407654B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006061877A JP4407654B2 (en) 2006-03-07 2006-03-07 I / O request control method, computer system, and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006061877A JP4407654B2 (en) 2006-03-07 2006-03-07 I / O request control method, computer system, and computer program

Publications (2)

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

Family

ID=38587072

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006061877A Expired - Fee Related JP4407654B2 (en) 2006-03-07 2006-03-07 I / O request control method, computer system, and computer program

Country Status (1)

Country Link
JP (1) JP4407654B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102165408A (en) * 2008-09-29 2011-08-24 国际商业机器公司 Apparatus, method and program for deciding data recall order

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5509814B2 (en) * 2009-11-26 2014-06-04 日本電気株式会社 Job flow management apparatus, management method, and management program
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
CN114489471B (en) * 2021-08-10 2023-04-14 荣耀终端有限公司 Input and output processing method and electronic equipment

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102165408A (en) * 2008-09-29 2011-08-24 国际商业机器公司 Apparatus, method and program for deciding data recall order
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

Also Published As

Publication number Publication date
JP2007241577A (en) 2007-09-20

Similar Documents

Publication Publication Date Title
US7190477B2 (en) System and method for managing and processing a print job using print job tickets
EP1271314A2 (en) Sleep queue management for operating systems
EP1271315A2 (en) Run queue management
JP4723260B2 (en) Apparatus and method for scheduling a request to a source device
EP3008594B1 (en) Assigning and scheduling threads for multiple prioritized queues
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
US20160321292A1 (en) Distributed resource contention detection and handling
JP4407654B2 (en) I / O request control method, computer system, and computer program
JP2011505037A (en) Read data buffering system and method
CN113312323B (en) IO (input/output) request scheduling method and system for reducing access delay in parallel file system
JP2008065713A (en) Multiprocessor system and interrupt control method
KR20160082685A (en) Efficient hardware dispatching of concurrent functions in multicore processors, and related processor systems, methods, and computer-readable media
JP2013200627A (en) Spool control device and program
US20060146864A1 (en) Flexible use of compute allocation in a multi-threaded compute engines
JP2011165105A (en) Input/output control device, and input/output control method
US11113101B2 (en) Method and apparatus for scheduling arbitration among a plurality of service requestors
JP2007280253A (en) Information processor and information processing method
JP4292705B2 (en) Task scheduling device
US20210149726A1 (en) Scheduling device, scheduling system, scheduling method, and non-transitory computer-readable medium
CN112114967B (en) GPU resource reservation method based on service priority
KR100651722B1 (en) Method of configuring Linux kernel for supporting real time performance and test method for supporting real time performance
US10884733B2 (en) Information processing apparatus, and information processing method
JP2017107486A (en) Processing resource control program, processing resource controller, and processing resource control method

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