JP2015130096A - Information processing apparatus, information processing method, and computer program - Google Patents
Information processing apparatus, information processing method, and computer program Download PDFInfo
- Publication number
- JP2015130096A JP2015130096A JP2014001526A JP2014001526A JP2015130096A JP 2015130096 A JP2015130096 A JP 2015130096A JP 2014001526 A JP2014001526 A JP 2014001526A JP 2014001526 A JP2014001526 A JP 2014001526A JP 2015130096 A JP2015130096 A JP 2015130096A
- Authority
- JP
- Japan
- Prior art keywords
- storage device
- scheduler
- information
- information processing
- processing apparatus
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 53
- 238000004590 computer program Methods 0.000 title claims description 21
- 238000003672 processing method Methods 0.000 title claims description 4
- 238000000034 method Methods 0.000 description 19
- 238000001514 detection method Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000000454 anti-cipatory effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000013403 standard screening design Methods 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
本発明は、情報処理装置、情報処理方法及びコンピュータプログラムに関する。 The present invention relates to an information processing apparatus, an information processing method, and a computer program.
パーソナルコンピュータに代表される情報処理装置においては、様々な種類のコンピュータプログラムが用いられるようになってきている。例えば、データ入出力のスループットを重視するものや、一定時間内でデータ入出力が終了することを期待するものなど、二次記憶装置に入出力を行う様々なコンピュータプログラムがある。 In an information processing apparatus represented by a personal computer, various types of computer programs have been used. For example, there are various computer programs that perform input / output to / from the secondary storage device, such as those that emphasize data input / output throughput and those that expect data input / output to be completed within a certain time.
このような多様化したコンピュータプログラムに対し、多くのシステムでは複数のI/Oスケジューラを備えるようになった。I/Oスケジューラとは、二次記憶装置に対して入出力操作をどの様に送信するのかを決定する仕組みである。 In response to such diversified computer programs, many systems have a plurality of I / O schedulers. The I / O scheduler is a mechanism that determines how input / output operations are transmitted to the secondary storage device.
このI/Oスケジューラは、システム起動時あるいは二次記憶装置装着時に二次記憶装置毎に設定されている。 This I / O scheduler is set for each secondary storage device when the system is started or when the secondary storage device is mounted.
特許文献1には、二次記憶装置のアクセスパターン毎に入出力操作処理の前段階のキューを持ち、二次記憶装置へのアクセスが有るたびにそのパターンを解析して、入出力操作をシステム内の各キューに投入することが開示されている。その後、特許文献1に開示されている技術においては、二次記憶装置が、一定時間ごとに各キューの格納状況に応じてスケジューリングを実施する。 In Patent Document 1, each access pattern of the secondary storage device has a queue in the previous stage of input / output operation processing, and the input / output operation is analyzed in the system by analyzing the pattern every time the secondary storage device is accessed. It is disclosed that it is put into each queue. Thereafter, in the technique disclosed in Patent Document 1, the secondary storage device performs scheduling according to the storage status of each queue at regular intervals.
二次記憶装置には、その種類や性能といった特徴に適したI/Oスケジューラが存在する。 The secondary storage device has an I / O scheduler suitable for characteristics such as type and performance.
しかし、特許文献1に開示されている技術では、二次記憶装置それぞれの種類・性能などの情報を考慮することはしておらず、二次記憶装置それぞれに適したI/Oスケジューラの設定を行うことは出来ない。そのため、二次記憶装置の種類によっては、I/O処理の低速化や非効率なブロック割り当てが発生する可能性があった。本発明は、上記課題を鑑みてなされたものであり、複数の記憶装置に対してデータの入出力要求を行うことが可能な情報処理装置において、記憶装置それぞれに適したI/Oスケジューラの設定を行うことを目的とする。 However, the technology disclosed in Patent Document 1 does not consider information such as the type and performance of each secondary storage device, and sets an I / O scheduler suitable for each secondary storage device. I can't do it. Therefore, depending on the type of the secondary storage device, there is a possibility that the I / O processing may be slowed down or inefficient block allocation may occur. The present invention has been made in view of the above problems, and in an information processing apparatus capable of making a data input / output request to a plurality of storage devices, setting an I / O scheduler suitable for each storage device The purpose is to do.
上記課題を解決するために、本発明は、複数の記憶装置に対してデータの入出力要求を行うことが可能な情報処理装置であって、前記複数の記憶装置の内、データの入出力要求を行う対象の記憶装置の情報を取得する取得手段と、前記取得手段で取得された記憶装置の情報に応じて、前記データの入出力要求を行う対象の記憶装置に対するI/Oスケジューラを設定する設定手段と、を有することを特徴とする。 In order to solve the above problems, the present invention provides an information processing apparatus capable of making a data input / output request to a plurality of storage devices, wherein the data input / output request among the plurality of storage devices. An acquisition unit that acquires information on a storage device that is a target to be executed, and an I / O scheduler for the target storage device that performs the data input / output request is set according to the information on the storage device acquired by the acquisition unit And setting means.
本発明によれば、複数の記憶装置に対してデータの入出力要求を行うことが可能な情報処理装置において、記憶装置それぞれに適したI/Oスケジューラの設定を行うことが出来る。 According to the present invention, in an information processing apparatus capable of making a data input / output request to a plurality of storage devices, an I / O scheduler suitable for each storage device can be set.
(I/Oスケジューラの概略)
まず、I/Oスケジューラの概略について説明する。I/Oスケジューラは、コンピュータプログラムが入出力を実施する際に動作するものである。
(Outline of I / O scheduler)
First, an outline of the I / O scheduler will be described. The I / O scheduler operates when a computer program performs input / output.
コンピュータプログラムが入出力を実施すると、最初に、システムに備わるファイルシステムで入出力処理が実施される。コンピュータファイルシステムは、受け取った入出力操作に含まれる入出力対象のファイル名と入出力データ、サイズ、ファイルのオフセットを元に、二次記憶装置のどの位置にファイルを入出力するかを決定する。 When a computer program performs input / output, first, input / output processing is performed in a file system provided in the system. The computer file system determines the input / output position of the file on the secondary storage device based on the input / output target file name, input / output data, size, and file offset included in the received input / output operation. .
入出力の位置を決定した後、ファイルシステムは、決定した入出力位置と入出力データ、サイズを、入出力要求として纏めてI/Oスケジューラに送信する。 After the input / output position is determined, the file system collects the determined input / output position, input / output data, and size as an input / output request and transmits it to the I / O scheduler.
I/Oスケジューラは、この入出力要求をスケジューリングして、デバイスドライバに入出力要求を送信する。スケジューリングの方法は、I/Oスケジューラの種類によって異なる。I/Oスケジューラの種類には、noopスケジューラ、anticipatoryスケジューラ、cfqスケジューラなどがある。 The I / O scheduler schedules the input / output request and transmits the input / output request to the device driver. The scheduling method differs depending on the type of I / O scheduler. The types of I / O schedulers include a noop scheduler, an antipathy scheduler, and a cfq scheduler.
noopスケジューラは、I/Oスケジューラに到達した入出力要求を、そのままデバイスドライバに送信するスケジューラである。 The noop scheduler is a scheduler that transmits the input / output request that has reached the I / O scheduler to the device driver as it is.
anticipatoryスケジューラは、将来の入出力要求を予測したスケジューリングを行うスケジューラである。予測方法としては、次の入出力要求が、前の入出力要求に近いディスクブロックへの要求だと予想して、次のブロックへの入出力要求をアプリケーションに出させる様に、強制的に遅延を入れるものである。 The antipatient scheduler is a scheduler that performs scheduling predicting future input / output requests. As a prediction method, the next I / O request is predicted to be a request for a disk block close to the previous I / O request, and the application is forced to delay the I / O request for the next block. It is a thing to put.
cfqスケジューラは、全てのコンピュータプログラムにI/Oキューを用意し、入出力要求を各I/Oキューに均等に入れる様にして、各コンピュータプログラム間で均等な入出力を実現するスケジューラである。 The cfq scheduler is a scheduler that implements equal input / output between computer programs by preparing I / O queues for all computer programs and equally putting input / output requests into each I / O queue.
本実施例においては、使用するI/Oスケジューラは、システム起動時あるいは二次記憶装置装着時にシステムによって各二次記憶装置それぞれに設定される。設定後、システムがそのシステムのデフォルトとなるI/Oスケジューラの初期化を行い、二次記憶装置とそのI/Oスケジューラを関連付ける。 In this embodiment, the I / O scheduler to be used is set in each secondary storage device by the system when the system is started or when the secondary storage device is mounted. After setting, the system initializes an I / O scheduler that is the default of the system, and associates the secondary storage device with the I / O scheduler.
これにより、二次記憶装置にアクセスした際に、関連付けられたI/Oスケジューラが呼び出されるようになる。I/Oスケジューラは、コンピュータプログラムが仮想ファイルシステムにあるI/Oスケジューラを設定するファイルにI/Oスケジューラを書込むことで変更できる。 Thus, when the secondary storage device is accessed, the associated I / O scheduler is called. The I / O scheduler can be changed by writing the I / O scheduler to a file in which the computer program sets the I / O scheduler in the virtual file system.
設定するファイルに書込みが行われると、システムが新しく使用するI/Oスケジューラの初期化を行い、二次記憶装置と新しいI/Oスケジューラを関連づける。その後、古いI/Oスケジューラを停止する。以上の処理により、新しいI/Oスケジューラが呼び出されるようになる。 When the file to be set is written, the system initializes a new I / O scheduler to be used, and associates the secondary storage device with the new I / O scheduler. Thereafter, the old I / O scheduler is stopped. Through the above processing, a new I / O scheduler is called.
従来のシステムでは、システムがそのシステムのデフォルトとなるI/Oスケジューラを設定していた。この方法では、各二次記憶装置に適したI/Oスケジューラが設定されない可能性が有った。 In a conventional system, the system sets an I / O scheduler that is the default of the system. In this method, there is a possibility that an I / O scheduler suitable for each secondary storage device may not be set.
以下、図面を参照して第一実施例を詳細に説明する。本実施例では、システム起動時あるいは二次記憶装置時に、その二次記憶装置の情報を取得し、その情報に適したI/Oスケジューラを設定する。 Hereinafter, the first embodiment will be described in detail with reference to the drawings. In this embodiment, at the time of system startup or secondary storage device, information on the secondary storage device is acquired and an I / O scheduler suitable for the information is set.
(本実施例における情報処理装置の構成)
図1は、本実施例の情報処理装置の構成を示すブロック図である。
(Configuration of information processing apparatus in this embodiment)
FIG. 1 is a block diagram illustrating a configuration of the information processing apparatus according to the present exemplary embodiment.
同図において、100は情報処理装置である。101はCPU(Central Processing Unit)である。102はRAM(Random Access Memory)などの一次記憶装置である。
In the figure,
情報処理装置100においては、通常1コアのCPU101であれば複数のコンピュータプログラムのうちの1つを処理して、処理は一定期間ごとに他のコンピュータプログラムに切り替えて実施される。CPU101に、演算処理等を行うプロセッサコアを複数備えても良いし、CPU101を情報処理装置100に複数備えても良い。一次記憶装置102は、主に二次記憶装置から読込んだプログラムやデータを保持する。一次記憶装置102は、DDR SDRAM等の揮発性メモリとしてのDRAMや、ブートプログラムを保持する不揮発性メモリとしてのマスクROMやフラッシュメモリ等を備えている。
In the
103はI/Oコントローラ103である。104はHDD(Hard Disk Drive)やSSD(Solid State Drive)、フラッシュメモリなどを備える二次記憶装置である。SSDは不揮発性のフラッシュメモリを内蔵する不揮発性の記憶装置であり、HDDと同等の機能を実現可能に構成されている。
ファイルやディレクトリ等のファイルシステムに関わるデータは、二次記憶装置104に記録される。
Data related to the file system such as files and directories is recorded in the
なお、二次記憶装置104にあるファイルの操作は、CPU101が一次記憶装置102上のプログラムを実行することで実現される、オペレーティングシステムからI/Oコントローラ103に対して、READ要求、WRITE要求を行うことで実現する。
The operation of the file in the
(本実施例における情報処理装置の機能構成)
図2は、本実施例に係る情報処理装置の機能構成を示すブロック図である。同図において、情報処理装置100は、複数種類の二次記憶装置104に対して出力要求が可能であり、1つ以上の二次記憶装置104を搭載しているものとする。
(Functional configuration of information processing apparatus in this embodiment)
FIG. 2 is a block diagram illustrating a functional configuration of the information processing apparatus according to the present embodiment. In the figure, it is assumed that the
201は、二次記憶装置104の情報とI/Oスケジューラとの対応付けを設定する、情報対応付け設定部である。情報対応付け設定部201では、二次記憶装置104の情報とそれに対応付けるI/Oスケジューラを、I/Oスケジューラの情報対応付けファイル202に設定する。例えば、二次記憶装置104がSSDの場合には、対応するI/Oスケジューラはnoopであると設定する。このI/Oスケジューラの情報対応付けファイル202は、一次記憶装置102のメモリ上に作成しても良いし、二次記憶装置104に作成しても良い。
An information
203は、情報処理装置100起動時あるいは二次記憶装置104の装着時に、その二次記憶装置104の情報を取得する、記憶装置特徴検出部である。
記憶装置特徴検出部203は、上述の通り、記憶装置の情報を取得する取得手段として機能し、情報処理装置100起動時に、情報処理装置100に装着されている二次記憶装置104の認識を行う。二次記憶装置104の認識をするためには、まず、情報処理装置100に接続された二次記憶装置104のハードウェア情報の取得を行う。PCI(Peripheral Components Interconnect Bus)やUSB(Universal Serial Bus)以降の最近のバスやデバイスでは、統一されたIDを使用するようになっている。記憶装置特徴検出部203は、情報処理装置100に接続された二次記憶装置104であれば、ハードウェア情報を取得して、このIDを取得できる。また、情報処理装置100で利用可能な二次記憶装置104のIDも、情報処理装置100内の一次記憶装置102に記録されている。よって、ハードウェア情報からIDを取得した後、そのIDと情報処理装置100で利用可能な二次記憶装置104のIDを照合し、利用可能な二次記憶装置104であるかの認識を行う。その後、認識した二次記憶装置104の種類、性能といった情報を検出する。例えば、二次記憶装置104の種類は、ハードウェア情報から取得することができるHDD、SSDといった種類の情報である。性能は、読み書き性能の測定を実施する測定プログラムを実行して、シーケンシャルライトでのデータ転送速度などの結果を取得する。また、記憶装置特徴検出部203は、情報処理装置100起動後にUSBなどで外付けの二次記憶装置104が装着された場合にも、その二次記憶装置104の認識を行う。この場合、その二次記憶装置104が装着された時に、ハードウェア情報を取得して、利用可能な二次記憶装置104であるかの識別を行う。そして、利用可能な二次記憶装置104であれば、その二次記憶装置104の種類、性能といった情報を検出する。
As described above, the storage device
記憶装置情報検出部203実行後に、I/Oスケジューラ設定部204を実行する。I/Oスケジューラ設定部204は、I/Oスケジューラ特徴対応付けファイル202から、記憶装置特徴検出部203で取得した二次記憶装置104の特徴を探索し、認識された二次記憶装置104で使用するI/Oスケジューラを取得する。その後、取得したI/Oスケジューラを二次記憶装置104に設定する。そして、設定した二次記憶装置104とI/Oスケジューラの組み合わせの情報を、I/Oスケジューラ管理情報ファイル205に記録する。このI/Oスケジューラ管理情報ファイル205は、一次記憶装置102のメモリ上に作成しても良いし、二次記憶装置104に作成しても良い。
After execution of the storage device
I/Oスケジューラ処理部206は、CPU101が一次記憶装置102上のコンピュータプログラムを実行することで実現されるデータ入出力のスケジューリングを行う。
The I / O
データの入出力では、まず、二次記憶装置104に含まれる管理領域から、入出力対象のファイル名を検索する。この管理領域は、二次記憶装置104の固定領域に記録されており、この領域にはファイル名と実態の記録セクタ位置が記録されている。ファイル名から記録セクタ位置を特定すると、入出力操作に含まれるファイルのオフセットからファイル内のどの位置を入出力するかを決定する。そして、決定したセクタ位置、入出力する二次記憶装置104、入出力の種類(READまたはWRITE)、入出力するサイズ、入出力するデータの開始位置を一つの入出力要求に纏めて、I/Oスケジューラ処理部206に送信する。
In data input / output, first, a file name to be input / output is searched from a management area included in the
I/Oスケジューラ処理部206は、送られてきた入出力要求を受け取り、その入出力要求のデータから入出力対象の二次記憶装置104を選択する。その後、I/Oスケジューラ管理情報ファイル205を読込み、入出力対象の二次記憶装置104に設定されているI/Oスケジューラを取得する。そして、I/Oスケジューラ処理部206は、取得したI/Oスケジューラを使用して、入出力要求をスケジューリングする。
The I / O
次に、図3〜図7を用いて、本実施例の情報処理装置100による具体的な処理手順について説明する。
Next, a specific processing procedure performed by the
まず、図3を用いて、本実施例におけるプログラムが二次記憶装置104の情報と対応するI/Oスケジューラの対応付けを設定する(対応情報への書き込み処理)処理手順について説明する。 First, with reference to FIG. 3, a processing procedure in which the program according to the present embodiment sets the association of the I / O scheduler corresponding to the information in the secondary storage device 104 (write processing to the correspondence information) will be described.
図3は情報処理装置100において、二次記憶装置104の情報と対応するI/Oスケジューラの対応付けを設定するフローチャートである。
FIG. 3 is a flowchart for setting the association between the information in the
(二次記憶装置104の情報とI/Oスケジューラとの対応付けの設定)
(ステップS300)ステップS300では、CPU101が二次記憶装置104の情報と情報処理装置100に備わるI/Oスケジューラの組み合わせを指定する。組み合わせの指定後、ステップS301に移る。尚、本ステップにおける組み合わせの指定は、入力デバイスを介してのユーザからの指示に基づき行っても良い。
(Setting of correspondence between information in
(Step S300) In step S300, the
(ステップS301)ステップS301では、CPU101が二次記憶装置104の情報とI/Oスケジューラの組み合わせをI/Oスケジューラ対応付けファイル202に書込む。具体的には、まず、CPU101が、一次記憶装置102にI/Oスケジューラ対応付けファイル202を作成する。そして、CPU101は、二次記憶装置104の情報とI/Oスケジューラの組み合わせを、I/Oスケジューラ対応付けファイル202に書込む。以上の処理によって、I/Oスケジューラ対応付けファイル202を作成することが出来る。
(Step S301) In step S301, the
このI/Oスケジューラ対応付けファイル202の内容を、図4を用いて説明する。
The contents of the I / O
図4は、I/Oスケジューラ対応付けファイル202の詳細を示す概念図である。
FIG. 4 is a conceptual diagram showing details of the I / O
同図において、状態400では、二次記憶装置104の情報とI/Oスケジューラの組み合わせを示す。状態400では、二次記憶装置104の種類がSSDの場合は、I/Oスケジューラはnoopが対応する。二次記憶装置104の種類がHDDの場合は、データ転送速度(シーケンシャルライト)で判断する。すなわち、二次記憶装置104のデータ転送速度(シーケンシャルライト)が50MBytes/sec未満の時はanticipatory、50MBytes/sec以上の時はcfqが対応する。
In the figure, a
また、CPU101は、I/Oスケジューラ対応付けファイル202を二次記憶装置104に作成しても良い。この場合、CPU101とI/Oコントローラ103の協働によって、二次記憶装置104の情報とI/Oスケジューラの組み合わせをI/Oスケジューラ対応付けファイル202に書込む。
Further, the
(二次記憶装置104とI/Oスケジューラとの対応付けの設定)
次に、図5を用いて、本実施例におけるコンピュータプログラムが二次記憶装置104の情報を検出し、I/Oスケジューラを設定する処理手順について説明する。図5は、情報処理装置100において、二次記憶装置104の情報を検出し、検出した情報に基づきI/Oスケジューラの設定を行うフローチャートである。
(Setting of association between
Next, a processing procedure in which the computer program according to the present embodiment detects information in the
(ステップS500)ステップS500では、CPU101が情報処理装置100に備わる二次記憶装置104を認識する。そして、ステップS501に移る。
(Step S500) In step S500, the
(ステップS501)ステップS501では、CPU101が認識した二次記憶装置104の種類、性能といった情報を検出する。そして、ステップS502に移る。
(Step S501) In step S501, information such as the type and performance of the
(ステップS502)ステップS502では、CPU101がI/Oスケジューラ対応付けファイル202から、検出した二次記憶装置104の情報を探索し、その情報に対応するI/Oスケジューラを取得する。そして、ステップS503に移る。
(Step S502) In step S502, the
(ステップS503)ステップS503では、CPU101がステップS502で取得したI/Oスケジューラを二次記憶装置104に設定する。情報処理装置100では、二次記憶装置104に対して入出力要求が発生し、その入出力要求をI/Oスケジューラに送信した場合、その二次記憶装置104に関連付けられているI/Oスケジューラのモジュールが呼び出され、実行される。そのため、ステップS502で選択したI/Oスケジューラのモジュールが呼び出される様に設定する。そして、ステップS504に移る。
(Step S503) In step S503, the
(ステップS504)ステップS504では、CPU101が、二次記憶装置104と設定したI/Oスケジューラの組み合わせの情報を、I/Oスケジューラ管理情報ファイル205に記録する。
(Step S504) In step S504, the
図6は、I/Oスケジューラ管理情報ファイル205の詳細を示す概念図である。
FIG. 6 is a conceptual diagram showing details of the I / O scheduler
図6において、状態600では、二次記憶装置104とI/Oスケジューラの組み合わせを示す。状態600では、デバイスAのI/Oスケジューラはnoopであり、デバイスBのI/Oスケジューラはcfqである。
In FIG. 6, a
(本実施例におけるI/Oスケジューラの処理)
次に、図7を用いて、本実施例におけるプログラムがデータ入出力を行った時に、I/OスケジューラでI/O処理を行う処理手順について説明する。図7は情報処理装置100において、I/OスケジューラでI/O処理を実施するフローチャートである。
(Processing of the I / O scheduler in this embodiment)
Next, a processing procedure for performing an I / O process by the I / O scheduler when the program according to this embodiment performs data input / output will be described with reference to FIG. FIG. 7 is a flowchart for performing I / O processing by the I / O scheduler in the
(ステップS700)ステップS700では、CPU101がファイルへのデータ入出力操作を開始する。データ入出力は、ファイルからデータを読込む場合と、ファイルにデータを書込む場合の2通りが存在する。ファイルからデータを読込む場合は、読込むファイルの領域と読込むサイズを指定して、データ読込みを開始する。ファイルにデータを書込む場合は、書込むファイルの領域、書込むデータ、書込むデータのサイズを指定して、データ書込みを開始する。そして、ステップS701に移る。
(Step S700) In step S700, the
(ステップS701)ステップS701では、CPU101が、ステップS700で指定したファイルやサイズを、入出力要求という形に纏めてI/Oスケジューラに送信する。具体的には、まず、入出力対象の二次記憶装置104に含まれる管理領域から、入出力対象のファイル名を検索する。そして、ファイル名から記録セクタ位置を特定すると、入出力操作に含まれるファイルのオフセットからファイル内のどの位置を入出力するかを決定する。その後、決定したセクタ位置、入出力する二次記憶装置104、入出力の種類、入出力するサイズ、入出力するデータの開始位置を一つの入出力要求に纏めて、I/Oスケジューラに送信する。そして、ステップS702に移る。
(Step S701) In step S701, the
(ステップS702)ステップS702では、CPU101がI/Oスケジューラで入出力要求を受け取り、CPU101が二次記憶装置104に関連付けられているI/Oスケジューラを使用して、入出力要求をスケジューリングする。受信した入出力要求には、入出力する二次記憶装置104が含まれている。
(Step S702) In step S702, the
(ステップ703)ステップS703では、CPU101がI/Oスケジューラ管理情報ファイル205から、入出力対象の二次記憶装置104を探索し、その入出力対象の二次記憶装置104に設定されているI/Oスケジューラを取得する。そして、取得したI/Oスケジューラを使用して、入出力要求をスケジューリングする。
(Step 703) In step S703, the
以上の様に、本実施例では、まず、図3のフローで示した通り、プログラムが情報対応付け設定部201を実行して、記憶装置の情報とそれに対応付けるI/OスケジューラをI/Oスケジューラ対応付けファイル202に設定する。
As described above, in this embodiment, first, as shown in the flow of FIG. 3, the program executes the information
そして、図5のフローで示した通り、情報処理装置100起動時あるいは二次記憶装置104装着時に、コンピュータプログラムが記憶装置情報検出部203を実行して、二次記憶装置104の情報を検出する。そして、コンピュータプログラムがI/Oスケジューラ設定部204を実行して、I/Oスケジューラ対応付けファイル202を読込む。このI/Oスケジューラ対応付けファイル202から、検出した二次記憶装置104の情報を探索し、設定するI/Oスケジューラを選択する。 設定するI/Oスケジューラを選択後、I/Oスケジューラ設定部204は二次記憶装置104に選択したI/Oスケジューラを設定する。そして、I/Oスケジューラ管理情報ファイル205に、設定した二次記憶装置104とI/Oスケジューラの組み合わせを記録する。
Then, as shown in the flow of FIG. 5, when the
その後、図7のフローで示した通り、コンピュータプログラムがデータの入出力操作を開始する。データの入出力操作では、指定されたファイル名、ファイルのオフセットを元に二次記憶装置104内のどの位置を入出力するかを決定する。そして、決定した位置、入出力対象の二次記憶装置104、入出力の種類、入出力するサイズ、入出力するデータの開始位置を一つの入出力要求に纏めて、I/Oスケジューラに送信する。送信後、I/Oスケジューラ処理部206を実行する。I/Oスケジューラ処理部206は、I/Oスケジューラ管理情報ファイル205を読込み、入出力対象の二次記憶装置104に設定されているI/Oスケジューラを取得する。そして、取得したI/Oスケジューラを使用して、入出力要求をスケジューリングする。
Thereafter, as shown in the flow of FIG. 7, the computer program starts data input / output operation. In the data input / output operation, a position in the
これにより、二次記憶装置104について、二次記憶装置104毎に適したI/Oスケジューラに切り替わる為、I/O処理の高速化と効率的なブロック割り当てが実現する。例えば、noopスケジューラは、入出力要求を溜めず、即座にデバイスドライバに渡すため、シーク時間が一定のSSDや、オペレーティングシステムよりも上手くスケジューリングできるRAIDに有効である。
As a result, the
尚、anticipatoryスケジューラは、次の入出力要求は、前の入出力要求に近いディスクブロックへの要求だと予想して、次のブロックへの入出力要求をアプリに出させる様に、強制的に遅延を入れるため、低速なHDDに有効である。 The anticipatory scheduler expects the next I / O request to be a request for a disk block close to the previous I / O request, and forces the app to issue an I / O request to the next block. Since a delay is added, it is effective for a low-speed HDD.
即ち、上述した実施例の機能を実現するコンピュータプログラムを、ネットワークまたは各種記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータが、コンピュータが読み取り可能なコンピュータプログラムを読みだして実行する処理である。 That is, a computer program that realizes the functions of the above-described embodiments is supplied to a system or apparatus via a network or various storage media. The computer of the system or apparatus reads and executes a computer program that can be read by the computer.
コンピュータプログラムを供給するための記憶媒体としては、例えば、光ディスク、磁気ディスク、光磁気ディスク、磁気テープ、不揮発性のメモリカードなどを用いることが出来る。これらの記憶媒体は、上記実施例の機能を実現する二次記憶装置としても用いることが出来る。 As a storage medium for supplying the computer program, for example, an optical disk, a magnetic disk, a magneto-optical disk, a magnetic tape, a nonvolatile memory card, or the like can be used. These storage media can also be used as a secondary storage device that implements the functions of the above embodiments.
101 CPU
102 一次記憶装置
103 I/Oコントローラ
104 二次記憶装置
101 CPU
102 Primary storage device 103 I /
Claims (10)
前記複数の記憶装置の内、データの入出力要求を行う対象の記憶装置の情報を取得する取得手段と、
前記取得手段で取得された記憶装置の情報に応じて、前記データの入出力要求を行う対象の記憶装置に対するI/Oスケジューラを設定する設定手段と、を有することを特徴とする情報処理装置。 An information processing apparatus capable of making data input / output requests to a plurality of storage devices,
An obtaining unit for obtaining information of a storage device to which a data input / output request is made, among the plurality of storage devices;
An information processing apparatus comprising: a setting unit configured to set an I / O scheduler for a storage device to which the data input / output request is made according to information on the storage device acquired by the acquisition unit.
前記設定手段は、前記対応情報に基づき、前記データの入出力要求を行う対象の記憶装置に対するI/Oスケジューラを設定することを特徴とする請求項1に記載の情報処理装置。 Holding means for holding correspondence information between information of each of the plurality of storage devices and the I / O scheduler;
The information processing apparatus according to claim 1, wherein the setting unit sets an I / O scheduler for a storage device to which the data input / output request is made based on the correspondence information.
前記設定手段は、前記取得手段で取得された記憶装置の種類に応じて、前記データの入出力要求を行う対象の記憶装置に対するI/Oスケジューラを設定することを特徴とする請求項1乃至6のいずれか1項に記載の情報処理装置。 The acquisition unit acquires the type of the storage device as information on a storage device to which the data input / output request is made,
7. The setting unit sets an I / O scheduler for a target storage device to which the data input / output request is made according to the type of the storage device acquired by the acquisition unit. The information processing apparatus according to any one of the above.
前記設定手段は、前記取得手段で取得された記憶装置の性能に応じて、前記データの入出力要求を行う対象の記憶装置に対するI/Oスケジューラを設定することを特徴とする請求項1乃至7のいずれか1項に記載の情報処理装置。 The acquisition means acquires the performance of the storage device as information on a storage device to which the data input / output request is made,
8. The setting unit sets an I / O scheduler for a target storage device that performs a data input / output request according to the performance of the storage device acquired by the acquisition unit. The information processing apparatus according to any one of the above.
取得手段が、前記複数の記憶装置の内、データの入出力要求を行う対象の記憶装置の情報を取得する取得工程と、
設定手段が、前記取得工程で取得された記憶装置の情報に応じて、前記データの入出力要求を行う対象の記憶装置に対するI/Oスケジューラを設定する設定工程と、を有することを特徴とする情報処理方法。 An information processing method capable of making data input / output requests to a plurality of storage devices,
An acquisition unit that acquires information on a storage device that is a target of performing a data input / output request among the plurality of storage devices; and
A setting unit configured to set an I / O scheduler for a target storage device to which the data input / output request is made according to the information on the storage device acquired in the acquisition step; Information processing method.
複数の記憶装置に対してデータの入出力要求を行うことが可能な情報処理装置であって、
前記複数の記憶装置の内、データの入出力要求を行う対象の記憶装置の情報を取得する取得手段と、
前記取得手段で取得された記憶装置の情報に応じて、前記データの入出力要求を行う対象の記憶装置に対するI/Oスケジューラを設定する設定手段と、を有することを特徴とする情報処理装置として機能させるためのコンピュータプログラム。 Computer
An information processing apparatus capable of making data input / output requests to a plurality of storage devices,
An obtaining unit for obtaining information of a storage device to which a data input / output request is made, among the plurality of storage devices;
An information processing apparatus comprising: setting means for setting an I / O scheduler for a target storage device to which the data input / output request is made according to information on the storage device acquired by the acquisition means Computer program to make it function.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014001526A JP2015130096A (en) | 2014-01-08 | 2014-01-08 | Information processing apparatus, information processing method, and computer program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014001526A JP2015130096A (en) | 2014-01-08 | 2014-01-08 | Information processing apparatus, information processing method, and computer program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015130096A true JP2015130096A (en) | 2015-07-16 |
Family
ID=53760764
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014001526A Pending JP2015130096A (en) | 2014-01-08 | 2014-01-08 | Information processing apparatus, information processing method, and computer program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2015130096A (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7457886B1 (en) * | 2004-02-03 | 2008-11-25 | Apple Inc. | System and method for input/output scheduling |
US20100318736A1 (en) * | 2009-06-10 | 2010-12-16 | Sridhar Balsubramanian | Method and system of an adaptive input/output scheduler for storage arrays |
-
2014
- 2014-01-08 JP JP2014001526A patent/JP2015130096A/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7457886B1 (en) * | 2004-02-03 | 2008-11-25 | Apple Inc. | System and method for input/output scheduling |
US20100318736A1 (en) * | 2009-06-10 | 2010-12-16 | Sridhar Balsubramanian | Method and system of an adaptive input/output scheduler for storage arrays |
Non-Patent Citations (1)
Title |
---|
藤田 稜: "SSDをLinuxで活用する Part2 Linux上で検証しながらSSDの使い方を学ぶ", 日経LINUX 2009年2月NIKKEI LINUX, vol. 2009.2号, JPN6017037917, 13 January 2009 (2009-01-13), JP, pages 45 - 53 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9489141B2 (en) | Efficient scheduling of Input/Output requests to reduce latency and maximize throughput in a flash storage device | |
US9933976B2 (en) | Storage apparatus and data processing method thereof, and storage system | |
JP4464378B2 (en) | Computer system, storage system and control method for saving storage area by collecting the same data | |
KR101663066B1 (en) | Solid state memory command queue in hybrid device | |
JP4992835B2 (en) | Disk storage device and program | |
JP2014513338A5 (en) | Method, computer readable storage medium and system for optimal compression of a virtual disk | |
CN113778914B (en) | Apparatus, method, and computing device for performing data processing | |
US20160026399A1 (en) | Block i/o interface for a host bus adapter that utilizes nvdram | |
US20080301381A1 (en) | Device and method for controlling commands used for flash memory | |
US9817583B2 (en) | Storage system and method for allocating virtual volumes based on access frequency | |
JP2009087282A (en) | Parallel computation system and parallel computation method | |
CN116235138B (en) | A data reading method and related device applied to solid state drive (SSD) | |
US9189172B1 (en) | High priority read and write | |
CN102792319A (en) | Data recording device, and data recording method | |
CN105574008A (en) | Task scheduling method and equipment applied to distributed file system | |
US8239634B2 (en) | Input/output control based on information specifying input/output issuing source and input/output priority | |
JPWO2015075803A1 (en) | Information processing apparatus, method, program, and recording medium | |
JP2015130096A (en) | Information processing apparatus, information processing method, and computer program | |
JP6497233B2 (en) | Storage control device, storage control program, and storage control method | |
CN110874333A (en) | Storage device and storage method | |
US9058113B2 (en) | Storage region providing device, storage region providing method, and recording medium | |
JP2007034467A (en) | Device controller | |
JP5708053B2 (en) | Information processing apparatus, defragmentation method, and defragmentation program | |
JP6289105B2 (en) | Information processing apparatus, information processing method, and computer program | |
US20150277784A1 (en) | Storage device, information processing device, data access method and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170106 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170920 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20171003 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20171201 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20180109 |