JP2009199367A - Computer system, i/o scheduler and i/o scheduling method - Google Patents
Computer system, i/o scheduler and i/o scheduling method Download PDFInfo
- Publication number
- JP2009199367A JP2009199367A JP2008040633A JP2008040633A JP2009199367A JP 2009199367 A JP2009199367 A JP 2009199367A JP 2008040633 A JP2008040633 A JP 2008040633A JP 2008040633 A JP2008040633 A JP 2008040633A JP 2009199367 A JP2009199367 A JP 2009199367A
- Authority
- JP
- Japan
- Prior art keywords
- disk
- processes
- disk access
- access requests
- file
- 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.)
- Withdrawn
Links
Images
Abstract
Description
本発明は、計算機システムに関する。特に、本発明は、計算機システムにおいて、ディスクへのアクセス要求をスケジューリングするI/Oスケジューリング技術に関する。 The present invention relates to a computer system. In particular, the present invention relates to an I / O scheduling technique for scheduling a disk access request in a computer system.
計算機システムにおいて、CPUが実行する多くのプロセスは、ディスクへのアクセス処理(データ読み込み、データ書き込み)を必要とする。従って、ディスクアクセス処理を高速化することは、計算機システムの高速化のために重要な課題の一つである。ディスクアクセス処理を高速化するためには、多くのプロセスからのディスクアクセス要求をそのままディスクに渡すのではなく、ディスクへ送られるディスクアクセス要求の順番を適切に調整することが重要である。そのような調整(調停)を行うことは、「スケジューリング」と呼ばれる。複数のプロセスからのディスクアクセス要求のスケジューリングを行うのが、OS内の「I/Oスケジューラ」である。 In a computer system, many processes executed by a CPU require a disk access process (data reading, data writing). Therefore, speeding up the disk access processing is one of the important issues for speeding up the computer system. In order to increase the speed of the disk access processing, it is important to appropriately adjust the order of the disk access requests sent to the disk, instead of directly passing the disk access requests from many processes to the disk. Performing such adjustment (arbitration) is called “scheduling”. The “I / O scheduler” in the OS performs scheduling of disk access requests from a plurality of processes.
特許文献1には、複数のコンピュータで共有される外部記憶装置が開示されている。その外部記憶装置は、データを格納する複数の記憶ディスク部と、外部記憶制御部とを備える。記憶ディスク部は、データに対する読み出し/書き込みコマンドをキューイング可能である。外部記憶制御部は、コンピュータからのコマンドを受入キューに蓄え記憶ディスク部に順次発行することによって、コンピュータと記憶ディスク部との間のデータ入出力処理を制御する。より詳細には、外部記憶制御部は、予測処理時間生成手段と、送出キューと、処理時間予測手段と、コマンドキューイング手段と、コマンドバッチ生成手段とを含む。予測処理時間生成手段は、コマンドの処理に要すると予測される時間であるコマンド処理時間予測値を生成する。送出キューは、コマンドの待ち行列である。送出キューには、コマンド処理時間予測値の和が所定の処理タイムスライスに応じた値となる個数だけ、受入キュー内のコマンドが所定のタイミングで格納される。処理時間予測手段は、予測処理時間生成手段に基づいて、各記憶ディスク部別の処理時間を予測する。コマンドキューイング手段は、予測された処理時間が最大となる記憶ディスク部に対するコマンドを送出キューから取り出して、対応する記憶ディスク部にキューイングする。コマンドバッチ生成手段は、各送出キューが空になると、受入キュー内のコマンドを送出キューに格納する。
近年、CPU性能は急速に向上しているが、ディスク性能はCPUほど急速には向上していない。そのため、ディスクアクセス要求の発行からレスポンスを受け取るまでの待ち時間が非常に長くなるプロセスやCPUが発生し得る。待ち時間が長くなったり、頻繁に待ち状態が発生したりすると、システム全体の効率が低下してしまう。従って、I/Oスケジューラは、待ち時間が短くなるように、複数のプロセスからのディスクアクセス要求をスケジューリングすることが好適である。 In recent years, CPU performance has improved rapidly, but disk performance has not improved as rapidly as CPU. For this reason, there may be a process or CPU in which the waiting time from when a disk access request is issued until a response is received becomes very long. If the waiting time becomes long or the waiting state frequently occurs, the efficiency of the entire system is lowered. Therefore, it is preferable that the I / O scheduler schedules disk access requests from a plurality of processes so that the waiting time is shortened.
また、ディスクアクセス処理を高速化するために、ディスクとCPUとの間の単位時間あたりのデータ転送速度であるディスク帯域幅(スループット)を向上させることも重要である。よって、I/Oスケジューラは、スループットが向上するように、複数のプロセスからのディスクアクセス要求をスケジューリングすることが好適である。 It is also important to improve the disk bandwidth (throughput), which is the data transfer rate per unit time between the disk and the CPU, in order to speed up the disk access process. Therefore, it is preferable that the I / O scheduler schedules disk access requests from a plurality of processes so as to improve the throughput.
しかしながら、一般的に、「待ち時間の短縮」と「スループットの向上」とは互いに相反する関係にある。そのことを、図1で示される例を参照して説明する。 However, in general, “reduction of waiting time” and “improvement of throughput” are in a mutually contradictory relationship. This will be described with reference to the example shown in FIG.
図1において、プロセスP1〜P4が、ディスクに記録されているファイルF1〜F4のそれぞれへアクセスを行うとする。I/Oスケジューラは、プロセスP1〜P4のそれぞれから発行されるディスクアクセス要求をどのような順番でディスクへ送るかを決定する。より詳細には、I/Oスケジューラは、ディスクアクセス要求を一時的に保持しておく待ちキューQ1〜Q4を有している。待ちキューはプロセス毎に割り当てられており、図1の例では、待ちキューQ1〜Q4がそれぞれプロセスP1〜P4に割り当てられている。つまり、プロセスP1〜P4からのディスクアクセス要求は、待ちキューQ1〜Q4のそれぞれに一旦格納される。リクエスト選択部は、“所定の規則”に従って、待ちキューQ1〜Q4からディスクアクセス要求を取り出し、取り出したものを順次ディスクへ送る。 In FIG. 1, it is assumed that processes P1 to P4 access files F1 to F4 recorded on the disc. The I / O scheduler determines in what order the disk access requests issued from each of the processes P1 to P4 are sent to the disk. More specifically, the I / O scheduler has wait queues Q1 to Q4 that temporarily hold disk access requests. The wait queue is assigned for each process. In the example of FIG. 1, the wait queues Q1 to Q4 are assigned to the processes P1 to P4, respectively. That is, disk access requests from the processes P1 to P4 are temporarily stored in the waiting queues Q1 to Q4. The request selection unit takes out the disk access requests from the waiting queues Q1 to Q4 according to the “predetermined rule”, and sequentially sends the taken out requests to the disk.
ここで、その所定の規則としては、(1)それぞれの待ちキューからディスクアクセス要求を1個ずつ順番に取り出す、あるいは、(2)1つの待ちキューに格納されている全てのディスクアクセス要求を取り出した後、次の待ちキューへ移る、が考えられる。これら2つの規則はそれぞれ長所と短所を有している。 Here, as the predetermined rule, (1) one disk access request is sequentially taken out from each waiting queue, or (2) all disk access requests stored in one waiting queue are taken out. After that, it is possible to move to the next waiting queue. Each of these two rules has advantages and disadvantages.
規則(1)の場合、リクエスト選択部は、ある待ちキューから1個のディスクアクセス要求を取り出した後、すぐに次の待ちキューへ移る。その結果、あるプロセスがディスク上のあるファイルにアクセスした後、すぐに別のプロセスがディスク上の別のファイルにアクセスすることになる。従って、それぞれのプロセスが短い待ち時間で次々とディスクアクセスすることが可能となる。待ち時間が極端に長くなるプロセスが無いので、タイムアウトは発生せず、また、各プロセスの処理効率が向上する。その一方で、ディスク上のアクセス対象のファイルが次々と切り換わるため、ディスクヘッドは頻繁に移動する必要があり、ファイル間のシークに時間がとられてしまう。ファイル間のシーク時間が増大すると、ある一定の期間のうちに各ファイルから読み出せる(あるいは書き込める)データ量が必然的に少なくなってしまう。このことは、単位時間あたりのデータ伝送速度であるスループットが低下することを意味する。このように、規則(1)の場合、待ち時間は短縮されるが、スループットが低下する。 In the case of rule (1), the request selection unit takes out one disk access request from a certain waiting queue and immediately moves to the next waiting queue. As a result, after one process accesses a file on the disk, another process immediately accesses another file on the disk. Therefore, each process can access the disk one after another with a short waiting time. Since no process has an extremely long waiting time, no timeout occurs and the processing efficiency of each process is improved. On the other hand, since the files to be accessed on the disk are switched one after another, it is necessary to move the disk head frequently, and it takes time to seek between the files. When the seek time between files increases, the amount of data that can be read (or written) from each file within a certain period of time inevitably decreases. This means that the throughput, which is the data transmission rate per unit time, decreases. Thus, in the case of rule (1), the waiting time is shortened, but the throughput is reduced.
規則(2)の場合、リクエスト選択部は、1つの待ちキューに格納されている全てのディスクアクセス要求を取り出した後、次の待ちキューへ移る。そのため、アクセス対象のファイルが頻繁に切り換わることがない。また、一般的に、同一プロセスがアクセスするデータはディスク上の近い位置に存在している。従って、ディスクヘッドのシーク時間が短くなり、その分、単位時間あたりのデータ転送速度であるスループットが増加する。その一方で、あるプロセスからの全てのディスクアクセス要求の処理が終了するまで、次のプロセスは待機する必要がある。つまり、後のプロセスほど待ち時間は長くなり、タイムアウトが発生する可能性が高くなる。この傾向は、同時に動作するプロセスの数が多くなるほど、また、1つのプロセスが発行するディスクアクセス要求の数が多くなるほど、強くなる。このように、規則(2)の場合、スループットは向上するが、待ち時間が長くなる。 In the case of rule (2), the request selection unit extracts all disk access requests stored in one wait queue, and then moves to the next wait queue. Therefore, the file to be accessed does not switch frequently. In general, data accessed by the same process exists at a close position on the disk. Accordingly, the seek time of the disk head is shortened, and the throughput, which is the data transfer rate per unit time, is increased accordingly. On the other hand, the next process needs to wait until processing of all disk access requests from a process is completed. In other words, the later process has a longer waiting time and the possibility of a timeout occurring. This tendency becomes stronger as the number of processes operating simultaneously increases and as the number of disk access requests issued by one process increases. Thus, in the case of rule (2), the throughput is improved, but the waiting time is increased.
本願発明者は次の点に着目した。実際のシステム運用においては、各プロセスの待ち時間は最小である必要はなく、多くの場合、各プロセスは予め定められた時間(例えば、アプリケーションのタイムアウトが発生しない時間)内に処理を開始すればよい。つまり、所定の時間内に、各プロセスは少なくとも1回ディスクアクセスを行えばよい。このような条件の下で、スループットを可能な限り大きくすることが望まれる。 The inventor of the present application paid attention to the following points. In actual system operation, the waiting time of each process does not need to be minimum, and in many cases, if each process starts processing within a predetermined time (for example, a time when an application timeout does not occur) Good. In other words, each process may perform disk access at least once within a predetermined time. Under such conditions, it is desired to increase the throughput as much as possible.
本発明の1つの目的は、所定の時間内に全てのプロセスがディスクアクセスを少なくとも1回実行するという条件の下で、スループットをできるだけ大きくすることができるスケジューリング技術を提供することにある。 One object of the present invention is to provide a scheduling technique capable of increasing the throughput as much as possible under the condition that all processes execute disk access at least once within a predetermined time.
本発明の第1の観点において、I/Oスケジューラが提供される。I/Oスケジューラは、複数のプロセスがディスクにアクセスする際に、それぞれのプロセスから発行されるディスクアクセス要求のスケジューリング処理をコンピュータに実行させる。そのスケジューリング処理は、(A)複数のプロセスのそれぞれがアクセスするアクセス対象ファイルを示すプロセス特性情報、及びディスクに記録されているファイルの位置を示すファイル位置情報を、記憶装置から読み出すステップと、(B)複数のプロセスからのディスクアクセス要求を、複数の待ちキューのそれぞれに格納するステップと、(C)プロセス特性情報及びファイル位置情報を参照し、アクセス対象ファイルがディスク上の並び順で順番にアクセスされるように、ディスクアクセス要求が取り出される複数の待ちキューの順番を決定するステップと、(D)所定の時間内に複数のプロセスの全てが少なくとも1回ディスクアクセスを行うように、当該所定の時間内に複数の待ちキューのそれぞれから取り出されるディスクアクセス要求の数を決定するステップと、(E)上記決定された順番及び数に従って、複数の待ちキューからディスクアクセス要求を取得し、取得したディスクアクセス要求をディスクに送るステップと、を含む。 In a first aspect of the present invention, an I / O scheduler is provided. When a plurality of processes access a disk, the I / O scheduler causes a computer to execute a scheduling process of a disk access request issued from each process. The scheduling process includes (A) reading process characteristic information indicating an access target file accessed by each of a plurality of processes and file position information indicating a position of a file recorded on the disk from a storage device; B) A step of storing disk access requests from a plurality of processes in each of a plurality of wait queues, and (C) referring to process characteristic information and file position information, and the access target files are sequentially arranged in the order of arrangement on the disk. Determining the order of a plurality of wait queues from which disk access requests are retrieved so as to be accessed, and (D) the predetermined process so that all of the plurality of processes perform disk access at least once within a predetermined time period. The disk is removed from each of the multiple waiting queues within Determining a number of access requests, according to the order and the number determined above (E), comprising the steps of: sending from a plurality of waiting queue to get the disk access request, the disk access request to the disk obtained, the.
本発明の第2の観点において、複数のプロセスがディスクにアクセスする際に、それぞれのプロセスから発行されるディスクアクセス要求のスケジューリング処理を行うI/Oスケジューリング方法が提供される。そのI/Oスケジューリング方法は、(A)複数のプロセスのそれぞれがアクセスするアクセス対象ファイルを示すプロセス特性情報、及びディスクに記録されているファイルの位置を示すファイル位置情報を、記憶装置から読み出すステップと、(B)複数のプロセスからのディスクアクセス要求を、複数の待ちキューのそれぞれに格納するステップと、(C)プロセス特性情報及びファイル位置情報を参照し、アクセス対象ファイルがディスク上の並び順で順番にアクセスされるように、ディスクアクセス要求が取り出される複数の待ちキューの順番を決定するステップと、(D)所定の時間内に複数のプロセスの全てが少なくとも1回ディスクアクセスを行うように、当該所定の時間内に複数の待ちキューのそれぞれから取り出されるディスクアクセス要求の数を決定するステップと、(E)上記決定された順番及び数に従って、複数の待ちキューからディスクアクセス要求を取得し、取得したディスクアクセス要求をディスクに送るステップと、を含む。 In a second aspect of the present invention, there is provided an I / O scheduling method for performing a scheduling process of a disk access request issued from each process when a plurality of processes access the disk. In the I / O scheduling method, (A) a step of reading process characteristic information indicating an access target file accessed by each of a plurality of processes and file position information indicating a position of a file recorded on a disk from a storage device (B) a step of storing disk access requests from a plurality of processes in each of a plurality of waiting queues; and (C) referring to process characteristic information and file position information, and the access target files are arranged in order on the disk. (D) determining the order of a plurality of waiting queues from which disk access requests are taken out, so that all of the plurality of processes perform disk access at least once within a predetermined time period. And is taken out from each of the plurality of waiting queues within the predetermined time. And determining the number of I disk access request, in accordance with (E) the determined order and number, and sending a plurality of waiting queue to get the disk access request, the disk access request to the disk obtained, the.
本発明の第3の観点において、計算機システムが提供される。計算機システムは、ディスクと、そのディスクにアクセスする複数のプロセスを実行する処理装置と、I/Oスケジューラと、記憶装置とを備える。記憶装置には、複数のプロセスのそれぞれがアクセスするアクセス対象ファイルを示すプロセス特性情報、及びディスクに記録されているファイルの位置を示すファイル位置情報が格納される。I/Oスケジューラは、処理装置によって実行され、複数のプロセスのそれぞれから発行されるディスクアクセス要求のスケジューリング処理を行う。より詳細には、I/Oスケジューラは、複数のプロセスからのディスクアクセス要求を複数の待ちキューのそれぞれに格納する。I/Oスケジューラは、プロセス特性情報及びファイル位置情報を参照し、アクセス対象ファイルがディスク上の並び順で順番にアクセスされるように、ディスクアクセス要求が取り出される複数の待ちキューの順番を決定する。I/Oスケジューラは、所定の時間内に複数のプロセスの全てが少なくとも1回ディスクアクセスを行うように、所定の時間内に複数の待ちキューのそれぞれから取り出されるディスクアクセス要求の数を決定する。そして、I/Oスケジューラは、決定された順番及び数に従って、複数の待ちキューからディスクアクセス要求を取得し、取得したディスクアクセス要求をディスクに送る。 In a third aspect of the present invention, a computer system is provided. The computer system includes a disk, a processing device that executes a plurality of processes that access the disk, an I / O scheduler, and a storage device. The storage device stores process characteristic information indicating an access target file accessed by each of a plurality of processes, and file position information indicating a position of a file recorded on the disk. The I / O scheduler is executed by the processing device and performs a scheduling process of a disk access request issued from each of a plurality of processes. More specifically, the I / O scheduler stores disk access requests from a plurality of processes in each of a plurality of wait queues. The I / O scheduler refers to the process characteristic information and the file position information, and determines the order of a plurality of wait queues from which disk access requests are retrieved so that the access target file is accessed in order in the arrangement order on the disk. . The I / O scheduler determines the number of disk access requests fetched from each of the plurality of wait queues within a predetermined time period so that all of the plurality of processes perform disk access at least once within the predetermined time period. Then, the I / O scheduler acquires disk access requests from a plurality of waiting queues according to the determined order and number, and sends the acquired disk access requests to the disk.
本発明のスケジューリング技術によれば、所定の時間内に全てのプロセスがディスクアクセスを少なくとも1回実行するという条件の下で、スループットをできるだけ大きくすることが可能となる。 According to the scheduling technique of the present invention, it is possible to maximize the throughput under the condition that all processes execute disk access at least once within a predetermined time.
添付図面を参照して、本発明の実施の形態に係る計算機システム及びI/Oスケジューラを説明する。 A computer system and an I / O scheduler according to an embodiment of the present invention will be described with reference to the accompanying drawings.
1.計算機システム
図2は、本発明の実施の形態に係る計算機システム(コンピュータシステム)1の構成の一例を示している。計算機システム1は、処理装置2、記憶装置3、ディスク4、入力装置5及び出力装置6を備えている。処理装置2は、1つあるいは複数のCPUを含んでいる。記憶装置3は例えばRAM(Random Access Memory)である。ディスク4は例えば複数のファイルが記録されたHDD(Hard Disk Drive)である。ディスク4は、ネットワークを介して複数の計算機システム1で共有されていてもよい。入力装置5は例えばキーボードやマウスである。出力装置6は例えばディスプレイである。計算機システム1は、仮想化技術によって構築されていてもよい。
1. Computer System FIG. 2 shows an example of the configuration of a computer system (computer system) 1 according to an embodiment of the present invention. The
処理装置2は、OSの他、様々なアプリケーションを実行する。このとき、処理装置2は、OSやアプリケーション等により発生するプロセスを実行する。多くのプロセスは、ディスク4へのアクセス処理(データ読み込み、データ書き込み)を必要とし、ディスクアクセス要求をOS内のI/Oスケジューラ10に発行する。I/Oスケジューラ10は、処理装置2によって実行されるプログラムの一種であり、複数のプロセスのそれぞれから発行されるディスクアクセス要求のスケジューリング処理を行う。尚、OSやI/Oスケジューラ10は、ディスク4やコンピュータ読み取り可能な記録媒体に記録されている。そして、OSやI/Oスケジューラ10は、記憶装置3に読み出され、処理装置2によって実行される。
The
後に詳しく説明されるように、本実施の形態に係るI/Oスケジューラ10は、所定の時間内に全てのプロセスがディスクアクセスを少なくとも1回実行するという条件の下で、スループットができるだけ大きくなるようにスケジューリング処理を行う。そのために、I/Oスケジューラ10は、プロセス特性情報PROC、ファイル位置情報LOC、シーク時間情報SEK、アクセス時間情報ACS等を利用する。それらプロセス特性情報PROC、ファイル位置情報LOC、シーク時間情報SEK及びアクセス時間情報ACSは、記憶装置3に格納される。まず、各情報の詳細を説明する。
As will be described in detail later, the I /
(プロセス特性情報PROC)
図3は、プロセス特性情報PROCの一例を示している。プロセス特性情報PROCは、それぞれのプロセスがアクセスするディスク4上のファイル(アクセス対象ファイル)を示している。例えば図3の例では、プロセス特性情報PROCは、複数のプロセスP1〜P4がそれぞれ複数のファイルF1〜F4へアクセスすることを示している。プロセス特性情報PROCは、プロセス(P1〜P4)とアクセス対象ファイル(F1〜F4)との対応関係を示しているとも言える。このプロセス特性情報PROCを参照することによって、I/Oスケジューラ10は、各プロセスがディスク4上のどのアクセス対象ファイルにアクセスするか把握することができる。
(Process characteristic information PROC)
FIG. 3 shows an example of the process characteristic information PROC. The process characteristic information PROC indicates a file (access target file) on the
(ファイル位置情報LOC)
図4A及び図4Bは、ファイル位置情報LOCの例を示している。ファイル位置情報LOCは、ディスク4に記録されているファイルの位置を示す情報である。図4Aの例では、ファイル名、開始位置及び終了位置の対応関係がファイル毎に示されている。図4Bの例では、ファイル名、開始位置及びファイルサイズの対応関係がファイル毎に示されている。図4Bの場合、各ファイルの終了位置は、開始位置とファイルサイズから求めることができる。このファイル位置情報LOCを参照することによって、I/Oスケジューラ10は、ディスク4上のファイルの配置関係及びファイル間の距離を計算することができる。尚、図4A及び図4Bで示された例では、ファイル位置を表す単位として、ディスク4の先頭からのバイト数が用いられているが、それに限られない。ファイル位置は、ディスク4の先頭からのシリンダ数などで表されてもよい。
(File location information LOC)
4A and 4B show examples of the file position information LOC. The file position information LOC is information indicating the position of the file recorded on the
(シーク時間情報SEK)
図5A及び図5Bは、シーク時間情報SEKの例を示している。シーク時間情報SEKは、ディスク4上でヘッドが移動する距離である「シーク距離」とその移動時間である「シーク時間」との対応関係を示す情報である。図5Aは、その対応関係y=f(x)を示すグラフである。図5Aにおいて、横軸はシーク距離xを表し、縦軸はシーク時間yを表している。あるいは、図5Bに示されるように、シーク時間情報SEKは、シーク距離とシーク時間との対応関係をテーブル形式で与えてもよい。図5Bによれば、例えば、シーク距離が0.5GByteのときにシーク時間は8.0ミリ秒であり、シーク距離が64GByteのときにシーク時間は17.5ミリ秒であることがわかる。テーブルのエントリに直接示されていないシーク距離に対応するシーク時間は、エントリ間を補間すること等によって算出することができる。尚、シーク距離は、バイト数だけでなくシリンダ数でも表され得る。
(Seek time information SEK)
5A and 5B show examples of seek time information SEK. The seek time information SEK is information indicating the correspondence between the “seek distance” that is the distance the head moves on the
(アクセス時間情報ACS)
図6A及び図6Bは、アクセス時間情報ACSの例を示している。アクセス時間情報ACSは、アクセスされるデータサイズとそのアクセスに要する時間の関係を示す情報である。ディスクアクセスにはデータ読み出しとデータ書き込みがあり、それぞれに対してアクセス時間情報ACSが定義され得る。例えばデータ読み出しの場合、アクセス時間情報ACSは、「読み出しデータサイズ」とその読み出し動作に要する「読み出し時間」との対応関係を示す。図6Aは、その対応関係y=g(x)を示すグラフである。図6Aにおいて、横軸は読み出しデータサイズxを表し、縦軸は読み出し時間yを表している。あるいは、図6Bに示されるように、アクセス時間情報ACSは、読み出しデータサイズと読み出し時間との対応関係をテーブル形式で与えてもよい。図6Bによれば、例えば、読み出しデータサイズが4kBのときに読み出し時間は0.10ミリ秒であり、読み出しデータサイズが128kBのときに読み出し時間は3.2ミリ秒であることがわかる。テーブルのエントリに直接示されていない読み出しデータサイズに対応する読み出し時間は、エントリ間を補間すること等によって算出することができる。
(Access time information ACS)
6A and 6B show examples of access time information ACS. The access time information ACS is information indicating the relationship between the data size to be accessed and the time required for the access. Disk access includes data read and data write, and access time information ACS can be defined for each. For example, in the case of data reading, the access time information ACS indicates the correspondence between “read data size” and “read time” required for the read operation. FIG. 6A is a graph showing the correspondence y = g (x). In FIG. 6A, the horizontal axis represents the read data size x, and the vertical axis represents the read time y. Alternatively, as shown in FIG. 6B, the access time information ACS may give the correspondence between the read data size and the read time in a table format. According to FIG. 6B, for example, it can be seen that when the read data size is 4 kB, the read time is 0.10 milliseconds, and when the read data size is 128 kB, the read time is 3.2 milliseconds. The read time corresponding to the read data size not directly shown in the table entry can be calculated by interpolating between the entries.
2.I/Oスケジューラ
本実施の形態に係るI/Oスケジューラ10は、上述の情報を適宜利用することによって、スケジューリング処理を行う。このスケジューリング処理において、次の点が留意される。第一に、本実施の形態では、プロセスのディスクアクセスに対して所定のレスポンスタイム(以下、「要求ピリオドTprd」と参照される)が要求される。全てのプロセスは、その要求ピリオドTprd内に少なくとも1回ディスクアクセスを行うことが要求される。要求ピリオドTprdは、システム効率が劣化しない範囲でユーザにより適宜設定され得る。例えば、要求ピリオドTprdは、計算機システム1が実行するアプリケーションのタイムアウト時間以下に設定される。第二に、それぞれのプロセスのディスクアクセスに関するスループットの合計ができるだけ大きくなるように、スケジューリングが行われる。すなわち、本実施の形態に係るI/Oスケジューラ10は、要求ピリオドTprd内に全てのプロセスがディスクアクセスを少なくとも1回実行するという条件の下で、スループットができるだけ大きくなるようにスケジューリング処理を行う。
2. I / O scheduler The I /
2−1.概要
図7に示されるように、複数のプロセスP1〜P4がI/Oスケジューラ10を介してディスクアクセスを行う場合を考える。複数のプロセスP1〜P4は、ディスク4に記録された複数のファイルF1〜F4のそれぞれにアクセスする。このとき、それぞれのプロセスP1〜P4はディスクアクセス要求をI/Oスケジューラ10に発行する。I/Oスケジューラ10は、プロセスP1〜P4のそれぞれから発行されるディスクアクセス要求のスケジューリング処理を行う。
2-1. Overview As shown in FIG. 7, consider a case where a plurality of processes P <b> 1 to P <b> 4 perform disk access via the I /
I/Oスケジューラ10は、ディスクアクセス要求を一時的に保持しておく複数の待ちキューQ1〜Q4を有している。待ちキューはプロセス毎に割り当てられており、図7の例では、待ちキューQ1〜Q4がそれぞれプロセスP1〜P4に割り当てられている。つまり、プロセスP1〜P4からのディスクアクセス要求は、待ちキューQ1〜Q4のそれぞれに一旦格納される。
The I /
更に、I/Oスケジューラ10は、プロセスモニタ部20、スケジューリング決定部30、及びリクエスト選択部40を有している。プロセスモニタ部20は、動作中のプロセスをモニタし、プロセスの情報を取得する機能を有する。スケジューリング決定部30は、ディスクアクセス要求が取り出される待ちキューの順番や、各待ちキューから取り出すべきディスクアクセス要求の数を決定する機能を有する。リクエスト選択部40は、決定された順番及び数に従って、待ちキューからディスクアクセス要求を取得し、取得したものを順次ディスク4へ送る機能を有する。
Further, the I /
図8は、本実施の形態に係るスケジューリング処理を示すフローチャートである。図7及び図8を参照して、本実施の形態に係るスケジューリング処理を説明する。 FIG. 8 is a flowchart showing the scheduling process according to the present embodiment. The scheduling process according to the present embodiment will be described with reference to FIGS.
(ステップS10)
スケジューリング決定部30は、プロセス特性情報PROC、ファイル位置情報LOC、シーク時間情報SEK及びアクセス時間情報ACSを、記憶装置3から読み出す。また、OSは、予め設定されている要求ピリオドTprdの情報をスケジューリング決定部30に与える。要求ピリオドTprdは、全てのプロセスP1〜P4で共通であるとする。
(Step S10)
The
(ステップS20)
I/Oスケジューラ10は、プロセスP1〜P4のそれぞれからのディスクアクセス要求を、待ちキューQ1〜Q4のそれぞれに一旦格納する。また、プロセスモニタ部20は、動作中のプロセスP1〜P4をモニタし、それらプロセスP1〜P4の情報を取得する。取得する情報としては、プロセス番号やプロセス名が挙げられる。例えば、OSがLinuxの場合、psコマンドを利用することによって、プロセス番号やプロセス名を取得することができる。
(Step S20)
The I /
(ステップS30)
スケジューリング決定部30は、要求ピリオドTprd内のスケジューリング規則を示す「スケジューリングパラメータ」を決定する。スケジューリングパラメータには、ディスクアクセス要求が取り出される待ちキューQ1〜Q4の順番や、要求ピリオドTprd内に待ちキューQ1〜Q4のそれぞれから取り出すべきディスクアクセス要求の数Aiが含まれる。ここで、添え字iは、待ちキューQ1〜Q4、すなわち、プロセスP1〜P4のそれぞれを示す。本実施の形態によれば、スケジューリング決定部30は、要求ピリオドTprd内に全プロセスP1〜P4が少なくとも1回ディスクアクセスを行い、且つ、プロセスP1〜P4のそれぞれに関するスループットの合計ができるだけ大きくなるように、スケジューリングパラメータを決定する。その詳細は後述される。
(Step S30)
The
(ステップS40)
リクエスト選択部40は、スケジューリング決定部30によって決定されたスケジューリングパラメータに従って、それぞれの待ちキューQ1〜Q4からのディスクアクセス要求の選択及び出力を行う。つまり、リクエスト選択部40は、スケジューリングパラメータで示される順番に従って待ちキュー(i=Q1〜Q4)を1つずつ選択し、且つ、選択中の1つの待ちキューiからはスケジューリングパラメータで示される数Aiだけディスクアクセス要求を取り出す。そして、リクエスト選択部40は、取り出したディスクアクセス要求を順次ディスク4に送る。
(Step S40)
The
ディスクアクセス要求に応答して、ディスク4ではアクセス対象ファイルに対するデータ読み出しあるいはデータ書き込みが行われる。そして、その結果が、当該ディスクアクセス要求を発行したプロセスに返される。本実施の形態では、要求ピリオドTprdの間に、全てのプロセスP1〜P4が少なくとも1回ディスクアクセスを行う。
In response to the disk access request, the
要求ピリオドTprd毎に、ステップS40は繰り返される。いずれかの待ちキューに蓄積されたディスクアクセス要求が無くなると、処理はステップS20に戻る。また、上述のプロセスモニタ部20は、動作中のプロセスのモニタを継続している。動作中のプロセスが増減すると、処理はステップS20に戻る。
Step S40 is repeated for each request period Tprd. When there is no disk access request stored in any of the waiting queues, the process returns to step S20. Further, the
2−2.スケジューリングパラメータの決定(ステップS30)
次に、上述のステップS30を詳しく説明する。図9は、本実施の形態におけるスケジューリングパラメータの決定方法を示すフローチャートである。
2-2. Determination of scheduling parameters (step S30)
Next, step S30 described above will be described in detail. FIG. 9 is a flowchart showing a method for determining a scheduling parameter in the present embodiment.
(ステップS310)
まず、スケジューリング決定部30は、要求ピリオドTprdにおいてディスクアクセス要求が取り出される待ちキューの順番を決定する。要求ピリオドTprdにおけるスループットを増加させるためには、その要求ピリオドTprd中でアクセス対象ファイル間のシークにとられる時間をできるだけ削減することが望ましい。そのためには、要求ピリオドTprdにおけるアクセス対象ファイル間のシーク距離の合計をできるだけ小さくすることが望ましい。よって、スケジューリング決定部30は、アクセス対象ファイル間のシーク距離の合計がなるべく小さくなるように順番を決定する。
(Step S310)
First, the
スケジューリング決定部30は、プロセスモニタ部20から動作中のプロセスP1〜P4の情報(例:プロセス名)を受け取る。そして、スケジューリング決定部30は、プロセス特性情報PROCを参照することにより、動作中のプロセスP1〜P4のそれぞれがアクセスするアクセス対象ファイルF1〜F4を把握する。更に、スケジューリング決定部30は、ファイル位置情報LOCを参照することにより、アクセス対象ファイルF1〜F4のディスク4上での配置関係を把握する。そして、スケジューリング決定部30は、アクセス対象ファイルF1〜F4がディスク4上の“並び順(配置順)”で順番にアクセスされるように、ディスクアクセス要求が取り出される待ちキューQ1〜Q4の順番を決定する。
The
例えば、図4A及び図4Bで示されたファイル位置情報LOCの例の場合、アクセス対象ファイルF1〜F4は、ディスク4の先頭から「F1、F2、F3、F4」の順番で配置されている。従って、図10Aに示されるように、アクセス対象ファイルF1〜F4が「F1、F2、F3、F4、F1」の順番でアクセスされる場合に、シーク距離の合計が最も小さくなる。しかしながら、図10Bに示されるように、アクセス対象ファイルF1〜F4が「F1、F4、F2、F3、F1」といった順番でアクセスされると、シーク距離の合計は大きくなってしまう。上述の通り、スループットを大きくするためには、アクセス対象ファイルF1〜F4間のシーク距離の合計はなるべく小さいことが望ましい。従って、アクセス対象ファイルF1〜F4のアクセス順としては、図10Aで示されたような順番が好適である。あるいは、図10Aと逆の順番「F4、F3、F2、F1、F4」であっても同じである。いずれにせよ、アクセス対象ファイルF1〜F4のアクセス順としては、ディスク4上の“並び順(配置順)”に沿っていることが望ましい。
For example, in the example of the file position information LOC shown in FIGS. 4A and 4B, the access target files F1 to F4 are arranged in the order of “F1, F2, F3, F4” from the top of the
スケジューリング決定部30は、要求ピリオドTprdにおいて図10Aで示されたようなアクセス順が再現されるように、ディスクアクセス要求が取り出される待ちキューQ1〜Q4の順番を決定する。すなわち、本例では、取り出し順は、「Q1、Q2、Q3、Q4」あるいは「Q2、Q3、Q4、Q1」あるいは「Q3、Q4、Q1、Q2」あるいは「Q4、Q3、Q2、Q1」と決定される。これにより、要求ピリオドTprd中でアクセス対象ファイルF1〜F4間のシークに割かれる時間が極力抑えられ、データ読み出しあるいはデータ書き込みに割り当て可能な時間が増えることになる。このことは、要求ピリオドTprdにおけるスループットの合計が増加することを意味する。
The
尚、例えば図10Aに示されるように、アクセス対象ファイルF1〜F4に対するアクセスは、要求ピリオドTprdでちょうど一巡する。図10Aの例では、1回の要求ピリオドTprdにおいて、ディスクヘッドはファイルF1の位置からファイルF4の位置まで順次移動した後、最初のファイルF1の位置まで戻る。つまり、アクセス対象ファイルF1〜F4に対するアクセスは循環的に行われ、要求ピリオドTprd毎に同じ動作が繰り返される。 For example, as shown in FIG. 10A, the access to the access target files F1 to F4 is completed once in the request period Tprd. In the example of FIG. 10A, in one request period Tprd, the disk head sequentially moves from the position of the file F1 to the position of the file F4, and then returns to the position of the first file F1. That is, access to the access target files F1 to F4 is performed cyclically, and the same operation is repeated for each request period Tprd.
(ステップS320)
次に、スケジューリング決定部30は、ステップS310で決定された順番でディスクアクセス要求が取り出された場合の、アクセス対象ファイルF1〜F4間のシーク距離(ファイル間シーク距離)を算出する。つまり、スケジューリング決定部30は、要求ピリオドTprdにおいて上記決定順でアクセス対象ファイルF1〜F4にアクセスが発生した場合の、ファイル間シーク距離を算出する。プロセスP1〜P4のそれぞれのアクセス対象ファイルF1〜F4はプロセス特性情報PROCに示されており、それらアクセス対象ファイルF1〜F4のディスク4上の位置はファイル位置情報LOCに示されている。従って、その情報を参照することによりファイル間シーク距離を計算することができる。
(Step S320)
Next, the
各ファイルはディスク4上でファイルサイズ分の幅を有しているため、ファイル間シーク距離の算出にあたって、各ファイルの代表位置を決定する必要がある。その代表位置としては、各ファイルの開始位置、終了位置、あるいは開始位置と終了位置との中間位置などが挙げられる。例えば中間位置が代表位置として用いられる場合、あるファイルの中間位置と次にアクセスされるファイルの中間位置との間の距離が、ファイル間シーク距離として算出される。
Since each file has a width corresponding to the file size on the
図10Aで示された例の場合を考える。この場合、要求ピリオドTprdにおけるアクセス順は「F1、F2、F3、F4、F1」である。従って、ファイルF1とF2の間のシーク距離L12、ファイルF2とF3の間のシーク距離L23、ファイルF3とF4の間のシーク距離L34、及びファイルF4とF1の間のシーク距離L41が算出される。 Consider the case of the example shown in FIG. 10A. In this case, the access order in the request period Tprd is “F1, F2, F3, F4, F1”. Accordingly, the seek distance L12 between the files F1 and F2, the seek distance L23 between the files F2 and F3, the seek distance L34 between the files F3 and F4, and the seek distance L41 between the files F4 and F1 are calculated. .
(ステップS330)
次に、スケジューリング決定部30は、シーク時間情報SEK(図5A、図5B参照)を参照することによって、ステップS320で算出されたファイル間シーク距離に対応するファイル間シーク時間を算出する。図5Aで示されたような関数y=f(x)が用いられる場合、変数xにファイル間シーク距離を代入することによって、対応するファイル間シーク時間yを得ることができる。図5Bで示されたようなテーブルが用いられる場合、エントリ間を補間することによって、ファイル間シーク距離に対応するファイル間シーク時間を得ることができる。
(Step S330)
Next, the
図10Aで示された例の場合、上述のファイル間シーク距離L12、L23、L34及びL41のそれぞれに対応するファイル間シーク時間T12、T23、T34及びT41が算出される。算出されたファイル間シーク時間は、要求ピリオドTprd中でアクセス対象ファイルF1〜F4間のシークに割かれる時間に相当する。ステップS310で説明された順番決めの工夫の結果、ファイル間シーク時間の総和(T12+T23+T34+T41)は最小限に抑えられている。その分、各ファイルでのデータ読み出しあるいはデータ書き込みに割り当て可能な時間が増えることになる。このことは、要求ピリオドTprdにおけるスループットの合計が増加することを意味する。 In the example shown in FIG. 10A, the inter-file seek times T12, T23, T34, and T41 corresponding to the inter-file seek distances L12, L23, L34, and L41, respectively, are calculated. The calculated seek time between files corresponds to the time allocated for seeking between the access target files F1 to F4 in the request period Tprd. As a result of the devising of ordering described in step S310, the total inter-file seek time (T12 + T23 + T34 + T41) is minimized. Accordingly, the time allocatable for data reading or data writing in each file increases. This means that the total throughput in the requested period Tprd increases.
(ステップS340)
次に、スケジューリング決定部30は、ステップS330で算出されたファイル間シーク時間のそれぞれを要求ピリオドTprdから引くことによって、「残り時間Trst」を算出する。図10Aで示された例の場合、残り時間Trstは、Tprd−(T12+T23+T34+T41)と算出される。この残り時間Trstは、アクセス対象ファイルでのデータ読み出しあるいはデータ書き込みに利用可能な時間に相当する。上述の通り、ファイル間シーク時間の総和は最小限に抑えられているため、残り時間Trstとして最大限の時間が確保される。
(Step S340)
Next, the
ステップS340の処理は、データ読み出しあるいはデータ書き込みに割り当て可能な残り時間Trstを見積もることだけでなく、要求ピリオドTprd中で全てのファイル間シーク動作に必要な時間をあらかじめ確保しておくことにも相当する。全てのファイル間シーク動作に必要な時間が確保されることは、全てのプロセスP1〜P4が要求ピリオドTprd内に少なくとも1回ディスクアクセスを行うことが可能となることを意味する。言い換えれば、ステップS340によって、全てのプロセスP1〜P4が要求ピリオドTprd内に少なくとも1回ディスクアクセスを行うことが保証される。 The processing in step S340 is equivalent to not only estimating the remaining time Trst that can be allocated to data reading or data writing, but also securing in advance the time required for all file-to-file seek operations in the requested period Tprd. To do. Securing the time required for all inter-file seek operations means that all the processes P1 to P4 can perform disk access at least once within the requested period Tprd. In other words, step S340 ensures that all processes P1-P4 make a disk access at least once within the requested period Tprd.
(ステップS350)
以上に説明されたように、ステップS310での順番決めにより、要求ピリオドTprdにおけるスループットの合計の向上が期待される。また、ステップS340での残り時間Trstの算出により、全てのプロセスP1〜P4が要求ピリオドTprd内に少なくとも1回ディスクアクセスを行うことが保証される。後は、スケジューリング決定部30が、残り時間TrstをプロセスP1〜P4間で適宜分配すればよい。それぞれのプロセスP1〜P4に分配される時間に基づいて、残り時間Trst(すなわち要求ピリオドTprd)内にそれぞれの待ちキューQ1〜Q4から取り出すことができるディスクアクセス要求の数Aiを決定することができる。その方法としては様々考えられる。
(Step S350)
As described above, the total throughput in the request period Tprd is expected to be improved by the order determination in step S310. Further, the calculation of the remaining time Trst in step S340 ensures that all the processes P1 to P4 perform disk access at least once within the request period Tprd. Thereafter, the
<第1の例>
例えば、ディスクアクセス要求の取得数Aiは複数のプロセスP1〜P4間で均等になるように決定される。そのために、スケジューリング決定部30は例えば次のような処理を行う。ディスクアクセスがデータ読み出しの場合を例示するが、データ書き込みの場合も同様である。
<First example>
For example, the number Ai of disk access request acquisitions is determined to be equal among the plurality of processes P1 to P4. For this purpose, the
あるプロセスiが1回のディスクアクセス要求によってアクセス対象ファイルから読み出すデータサイズはDacs_iであるとする。この1回の読み出しデータサイズDacs_iは、ユーザによって与えられてもよいし、システムで予め決まっていてもよい。また、読み出しデータサイズDacs_iは、プロセス間で同じであってもよいし異なっていてもよい。 Assume that a data size read from a file to be accessed by a process i by a single disk access request is Dacs_i. This one-time read data size Dacs_i may be given by the user or may be predetermined by the system. Further, the read data size Dacs_i may be the same or different between processes.
スケジューリング決定部30は、アクセス時間情報ACS(図6A、図6B参照)を参照することによって、1回の読み出しデータサイズDacs_iに対応する読み出し時間Tacs_iを算出する。図6Aで示されたような関数y=g(x)が用いられる場合、変数xに読み出しデータサイズDacs_iを代入することによって、対応する読み出し時間Tacs_iを得ることができる。図6Bで示されたようなテーブルが用いられる場合、エントリ間を補間することによって、読み出しデータサイズDacs_iに対応する読み出し時間Tacs_iを得ることができる。また、スケジューリング決定部30は、シーク時間情報SEK(図5A、図5B参照)を参照することによって、アクセス対象ファイルの中で読み出しデータ間を移動するのに要するファイル内シーク時間Tsek_iを算出する。このファイル内シーク時間Tsek_iは、1回の読み出しデータサイズDacs_iに対応する1回のシーク時間である。
The
上記読み出し時間Tacs_i及びファイル内シーク時間Tsek_iの和(Tacs_i+Tsek_i)は、あるプロセスiからの1回のディスクアクセス要求の処理に必要な時間に相当する。従って、各プロセスiに関して、残り時間Trst内に待ちキューから取り出すことができるディスクアクセス要求の数Aiは、次の式(1)で与えられ得る。 The sum of the read time Tacs_i and the file seek time Tsek_i (Tacs_i + Tsek_i) corresponds to the time required to process one disk access request from a certain process i. Therefore, for each process i, the number Ai of disk access requests that can be taken out from the waiting queue within the remaining time Trst can be given by the following equation (1).
式(1)において、Nは動作中のプロセスP1〜P4の全体を意味する。よって、式(1)の分母は、全てのプロセスP1〜P4からのディスクアクセス要求を1回ずつ処理するのに必要な時間の総和を表す。残り時間Trstをその総和で割ることによって、各プロセスiに関するディスクアクセス要求の取得数Aiを算出することができる。この場合、取得数AiはプロセスP1〜P4間で等しくなる。尚、実際には取得数Aiは整数である必要があるため、式(1)により求まる値の小数点以下を切り捨てることにより取得数Aiが決定される。 In the formula (1), N means the entire processes P1 to P4 in operation. Therefore, the denominator of Expression (1) represents the total time required to process the disk access requests from all the processes P1 to P4 once. By dividing the remaining time Trst by the sum, it is possible to calculate the number of disk access request acquisitions Ai for each process i. In this case, the acquisition number Ai is equal between the processes P1 to P4. Actually, since the acquisition number Ai needs to be an integer, the acquisition number Ai is determined by rounding down the decimal part of the value obtained by the equation (1).
<第2の例>
プロセスP1〜P4のそれぞれに要求されるスループットに対して“重み”が与えられている場合を考える。この場合、得られるスループットにその重み付けが反映されるように、ディスクアクセス要求の取得数Aiを決定することが可能である。プロセスP1〜P4のそれぞれに要求されるスループットの重み付けを指定するパラメータは、以下「重み付けパラメータ」と参照される。重み付けパラメータは、例えばプロセス特性情報PROCに含まれる。
<Second example>
Consider a case where a “weight” is given to the throughput required for each of the processes P1 to P4. In this case, the number Ai of disk access request acquisitions can be determined so that the weighting is reflected in the obtained throughput. The parameter that designates the weighting of the throughput required for each of the processes P1 to P4 is hereinafter referred to as “weighting parameter”. The weighting parameter is included in the process characteristic information PROC, for example.
図11は、本例におけるプロセス特性情報PROCを示している。図11において、プロセス特性情報PROCは、プロセスP1〜P4のそれぞれに関するアクセス対象ファイルF1〜F4に加えて、重み付けパラメータを示している。本例では、重み付けパラメータは、要求スループットの「重み係数」である。重み係数は、それぞれのプロセスP1〜P4に要求されるスループット間の比率である。例えば、プロセスP1、P2に指定された重み係数がそれぞれ1と2である場合、プロセスP2にはプロセスP1の2倍のスループットが要求されている。 FIG. 11 shows the process characteristic information PROC in this example. In FIG. 11, the process characteristic information PROC indicates a weighting parameter in addition to the access target files F1 to F4 related to each of the processes P1 to P4. In this example, the weighting parameter is a “weighting factor” of the required throughput. The weighting factor is a ratio between the throughputs required for the respective processes P1 to P4. For example, when the weighting factors specified for the processes P1 and P2 are 1 and 2, respectively, the process P2 is required to have twice the throughput of the process P1.
スケジューリング決定部30は、この重み係数に応じて残り時間Trstを分配し、得られるスループットにその重み係数が反映されるようにディスクアクセス要求の取得数Aiを決定する。具体的には、既出の第1の例と同様に、スケジューリング決定部30は、1回あたりの読み出し時間Tacs_i及びファイル内シーク時間Tsek_iを算出する。また、スケジューリング決定部30は、プロセス特性情報PROCを参照し、それぞれのプロセスP1〜P4に指定された重み係数Wiを取得する。この場合、ディスクアクセス要求の取得数Aiは、次の式(2)で与えられる。
The
実際には取得数Aiは整数である必要があるため、式(2)により求まる値の小数点以下を切り捨てることにより取得数Aiが決定される。尚、式(2)により求まる値が1未満となるプロセスがある場合、そのプロセスに関する取得数を1とし、代わりに他のプロセスに関する2以上の取得数から1だけ減算する。減算対象として取得数が最大であるプロセスを選択すると、当該プロセスに割り当てられるスループットの減少率が小さいため、影響を小さく抑えることができる。このような処理によっても全てのプロセスに関する取得数が1以上にならない場合、I/Oスケジューラ10はエラーを管理者に通知することもできる。
Actually, since the acquisition number Ai needs to be an integer, the acquisition number Ai is determined by rounding down the decimal point of the value obtained by the equation (2). When there is a process whose value obtained by the expression (2) is less than 1, the number of acquisitions related to that process is set to 1, and instead, 1 is subtracted from two or more acquisition numbers related to other processes. When the process with the maximum number of acquisitions is selected as the subtraction target, the reduction rate of the throughput allocated to the process is small, so that the influence can be suppressed small. If the number of acquisitions related to all processes does not become 1 or more by such processing, the I /
<第3の例>
要求スループットの重み付けは、上記重み係数に限られない。例えば、プロセスP1〜P4の中に、要求スループットが優先的に与えられる「優先プロセス」と、要求スループットがベストエフォートで与えられる「ベストエフォートプロセス」が混在する場合を考える。この場合、優先プロセスかベストエフォートプロセスかの区分けが、要求スループットの重み付けに相当することになる。
<Third example>
The weighting of the required throughput is not limited to the weighting factor. For example, let us consider a case where a “priority process” in which the requested throughput is given preferentially and a “best effort process” in which the requested throughput is given with the best effort are mixed in the processes P1 to P4. In this case, the classification between the priority process and the best effort process corresponds to the weighting of the requested throughput.
図12は、本例におけるプロセス特性情報PROCを示している。図12において、プロセス特性情報PROCは、プロセスP1〜P4のそれぞれに関するアクセス対象ファイルF1〜F4に加えて、重み付けパラメータを示している。本例では、重み付けパラメータは、各プロセスが優先プロセスかベストエフォートプロセスかを示す「クラス」と、優先プロセスに関する「要求スループット」と、ベストエフォートプロセスに関する要求スループットの「重み係数」とを含んでいる。優先プロセスに関する要求スループットは、優先的に確保されるべきスループットである。重み係数は、ベストエフォートプロセスのそれぞれに要求されるスループット間の比率である。 FIG. 12 shows the process characteristic information PROC in this example. In FIG. 12, the process characteristic information PROC indicates a weighting parameter in addition to the access target files F1 to F4 related to the processes P1 to P4, respectively. In this example, the weighting parameters include a “class” indicating whether each process is a priority process or a best effort process, a “request throughput” regarding the priority process, and a “weighting factor” of the request throughput regarding the best effort process. . The requested throughput related to the priority process is a throughput that should be secured with priority. The weighting factor is the ratio between the throughput required for each of the best effort processes.
スケジューリング決定部30は、この重み付けパラメータに応じて残り時間Trstを分配し、得られるスループットにその重み付けパラメータが反映されるようにディスクアクセス要求の取得数Aiを決定する。図13を参照して、本例におけるステップS350の処理を詳しく説明する。
The
(ステップS351)
スケジューリング決定部30は、プロセス特性情報PROCを参照し、まず優先プロセスkに関してディスクアクセス要求の取得数Akを決定する。ここで、添え字kは、プロセスP1〜P4に含まれる優先プロセスを示す。図12の例の場合、プロセスP1、P2が優先プロセスkである。プロセス特性情報PROCにおいて、優先プロセスkに指定された要求スループットはBkであるとする。また、優先プロセスkが1回のディスクアクセス要求によってアクセス対象ファイルから読み出すデータサイズはDacsであるとする。この1回の読み出しデータサイズDacsは、ユーザによって与えられてもよいし、システムで予め決まっていてもよい。この場合、スケジューリング決定部30は、次の式(3)に従って、優先プロセスkに関する取得数Akを算出する。
(Step S351)
The
式(3)において、分子は、要求ピリオドTprd内に優先プロセスkが要求するデータ量を表す。この要求データ量を1回の読み出しデータサイズDacsで割ることにより、要求スループットBkを実現するために必要な取得数Akを算出することができる。つまり、スケジューリング決定部30は、優先プロセスkに関して、要求スループットBkが得られるようにそれぞれの待ちキューからの取得数Akを決定する。尚、実際には取得数Akは整数である必要があるため、式(3)により求まる値の小数点以下を切り捨てることにより取得数Akが決定される。
In equation (3), the numerator represents the amount of data required by the priority process k within the required period Tprd. By dividing this required data amount by the read data size Dacs for one time, the number of acquisitions Ak necessary for realizing the required throughput Bk can be calculated. That is, the
(ステップS352)
次に、スケジューリング決定部30は、上記ステップS351で決定された取得数Akに基づいて、その取得数Akのディスクアクセス要求の処理に必要な時間を算出する。そして、スケジューリング決定部30は、算出された時間を残り時間Trstから引くことによって、新たな残り時間Trst’を算出する。具体的には、新たな残り時間Trst’は、次の式(4)で与えられる。
(Step S352)
Next, the
式(4)において、Tacs_k及びTsek_kはそれぞれ、優先プロセスkに関する1回あたりの読み出し時間及びファイル内シーク時間である。1回あたりの読み出し時間Tacs_k及びファイル内シーク時間Tsek_kは、既出の第1の例と同様に、アクセス時間情報ACSとシーク時間情報SEKを参照することによって算出可能である。 In Equation (4), Tacs_k and Tsek_k are a read time and a seek time within a file for the priority process k, respectively. The read time Tacs_k and in-file seek time Tsek_k per one time can be calculated by referring to the access time information ACS and seek time information SEK, as in the first example.
式(4)で示された処理によって、取得数Akのディスクアクセス要求の処理に必要な時間があらかじめ確保される。すなわち、要求ピリオドTprdにおいて優先プロセスkの要求スループットBkを実現するために必要な時間があらかじめ確保される。スケジューリング決定部30は、優先プロセスk用の時間をあらかじめ確保することにより、残り時間Trstを更新していると言える。そして、更新後の残り時間Trst’が、ベストエフォートプロセスに割り当て可能な時間となる。
By the process shown in the equation (4), the time necessary for processing the disk access request for the number of acquired Ak is secured in advance. That is, the time necessary for realizing the required throughput Bk of the priority process k in the required period Tprd is secured in advance. It can be said that the
(ステップS353)
後は、スケジューリング決定部30が、プロセス特性情報PROCを参照して、更新後の残り時間Trst’をベストエフォートプロセスj間で分配すればよい。ここで、添え字jは、プロセスP1〜P4に含まれるベストエフォートプロセスを示す。図12の例の場合、プロセスP3、P4がベストエフォートプロセスjである。ベストエフォートプロセスP3、P4に分配される時間に基づいて、残り時間Trst’内にそれぞれの待ちキューQ3、Q4から取り出すことができるディスクアクセス要求の数Ajを決定することができる。
(Step S353)
Thereafter, the
例えば図12に示されるように、ベストエフォートプロセスに対して要求スループットの重み係数が指定されている場合を考える。この場合、スケジューリング決定部30は、この重み係数に応じて残り時間Trst’を分配し、得られるスループットにその重み係数が反映されるように取得数Ajを決定する。具体的には、既出の第1の例と同様に、スケジューリング決定部30は、1回あたりの読み出し時間Tacs_j及びファイル内シーク時間Tsek_jを算出する。また、スケジューリング決定部30は、プロセス特性情報PROCを参照し、ベストエフォートプロセスjに指定された重み係数Wjを取得する。この場合、ベストエフォートプロセスjに関する取得数Ajは、次の式(5)で与えられる。
For example, as shown in FIG. 12, consider a case where a weighting factor for requested throughput is specified for the best effort process. In this case, the
式(5)は、既出の式(2)における残り時間Trstを更新後の残り時間Trst’で置換し、対象をベストエフォートプロセスjだけに限定したものに相当する。尚、実際には取得数Ajは整数である必要があるため、式(5)により求まる値の小数点以下を切り捨てることにより取得数Ajが決定される。 Equation (5) corresponds to a case where the remaining time Trst in the foregoing equation (2) is replaced with the updated remaining time Trst 'and the target is limited to only the best effort process j. Actually, since the acquisition number Aj needs to be an integer, the acquisition number Aj is determined by rounding down the decimal point of the value obtained by the equation (5).
このように、スケジューリング決定部30は、残り時間Trstを優先プロセスとベストエフォートプロセスのそれぞれに別々に分配し、取得数Ak、Ajを別々に算出する。取得数Ak、Ajに従えば、優先プロセスkに要求されるスループットが実現され、ベストエフォートプロセスjに指定された要求スループットの比率が実現される。すなわち、それぞれのプロセスに関して得られるスループットに重み付けが反映されるように、取得数Ak、Ajが決定されている。
As described above, the
以上に説明されたように、ステップS350では、スケジューリング決定部30は、残り時間TrstをプロセスP1〜P4間で適宜分配することによって、それぞれのプロセスP1〜P4に関するディスクアクセス要求の取得数Aiを決定することができる。
As described above, in step S350, the
ステップS310で決定された「順番」とステップS350で決定された「取得数Ai」が、要求ピリオドTprd内のスケジューリング規則を示す「スケジューリングパラメータ」となる。スケジューリング決定部30は、要求ピリオドTprd内に全プロセスP1〜P4が少なくとも1回ディスクアクセスを行い、且つ、プロセスP1〜P4のそれぞれに関するスループットの合計ができるだけ大きくなるように、スケジューリングパラメータを決定することができている。重み付けパラメータが与えられている場合には、スケジューリング決定部30は、それぞれのプロセスP1〜P4に関するスループットにその重み付けが反映されるようにスケジューリングパラメータを決定することができる。
The “order” determined in step S310 and the “number of acquisitions Ai” determined in step S350 become “scheduling parameters” indicating the scheduling rule in the request period Tprd. The
決定されたスケジューリングパラメータに従えば、全てのプロセスは所定の要求ピリオドTprd内に少なくとも1回ディスクアクセスを実行することができ、且つ、与えられた条件下でスループットは最大限大きくなる。つまり、アプリケーションのタイムアウト等の発生を防止しつつ、スループットを向上させることが可能となる。 According to the determined scheduling parameters, all processes can perform disk access at least once within a given request period Tprd, and throughput is maximized under given conditions. That is, it is possible to improve throughput while preventing occurrence of an application timeout or the like.
以上、本発明の実施の形態が添付の図面を参照することにより説明された。但し、本発明は、上述の実施の形態に限定されず、要旨を逸脱しない範囲で当業者により適宜変更され得る。 The embodiments of the present invention have been described above with reference to the accompanying drawings. However, the present invention is not limited to the above-described embodiments, and can be appropriately changed by those skilled in the art without departing from the scope of the invention.
1 計算機システム
2 処理装置
3 記憶装置
4 ディスク
5 入力装置
6 出力装置
10 I/Oスケジューラ
20 プロセスモニタ部
30 スケジューリング決定部
40 リクエスト選択部
PROC プロセス特性情報
LOC ファイル位置情報
SEK シーク時間情報
ACS アクセス時間情報
Ai スケジューリングパラメータ
Tprd 要求ピリオド
Trst 残り時間
DESCRIPTION OF
Claims (10)
前記スケジューリング処理は、
(A)前記複数のプロセスのそれぞれがアクセスするアクセス対象ファイルを示すプロセス特性情報、及び前記ディスクに記録されているファイルの位置を示すファイル位置情報を、記憶装置から読み出すステップと、
(B)前記複数のプロセスからのディスクアクセス要求を、複数の待ちキューのそれぞれに格納するステップと、
(C)前記プロセス特性情報及び前記ファイル位置情報を参照し、前記アクセス対象ファイルが前記ディスク上の並び順で順番にアクセスされるように、ディスクアクセス要求が取り出される前記複数の待ちキューの順番を決定するステップと、
(D)所定の時間内に前記複数のプロセスの全てが少なくとも1回ディスクアクセスを行うように、前記所定の時間内に前記複数の待ちキューのそれぞれから取り出されるディスクアクセス要求の数を決定するステップと、
(E)前記決定された順番及び数に従って、前記複数の待ちキューからディスクアクセス要求を取得し、取得したディスクアクセス要求を前記ディスクに送るステップと
を含む
I/Oスケジューラ。 An I / O scheduler that causes a computer to execute scheduling processing of a disk access request issued from each of the plurality of processes when a plurality of processes access the disk,
The scheduling process includes
(A) reading process characteristic information indicating an access target file accessed by each of the plurality of processes and file position information indicating a position of a file recorded on the disk from a storage device;
(B) storing disk access requests from the plurality of processes in each of a plurality of waiting queues;
(C) Referring to the process characteristic information and the file position information, the order of the plurality of wait queues from which disk access requests are taken out so that the access target file is sequentially accessed in the arrangement order on the disk. A step to determine;
(D) determining the number of disk access requests to be retrieved from each of the plurality of wait queues within the predetermined time period so that all of the plurality of processes perform disk access at least once within a predetermined time period; When,
(E) obtaining a disk access request from the plurality of waiting queues according to the determined order and number, and sending the obtained disk access request to the disk.
前記(A)ステップは、更に、前記ディスク上のシーク距離とシーク時間との対応関係を示すシーク時間情報を前記記憶装置から読み出すステップを含み、
前記(D)ステップは、
(D1)前記ファイル位置情報を参照し、前記決定された順番で前記アクセス対象ファイルに対してアクセスが発生した場合の前記アクセス対象ファイル間のシーク距離を算出するステップと、
(D2)前記シーク時間情報を参照して、前記算出されたシーク距離に対応するシーク時間を算出するステップと、
(D3)前記算出されたシーク時間を前記所定の時間から引くことにより、残り時間を算出するステップと、
(D4)前記残り時間を前記複数のプロセス間で分配することによって、前記残り時間内に前記複数の待ちキューのそれぞれから取り出されるディスクアクセス要求の数を決定するステップと
を含む
I/Oスケジューラ。 The I / O scheduler according to claim 1,
The step (A) further includes a step of reading seek time information indicating a correspondence relationship between a seek distance on the disk and a seek time from the storage device,
The step (D)
(D1) referring to the file position information, and calculating a seek distance between the access target files when the access target file is accessed in the determined order;
(D2) referring to the seek time information, calculating a seek time corresponding to the calculated seek distance;
(D3) calculating a remaining time by subtracting the calculated seek time from the predetermined time;
(D4) determining the number of disk access requests to be retrieved from each of the plurality of wait queues within the remaining time by distributing the remaining time among the plurality of processes.
前記(D4)ステップにおいて、前記ディスクアクセス要求の数は前記複数のプロセス間で均等になるように決定される
I/Oスケジューラ。 The I / O scheduler according to claim 2, wherein
In the step (D4), the number of disk access requests is determined to be equal among the plurality of processes. I / O scheduler.
前記プロセス特性情報は、更に、前記複数のプロセスのそれぞれに要求されるスループットの重み付けを指定する重み付けパラメータを示し、
前記(D4)ステップにおいて、前記重み付けが前記複数のプロセスのそれぞれに関するスループットに反映されるように、前記ディスクアクセス要求の数が決定される
I/Oスケジューラ。 The I / O scheduler according to claim 2, wherein
The process characteristic information further indicates a weighting parameter that specifies a weight of throughput required for each of the plurality of processes,
In the step (D4), the number of disk access requests is determined so that the weighting is reflected in the throughput related to each of the plurality of processes.
前記重み付けパラメータは、前記複数のプロセスのそれぞれに要求されるスループット間の比率を含み、
前記(D4)ステップにおいて、前記比率が前記複数のプロセスのそれぞれに関するスループットに反映されるように、前記ディスクアクセス要求の数が決定される
I/Oスケジューラ。 The I / O scheduler according to claim 4, wherein
The weighting parameter includes a ratio between throughput required for each of the plurality of processes;
In the step (D4), the number of disk access requests is determined so that the ratio is reflected in the throughput related to each of the plurality of processes.
前記複数のプロセスは、要求されるスループットが優先的に与えられる優先プロセスと、要求されるスループットがベストエフォートで与えられるベストエフォートプロセスとを含み、
前記重み付けパラメータは、前記複数のプロセスの各々が前記優先プロセスか前記ベストエフォートプロセスかを示すクラスを含み、
前記(D4)ステップは、
(D41)前記優先プロセスに関して、前記要求されるスループットが得られるように、前記複数の待ちキューのうち対応するものから取り出されるディスクアクセス要求の数を決定するステップと、
(D42)前記決定された数のディスクアクセス要求の処理に必要な時間を前記残り時間から引くことによって、前記残り時間を更新するステップと、
(D43)前記更新後の残り時間を前記ベストエフォートプロセス間で分配することによって、前記ベストエフォートプロセスに関して、前記複数の待ちキューのうち対応するものから取り出されるディスクアクセス要求の数を決定するステップと
を含む
I/Oスケジューラ。 The I / O scheduler according to claim 4, wherein
The plurality of processes include a priority process in which a required throughput is preferentially given, and a best effort process in which a required throughput is given at best effort,
The weighting parameter includes a class indicating whether each of the plurality of processes is the priority process or the best effort process;
The step (D4) includes
(D41) determining the number of disk access requests to be retrieved from the corresponding one of the plurality of waiting queues so that the required throughput is obtained with respect to the priority process;
(D42) updating the remaining time by subtracting the time required to process the determined number of disk access requests from the remaining time;
(D43) determining the number of disk access requests to be retrieved from the corresponding one of the plurality of waiting queues for the best effort process by distributing the updated remaining time among the best effort processes; I / O scheduler including
前記重み付けパラメータは、更に、前記ベストエフォートプロセスのそれぞれに要求されるスループット間の比率を含み、
前記(D43)ステップにおいて、前記比率が前記ベストエフォートプロセスのそれぞれに関するスループットに反映されるように、前記ディスクアクセス要求の数が決定される
I/Oスケジューラ。 The I / O scheduler according to claim 6, wherein
The weighting parameter further includes a ratio between throughput required for each of the best effort processes;
In the step (D43), the number of disk access requests is determined such that the ratio is reflected in the throughput for each of the best effort processes.
前記プロセス特性情報は、更に、前記複数のプロセスのそれぞれに要求されるスループットの重み付けを指定する重み付けパラメータを示し、
前記(D)ステップにおいて、前記所定の時間内に前記複数のプロセスの全てが少なくとも1回ディスクアクセスを行い、且つ、前記重み付けが前記複数のプロセスのそれぞれに関するスループットに反映されるように、前記所定の時間内に前記複数の待ちキューのそれぞれから取り出されるディスクアクセス要求の数が決定される
I/Oスケジューラ。 The I / O scheduler according to claim 1,
The process characteristic information further indicates a weighting parameter that specifies a weight of throughput required for each of the plurality of processes,
In the step (D), the predetermined process is performed so that all of the plurality of processes perform disk access at least once within the predetermined time period, and the weight is reflected in the throughput relating to each of the plurality of processes. The number of disk access requests to be fetched from each of the plurality of waiting queues within a predetermined time is determined. I / O scheduler.
(A)前記複数のプロセスのそれぞれがアクセスするアクセス対象ファイルを示すプロセス特性情報、及び前記ディスクに記録されているファイルの位置を示すファイル位置情報を、記憶装置から読み出すステップと、
(B)前記複数のプロセスからのディスクアクセス要求を、複数の待ちキューのそれぞれに格納するステップと、
(C)前記プロセス特性情報及び前記ファイル位置情報を参照し、前記アクセス対象ファイルが前記ディスク上の並び順で順番にアクセスされるように、ディスクアクセス要求が取り出される前記複数の待ちキューの順番を決定するステップと、
(D)所定の時間内に前記複数のプロセスの全てが少なくとも1回ディスクアクセスを行うように、前記所定の時間内に前記複数の待ちキューのそれぞれから取り出されるディスクアクセス要求の数を決定するステップと、
(E)前記決定された順番及び数に従って、前記複数の待ちキューからディスクアクセス要求を取得し、取得したディスクアクセス要求を前記ディスクに送るステップと
を含む
I/Oスケジューリング方法。 An I / O scheduling method for performing a scheduling process of a disk access request issued from each of the plurality of processes when a plurality of processes access the disk,
(A) reading process characteristic information indicating an access target file accessed by each of the plurality of processes and file position information indicating a position of a file recorded on the disk from a storage device;
(B) storing disk access requests from the plurality of processes in each of a plurality of waiting queues;
(C) Referring to the process characteristic information and the file position information, the order of the plurality of wait queues from which disk access requests are taken out so that the access target file is sequentially accessed in the arrangement order on the disk. A step to determine;
(D) determining the number of disk access requests to be retrieved from each of the plurality of wait queues within the predetermined time period so that all of the plurality of processes perform disk access at least once within a predetermined time period; When,
(E) acquiring disk access requests from the plurality of waiting queues according to the determined order and number, and sending the acquired disk access requests to the disk. An I / O scheduling method.
前記ディスクにアクセスする複数のプロセスを実行する処理装置と、
前記処理装置により実行され、前記複数のプロセスのそれぞれから発行されるディスクアクセス要求のスケジューリング処理を行うI/Oスケジューラと、
前記複数のプロセスのそれぞれがアクセスするアクセス対象ファイルを示すプロセス特性情報、及び前記ディスクに記録されているファイルの位置を示すファイル位置情報が格納される記憶装置と
を備え、
前記I/Oスケジューラは、
前記複数のプロセスからのディスクアクセス要求を、複数の待ちキューのそれぞれに格納し、
前記プロセス特性情報及び前記ファイル位置情報を参照し、前記アクセス対象ファイルが前記ディスク上の並び順で順番にアクセスされるように、ディスクアクセス要求が取り出される前記複数の待ちキューの順番を決定し、
所定の時間内に前記複数のプロセスの全てが少なくとも1回ディスクアクセスを行うように、前記所定の時間内に前記複数の待ちキューのそれぞれから取り出されるディスクアクセス要求の数を決定し、
前記決定された順番及び数に従って、前記複数の待ちキューからディスクアクセス要求を取得し、取得したディスクアクセス要求を前記ディスクに送る
計算機システム。 A disc,
A processing device for executing a plurality of processes for accessing the disk;
An I / O scheduler that is executed by the processing device and performs scheduling processing of a disk access request issued from each of the plurality of processes;
A storage device for storing process characteristic information indicating an access target file to be accessed by each of the plurality of processes, and file position information indicating a position of a file recorded on the disk, and
The I / O scheduler is
Store disk access requests from the plurality of processes in a plurality of wait queues,
Referring to the process characteristic information and the file position information, determine the order of the plurality of wait queues from which disk access requests are taken out so that the access target file is accessed in order in the arrangement order on the disk;
Determining the number of disk access requests to be retrieved from each of the plurality of wait queues within the predetermined time period so that all of the plurality of processes perform disk access at least once within a predetermined time period;
A computer system that acquires a disk access request from the plurality of waiting queues according to the determined order and number, and sends the acquired disk access request to the disk.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008040633A JP2009199367A (en) | 2008-02-21 | 2008-02-21 | Computer system, i/o scheduler and i/o scheduling method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008040633A JP2009199367A (en) | 2008-02-21 | 2008-02-21 | Computer system, i/o scheduler and i/o scheduling method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009199367A true JP2009199367A (en) | 2009-09-03 |
Family
ID=41142790
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008040633A Withdrawn JP2009199367A (en) | 2008-02-21 | 2008-02-21 | Computer system, i/o scheduler and i/o scheduling method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009199367A (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012505490A (en) * | 2009-10-26 | 2012-03-01 | ソニー コンピュータ エンタテインメント アメリカ リミテッド ライアビリテイ カンパニー | File I / O scheduling using instant chunking of data |
JP2012216004A (en) * | 2011-03-31 | 2012-11-08 | Panasonic Healthcare Co Ltd | Input-output control equipment |
JP2015130095A (en) * | 2014-01-08 | 2015-07-16 | キヤノン株式会社 | Information processing apparatus, information processing method, and computer program |
WO2017168814A1 (en) * | 2016-03-28 | 2017-10-05 | 株式会社日立産機システム | Controller apparatus and task execution management method for controller apparatus |
-
2008
- 2008-02-21 JP JP2008040633A patent/JP2009199367A/en not_active Withdrawn
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012505490A (en) * | 2009-10-26 | 2012-03-01 | ソニー コンピュータ エンタテインメント アメリカ リミテッド ライアビリテイ カンパニー | File I / O scheduling using instant chunking of data |
JP2012216004A (en) * | 2011-03-31 | 2012-11-08 | Panasonic Healthcare Co Ltd | Input-output control equipment |
JP2015130095A (en) * | 2014-01-08 | 2015-07-16 | キヤノン株式会社 | Information processing apparatus, information processing method, and computer program |
WO2017168814A1 (en) * | 2016-03-28 | 2017-10-05 | 株式会社日立産機システム | Controller apparatus and task execution management method for controller apparatus |
JP2017182105A (en) * | 2016-03-28 | 2017-10-05 | 株式会社日立産機システム | Controller device and method for managing tasks of controller device |
TWI646412B (en) * | 2016-03-28 | 2019-01-01 | 日立產機系統股份有限公司 | Controller device and task execution management method of controller device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10831547B2 (en) | Accelerator control apparatus for analyzing big data, accelerator control method, and program | |
US8549526B2 (en) | Access control apparatus and access control method | |
US9477601B2 (en) | Apparatus and method for determining a sector division ratio of a shared cache memory | |
JP4621786B2 (en) | Information processing apparatus, parallel processing optimization method, and program | |
JP2020135499A (en) | Data processing device, storage device and prefetch method | |
JP6106028B2 (en) | Server and cache control method | |
US8589644B2 (en) | Non-transitory medium, access control method, and information processing apparatus | |
US8032888B2 (en) | Method and system for scheduling a thread in a multiprocessor system | |
JP2010152571A (en) | Raid driver, electronic equipment including the same, and access request arbitration method for raid | |
JP6885193B2 (en) | Parallel processing device, job management method, and job management program | |
CN114615338A (en) | Micro-service deployment method and device based on layer sharing in edge environment | |
JP2009199367A (en) | Computer system, i/o scheduler and i/o scheduling method | |
US8775767B2 (en) | Method and system for allocating memory to a pipeline | |
US9465745B2 (en) | Managing access commands by multiple level caching | |
US20170024147A1 (en) | Storage control device and hierarchized storage control method | |
CN105574008B (en) | Task scheduling method and device applied to distributed file system | |
JP5158576B2 (en) | I / O control system, I / O control method, and I / O control program | |
JP6194875B2 (en) | Cache device, cache system, cache method, and cache program | |
JP6848278B2 (en) | Storage management device, performance adjustment method and performance adjustment program | |
JP6816824B2 (en) | Distributed systems, data management devices, data management methods, and programs | |
JP6488962B2 (en) | Cache control device, cache control method, and cache control program | |
JP6901685B2 (en) | Generation program, generation method, and information processing device | |
JP6200100B2 (en) | Computer system | |
JP5791478B2 (en) | Information processing device | |
Herodotou et al. | Cost-based Data Prefetching and Scheduling in Big Data Platforms over Tiered Storage Systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20110510 |