JP2010237837A - File system, and data rearrangement method and program therefor - Google Patents
File system, and data rearrangement method and program therefor Download PDFInfo
- Publication number
- JP2010237837A JP2010237837A JP2009083175A JP2009083175A JP2010237837A JP 2010237837 A JP2010237837 A JP 2010237837A JP 2009083175 A JP2009083175 A JP 2009083175A JP 2009083175 A JP2009083175 A JP 2009083175A JP 2010237837 A JP2010237837 A JP 2010237837A
- Authority
- JP
- Japan
- Prior art keywords
- data
- read
- access pattern
- application
- 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
本発明は、ディスク装置に記憶されたデータへのアクセスを管理するファイルシステム及びそのデータ再配置方法,データ再配置用プログラムに関する。 The present invention relates to a file system that manages access to data stored in a disk device, a data relocation method thereof, and a data relocation program.
コンピュータシステムにおけるファイルシステムがアプリケーションの要求に応じてディスク装置に対しファイルの書き換えや削除を繰り返すと、ディスク装置に格納されたファイルが断片化し、1つのファイルが複数のデータに分散されて記憶領域内の別々の位置に記憶される。このファイルの断片化が進んだ場合、1つファイルが連続した領域に記録されている場合と比べて、ファイルの読み取り時間が長くなってしまう。 When a file system in a computer system repeatedly rewrites or deletes a file on a disk device in response to a request from an application, the file stored in the disk device is fragmented, and one file is distributed over a plurality of data in the storage area. Stored in separate locations. When this file fragmentation proceeds, the file read time becomes longer than when one file is recorded in a continuous area.
このファイルの断片化を解消するために、通常のファイルシステムは、ディスク装置に記憶されているデータの再配置を行うデフラグメント機能を有している。通常のデフラグメント機能は、複数のデータに分散されてディスク装置に保存されているファイルを、連続した状態で記憶されるように再配置することにより、一つのファイルに対するアクセスがシーケンシャルなアクセスになるようにして、ファイルアクセスを高速化するものである。 In order to eliminate the fragmentation of the file, a normal file system has a defragmenting function for rearranging data stored in the disk device. In the normal defragmentation function, a file distributed to a plurality of data and stored in a disk device is rearranged so as to be stored in a continuous state, so that access to one file becomes sequential access. In this way, file access is speeded up.
これに関連する技術が特許文献1に開示されている。特許文献1に開示された技術は、論理ユニット上で発生するアクセスの傾向を表すアクセス統計情報に基づいて、アプリケーションからの各アクセス要求に係る各ファイルのアクセス性能の劣化度合いを「物理的分割数×単位時間当たりのアクセス回数」で算出し、アクセス性能の劣化度合いが大きいファイルを優先的に再配置していた。 A technique related to this is disclosed in Patent Document 1. The technology disclosed in Patent Document 1 is based on access statistical information indicating a tendency of access that occurs on a logical unit, and determines the degree of deterioration in access performance of each file related to each access request from an application by “the number of physical divisions”. The number of accesses per unit time was calculated, and files with a large degree of degradation in access performance were preferentially rearranged.
しかしながら、上述した関連技術では、ディスク装置に記憶されたデータをファイル毎に連続して格納されるように再配置することで、1つのファイルに対するアクセスがシーケンシャルなアクセスになりファイルアクセスの高速化を図っているが、これでは、並列処理により同時に複数のファイルへアクセスする場合、複数のファイルに交互にアクセスすることになってしまい、高速なファイルアクセスを行うことができなかった。 However, in the related technology described above, the data stored in the disk device is rearranged so that it is continuously stored for each file, so that access to one file becomes sequential access and the speed of file access is increased. As shown, when accessing a plurality of files simultaneously by parallel processing, the plurality of files are alternately accessed, and high-speed file access cannot be performed.
近年、複数のCPUが搭載されたコンピュータシステムが一般に知られていると共に、複数のCPUによる並列処理を実行することを前提としたアプリケーションも利用されている。特に、HPC(High Performance Computing)分野においては、一つのアプリケーションを複数のCPUに実行させることが行われており、入力データとして使用されるファイルはサイズの大きいものが多い。また、計算に必要な入力データはアプリケーションの実行直後に全てメモリ上に読み込まれ、読み込みが完了しないと計算が開始できないようなアプリケーションも存在する。 In recent years, computer systems equipped with a plurality of CPUs are generally known, and applications premised on executing parallel processing by a plurality of CPUs are also used. In particular, in the HPC (High Performance Computing) field, a single application is executed by a plurality of CPUs, and a large number of files are used as input data. In addition, there are applications in which all input data necessary for calculation is read into the memory immediately after execution of the application, and calculation cannot be started unless the reading is completed.
並列処理によって複数の異なるファイルに同時にアクセスする場合、通常のデフラグメントによるデータ配置では、シーケンシャルなアクセスを行うことができず、大量のデータの入出力が低速なランダムアクセスで行われることになるので、アプリケーションの実行速度を高速化できないという問題があった。 When accessing multiple different files at the same time by parallel processing, sequential data access with normal defragmentation cannot be performed, and large amounts of data are input and output with low-speed random access. There was a problem that the execution speed of the application could not be increased.
この問題について、図7に基づいて具体的に説明すると、図7に示すホスト7で実行されるアプリケーション71は、並列に実行されるプロセス711と、プロセス712と、プロセス713と、プロセス714とで構成されている。プロセス711は、ディスク装置8に記憶されたファイル81の読み込みを実行し、1回目の読み込みでデータ811、2回目の読み込みでデータ812を読み込む。プロセス712はディスク装置8に記憶されたファイル82からシーケンシャルな読み込みを行い、1回目の読み込みではデータ821、2回目の読み込みではデータ822を読み込む。プロセス713とプロセス714についても同様である。ファイル81,ファイル82,ファイル83,ファイル84は、ホスト7におけるデフラグメント機能により、それぞれディスク装置8上の連続した領域に配置されている。
This problem will be specifically described with reference to FIG. 7. An
この場合、ディスク装置8に対するアクセスとして、まず、データ811,データ821,データ831,データ841へのアクセスが並列に行われるが、これらはディスク装置8内では不連続な領域に配置されているので、シーケンシャルなアクセスにはならず、低速なランダムアクセスとなる。続いてのアクセスでは、データ812,データ822,データ832,データ842へのアクセスが並列に行われるが、これらもディスク装置8の記憶領域における不連続な領域に配置されているため、低速なランダムアクセスとなる。
In this case, as access to the disk device 8, first, access to the
このように、通常のデフラグメント技術は、ファイル毎に連続した記憶領域に配置するので、複数のプロセスが並列に別のファイルへアクセスした場合、ディスク装置に対して低速なランダムアクセスとなり、ファイルへの入出力も低速になってしまっていた。 In this way, the normal defragmentation technology places each file in a continuous storage area. Therefore, when multiple processes access another file in parallel, the disk device has low-speed random access, and the file is accessed. The input / output of was slow.
また、他の関連技術として、頻繁にアクセスが行われるデータを高速なディスク装置やメインメモリ上に配置することによって、データアクセスを高速化する技術が知られているが、HPC分野のように、大量のデータの入出力を行う場合には適用できなかった。 In addition, as another related technique, a technique for accelerating data access by placing frequently accessed data on a high-speed disk device or main memory is known, but as in the HPC field, It was not applicable when inputting / outputting a large amount of data.
そこで、本発明は、上記関連技術の有する課題を改善し、並行処理によって複数のプロセスを同時に実行した場合でもファイルアクセスを高速にするように、ディスク装置に記憶されたファイルデータの再配置を行い、アプリケーションの実効時間を短縮し得るファイルシステム,データ再配置方法及びデータ再配置用プログラムを提供することを,その目的とする。 Therefore, the present invention improves the above-mentioned problems of the related art and rearranges the file data stored in the disk device so that the file access speed is increased even when a plurality of processes are executed simultaneously by parallel processing. An object of the present invention is to provide a file system, a data relocation method, and a data relocation program that can shorten the effective time of an application.
上記目的を達成するため、本発明のファイルシステムは、アプリケーションからの要求に対応してディスク装置に記憶されたファイルの読み書き及び削除を実行するファイル管理手段を備えたファイルシステムであり、前記アプリケーションからの要求に応じて前記ファイル管理手段が読み込みを行うデータの一覧を示すアクセスパターンテーブルを記憶するアクセスパターン記憶部と、この記憶されたアクセスパターンテーブルに基づいて、前記ディスク装置に記憶されているデータを、前記アプリケーションによって読み取られる順番に連続して並ぶように当該ディスク装置の記憶領域上に再配置するデータ再配置手段とを備えたことを特徴とする。 In order to achieve the above object, a file system of the present invention is a file system comprising file management means for executing reading / writing and deletion of a file stored in a disk device in response to a request from an application, An access pattern storage unit for storing an access pattern table indicating a list of data to be read by the file management unit in response to the request, and data stored in the disk device based on the stored access pattern table And a data rearranging means for rearranging the data on the storage area of the disk device so that they are continuously arranged in the order read by the application.
また、本発明のデータ再配置方法は、アプリケーションからの要求に対応して前記ディスク装置に記憶されたファイルの読み書き及び削除を実行するファイル管理手段と、前記アプリケーションの要求に応じて前記ファイル管理手段が読み込むデータの一覧を示すアクセスパターンテーブルを記憶するアクセスパターン記憶部とを備えたファイルシステムにあって、前記アクセスパターンテーブルをアクセスパターン記憶部からデータ再配置手段が読み出し、このアクセスパターンテーブルに基づいて前記データ再配置手段が、前記アプリケーションによって読み取られるデータとその読み取られる順番を特定し、この特定された順番で連続するように前記ディスク装置に記憶されているデータを前記データ再配置手段が再配置することを特徴とする。 The data rearrangement method of the present invention includes a file management unit that executes reading / writing and deletion of a file stored in the disk device in response to a request from an application, and the file management unit in response to a request from the application. And an access pattern storage unit for storing an access pattern table indicating a list of data to be read by the data relocation means, which reads the access pattern table from the access pattern storage unit, and based on the access pattern table The data rearrangement means identifies the data read by the application and the order in which it is read, and the data rearrangement means rearranges the data stored in the disk device so as to be continuous in the specified order. Specially placed To.
また、本発明のデータ再配置用プログラムは、アプリケーションからの要求に対応して前記ディスク装置に記憶されたファイルの読み書き及び削除を実行するファイル管理機能、前記アプリケーションからの要求に応じて前記ファイル管理機能に読み込まれるデータの一覧を示すアクセスパターンテーブルに基づいて前記アプリケーションによって読み取られるデータとその読み取られる順番を特定する読込み順特定機能及び、この特定された順番で連続するように前記ディスク装置に記憶されているデータを再配置するデータ再配置機能、をコンピュータに実行させることを特徴とする。 The data rearrangement program according to the present invention includes a file management function for executing read / write and deletion of a file stored in the disk device in response to a request from the application, and the file management in response to a request from the application. Based on an access pattern table showing a list of data to be read by the function, a reading order specifying function for specifying data read by the application and its reading order, and storing in the disk device so as to be continuous in the specified order It is characterized by causing a computer to execute a data rearrangement function for rearranging stored data.
本発明は、以上のように構成したので、これにより、ディスク装置の記憶領域に記憶されたファイルデータを、アプリケーションによって読み込みが行われる順番に連続して並ぶように再配置するので、並列処理により複数のファイルに同時にアクセスを行う場合であっても、その一連のファイルアクセスがディスク装置でシーケンシャルなアクセスになるため、ディスク装置のデータ読出動作を物理的に速くすることができ、よって、アプリケーションの処理速度を有効に高速化することができる。 Since the present invention is configured as described above, the file data stored in the storage area of the disk device is rearranged so as to be continuously arranged in the order of reading by the application. Even when accessing multiple files at the same time, the series of file accesses becomes sequential access in the disk device, so that the data read operation of the disk device can be physically accelerated. The processing speed can be effectively increased.
以下、本発明にかかる一実施形態を、図面に基づいて説明する。 Hereinafter, an embodiment according to the present invention will be described with reference to the drawings.
図1は、本実施形態のファイルシステム12の構成を示す機能ブロック図である。図1に示すように、本実施形態では、ホスト1とディスク装置2とが接続しており、ホスト1は、アプリケーション11の実行に対応してディスク装置2に記憶されるファイルの管理を行うファイルシステム12を備えている。ディスク装置2は、アプリケーション11の実行に用いるファイルを記憶する。アプリケーション11は、複数のプロセスからなり、プロセスとは、アプリケーション11の処理の一単位である。
FIG. 1 is a functional block diagram showing the configuration of the
本実施形態のファイルシステム12は、アプリケーション11からの要求に対応してディスク装置2に対しファイルの読み書き及び削除を実行するファイル管理手段121と、ディスク装置2と接続しデータの入出力を行うデータ入出力部125とを備えている。
The
更に、ファイルシステム12は、アプリケーション11からの要求に応じてファイル管理手段121が読み込むデータの一覧を示すアクセスパターンテーブルを記憶するアクセスパターン記憶部123と、この記憶されたアクセスパターンテーブルに基づいてディスク装置2に記憶されているデータをアプリケーション11によって読み出される順番に連続して並ぶようにディスク装置2の記憶領域上に再配置するデータ再配置手段124とを備えている。
Further, the
また、ファイルシステム12は、アプリケーション11の実行中にファイル管理手段121が読み込んだデータに関する情報を順にアクセスパターンテーブルに記録するアクセスパターン記録手段122を備えている。
Further, the
ファイル管理手段121は、予め設定された方式に従って、ディスク装置2の記憶領域に対しデータの記録、移動、削除をデータ入出力部125を介して行う手段である。本実施形態のファイル管理手段121は、アプリケーション11からの要求を入力し、その要求に従って、ディスク装置2に対しファイルデータの記録,読み出し,更新,削除を行う機能を有している。
The
ここで、本実施形態のファイル管理手段121は、ディスク装置2の記憶領域を複数のブロックに分割し、その各ブロックに記録されているデータ内容を管理しており、このブロックサイズが4096バイトに設定されている。このため、本実施形態のディスク装置2には、4096バイト単位でデータが記録される。
Here, the
アクセスパターン記録手段122は、アプリケーション11の実行時に、アプリケーション11によるファイル読み込みのパターンをアクセスパターンテーブルに記録する手段である。このアクセスパターン記録手段122は、アプリケーション11からのデータアクセス要求をファイル管理手段121から取得しその要求をアクセスパターンテーブルに記録する。これにより、アプリケーション11の実際のファイル読み込みパターンを記録することができる。
The access
アクセスパターン記憶部123は、アプリケーション11の各プロセスで読込まれるデータの内容を読込まれた順に示すアクセスパターンテーブルを記憶している。アクセスパターンテーブルは、アプリケーション11からファイル管理手段への要求内容を示している。図2は、本実施形態におけるアクセスパターンテーブルの一例を示す図である。
The access
図2に示すアクセスパターンテーブルは、アプリケーショ11におけるプロセス毎に読込ファイル名,読込開始位置(オフセット),読込サイズが読み込みを行う順に記録されている。図2のアクセスパターンテーブルには、プロセスAで最初にファイルaのオフセット0から4096バイト分のデータを読み込み(エントリー1)、2回目にファイルaのオフセット4096バイトから10240バイト分のデータを読み込み(エントリー2)、3回目にファイルaのオフセット14336バイトから6144バイト分のデータを読み込む(エントリー3)ことが記録されており、プロセスBで最初にファイルbのオフセット0から4096バイト分のデータを読み込み(エントリー1)、2回目にファイルbのオフセット4096バイトから4096バイト分のデータを読み込み(エントリー2)、3回目にファイルbのオフセット8192バイトから8192バイト分のデータを読み込む(エントリー3)ことが記録されている。
In the access pattern table shown in FIG. 2, the read file name, the read start position (offset), and the read size are recorded in order of reading for each process in the
また、図4は、本実施形態におけるアクセスパターンテーブルの別の例を示す図である。図4に示すアクセスパターンテーブルは、ファイル名,オフセット,サイズと共に、読み込みを開始した時刻が記録されている。 FIG. 4 is a diagram showing another example of the access pattern table in the present embodiment. The access pattern table shown in FIG. 4 records the start time of reading together with the file name, offset, and size.
ここで、図1においては、アクセスパターン記憶部123は、ホスト1に搭載されたメモリで構成されているが、これに限らず、ディスク装置2の記憶領域の一部で構成されていてもよい。このように構成すると、ホスト1とは別のホストが、ディスク装置2と接続してアプリケーション11を実行するような構成の場合に、別のホストは、予めホスト1が作成したアクセスパターンテーブルをディスク装置2から読み込んで、ファイルの再配置を行うことができ、別のホストはアプリケーション11の最初の実行から高速なファイルの読み込みを行わせることが可能になる。
Here, in FIG. 1, the access
データ再配置手段124は、アクセスパターン記憶部123に記憶されたアクセスパターンテーブルに基づいてディスク装置2に記憶されているデータの記録位置を、アプリケーション11が読み込みを行う順番で連続するように再配置する手段である。
The
このデータ再配置手段124は、アクセスパターン記憶部123に記憶されたアクセスパターンテーブルに基づいて、アプリケーション11の読み取りデータとその読み取る順番を特定し、その特定した順番に連続して並ぶようにディスク装置2に記憶されているデータの配置を変える機能を備えている。ここで、ディスク装置2に記憶されたデータの配置を変える手順については通常のデフラグメント技術と同様なので省略する。本実施形態のデータ再配置手段124は、アクセスパターンテーブルに基づいて、ディスク装置2に記憶されているデータの配置を、アプリケーション11の実行時に読み込みを行う順番に連続して並ぶように変えることが特徴である。
The
例えば、ホスト1が並列処理を実行する機能を備え、アプリケーション11における複数のプロセスが同時に実行される場合で、アクセスパターン記憶部123が、図2に示すようなアクセスパターンテーブルを記憶しているとすると、データ再配置手段124は、このアクセスパターンテーブルに基づいて、プロセスA及びBのデータ読込毎に読込サイズの累計を算出する機能と、この算出された各累計に基づいてプロセスA及びBにおける各データ読込の順番を特定する機能とを有する構成であればよい。
For example, when the host 1 has a function of executing parallel processing and a plurality of processes in the
この場合のデータ再配置手段124の機能について具体的に説明する。データ再配置手段124は、アプリケーション11の停止時に、図2に示すようなアクセスパターンテーブルを参照し、まず、プロセスAについて、エントリー1のファイルa,オフセット=0,サイズ=4096バイトという情報から、ディスク装置2における連続した領域の先頭にファイルaのオフセット0から始まる4096バイトのデータを配置する。そして、プロセスAについて合計4096バイトの配置を行ったことを予め備えたメモリに記憶する。その後に、プロセスA以外の全てのプロセスについて、合計4096バイトまでの再配置を行う。
The function of the
この場合、プロセスBについて、エントリー1のファイルb,オフセット=0,サイズ=4096という情報から、ディスク装置2における前述した連続領域の2番目にファイルbのオフセット0から始まる4096バイトのデータを配置し、プロセスBについて合計4096バイトの配置を行ったことをメモリに記憶する。この結果、プロセスA以外の全てのプロセスについて、合計4096バイトまでの再配置が完了する。
In this case, for the process B, 4096 bytes of data starting from the offset 0 of the file b is arranged in the second continuous area in the
そして、アクセスパターンテーブルの、プロセスAについてエントリー2のファイルa,オフセット=4096,サイズ=10240という情報について、ディスク装置2の記憶領域におけるブロックサイズは4096バイトに設定されているので、終端が4096バイト単位になるようにサイズを10240から12288バイトに切り上げる。この結果、ディスク装置2における連続した領域の3番目に、ファイルaのオフセット4096から始まる12288バイトのデータを配置し、プロセスAについて合計16384バイトの配置を行ったことをメモリに記憶する。その後に、プロセスA以外の全てのプロセスについて、合計16384バイトまでの再配置を行う。
In the access pattern table, the block size in the storage area of the
この場合、プロセスBについてエントリー2のファイルb,オフセット=4096,サイズ=4096という情報から、ディスク装置2の連続する領域の4番目に、ファイルbのオフセット4096から4096バイトのデータを配置し、プロセスBについて合計8192バイトの配置を行ったことをメモリに記憶する。プロセスBについて再配置を行った8192バイトは、プロセスAについて再配置を行った16384バイトより小さいため、プロセスBについてエントリー3のファイルb,オフセット=8192,サイズ=8192という情報から、ディスク装置2の連続する領域の5番目に、ファイルbのオフセット8192から8192バイトのデータを配置し、プロセスBについて合計16384バイトの再配置を行ったことをメモリに記憶する。この結果、プロセスA以外の全てのプロセスについて、合計16384バイトまでの再配置が完了する。
In this case, for the process B, the data of offset 4096 to 4096 bytes of the file b is arranged in the fourth continuous area of the
そして、アクセスパターンテーブルのプロセスAについてエントリー3のファイルa,オフセット=14336,サイズ=6144という情報を参照し、上述したようにブロックサイズは4096バイトであるため、開始位置が4096バイト単位になるように、オフセットを12288に切り下げる。その結果、プロセスAのエントリー3を、ファイルa,オフセット=12288,サイズ=8192に変更する。オフセット12288から4096バイトについては既に配置済みのため、オフセットを16384に変更する。その結果、プロセスAのエントリー3を、ファイルa,オフセット=16384,サイズ=4096に変更する。この情報から、ディスク装置2の連続する領域の6番目に、ファイルaのオフセット16384から4096バイトのデータを配置する。そして、プロセスAについて合計20480バイトの配置を行ったことをメモリに記憶する。
For the process A in the access pattern table, the information of the file a, entry = offset = 14336, size = 6144 in
その後に、プロセスA以外の全てのプロセスについて、合計20480バイトまでの再配置を行おうとするが、プロセスBについての再配置は完了しているので何もしない。プロセスA以外の全てのプロセスについて、合計20480バイトまでの再配置が完了する。そして、まだ再配置が完了していないプロセスがいないかを、アクセスパターンテーブルと各プロセスについて合計何バイトの再配置が完了しているかの情報とを基に検索し、全てのプロセスについて再配置が完了していると判定した場合に、データ再配置の処理を終了する。このようにして再配置された場合のディスク装置2におけるデータの配置を図3に示す。
Thereafter, relocation up to a total of 20480 bytes is attempted for all processes other than process A, but nothing is done because relocation for process B is complete. For all processes other than process A, the relocation up to a total of 20480 bytes is completed. Then, search for the process that has not yet been relocated based on the access pattern table and the information on how many bytes of relocation have been completed for each process. When it is determined that the data has been completed, the data rearrangement process is terminated. The arrangement of data in the
また別の例として、アクセスパターン記憶部123が、図4に示すようなアクセスパターンテーブルを記憶している場合、データ再配置手段124は、読み込み開始時刻の順に連続するように、ディスク装置2に記憶されているデータの再配置を行うような構成であればよい。具体的に、データ再配置手段124は、図4に示すようなアクセスパターンテーブルを参照し、開始時刻が5.00秒のプロセスaのエントリー1,開始時刻が5.10秒のプロセスbのエントリー1,開始時刻が6.00秒のプロセスaのエントリー2,開始時刻が6.10秒のプロセスbのエントリー2,開始時刻が7.50秒のプロセスbのエントリー3,開始時刻が8.50秒のプロセスaのエントリー3の順でそれぞれのデータが連続するようにディスク装置2に記憶されているデータの再配置を行う。
As another example, when the access
これにより、アプリケーション11の実行時において複数のプロセスが同時にファイルアクセスを行う場合でも、その一連のデータアクセスがディスク装置2でシーケンシャルなアクセスとなるので、ディスク装置2のデータ読み出し動作が物理的に高速となり、結果的に、アプリケーション11の処理速度を高速化することができる。
As a result, even when a plurality of processes perform file access at the same time when the
次に、本実施形態のファイルシステム12の動作について説明する。ここで、以下の動作説明は、本発明のデータ再配置方法の実施形態となる。
Next, the operation of the
図5は、本実施形態のファイルシステム12におけるアクセスパターン記録動作を示すフローチャートである。図5に示すように、ファイルシステム12におけるアクセスパターン記録動作は、まず、ホスト1でアプリケーション11の実行が開始されると、アプリケーション11におけるプロセスからファイル管理手段121へデータ読み込みの要求が送出され、ファイル管理手段121がアプリケーション11からデータの読み込み要求を受けると(図5のステップs51)、アクセスパターン記録手段122に対して、データの読み込みを行った旨の通知を送出する。この通知を受けたアクセスパターン記録手段12が、データ読み込みに関する情報をアクセスパターン記憶部123に記憶されたアクセスパターンテーブルに記録する(図5のステップs52)。このような動作が、アプリケーション11の実行中に繰り返される。
FIG. 5 is a flowchart showing an access pattern recording operation in the
ここで、このアクセスパターン記録動作について、図2に示すアクセスパターンテーブルが完成するまでを例にして具体的に説明する。 Here, this access pattern recording operation will be specifically described with reference to an example until the access pattern table shown in FIG. 2 is completed.
ホスト1は並列処理を行うため、アプリケーション11の実行が開始されると、プロセスAとプロセスBが同時に処理される。プロセスAとプロセスBは、ファイル管理手段121に対してファイルの読み込みを要求する。まず、プロセスAはファイルaのオフセット0から4096バイトの読み込みを要求し、プロセスBはファイルbのオフセット0から4096バイトの読み込みを要求する。ファイル管理手段121が、アクセスパターン記録手段122に対して、プロセスAがファイルaのオフセット0から4096バイトの読み込みを行ったこと及び、プロセスBがファイルbのオフセット0から4096バイトの読み込みを行ったことを記録するように指示する。アクセスパターン記録手段122が、アクセスパターンテーブルとしてプロセスAとプロセスBのアクセスを記録するテーブルを作成し、プロセスAのアクセスを記録するテーブルに対してファイル名=ファイルa,オフセット=0,サイズ=4096という情報を記録し、プロセスBのアクセスを記録するテーブルに対してファイル名=ファイルb,オフセット=0,サイズ=4096という情報を記録する。
Since the host 1 performs parallel processing, when the execution of the
続いて、プロセスAはファイルaのオフセット4096から10240バイト、プロセスBはファイルbのオフセット4096から4096バイトの読み込みを要求する。ファイル管理手段121が、アクセスパターン記録手段122に対して、プロセスAがファイルaのオフセット4096から10240バイトの読み込みを行ったことと、プロセスBがファイルbのオフセット4096から4096バイトの読み込みを行ったことを記録するように指示する。アクセスパターン記録手段122が、アクセスパターンテーブルにおけるプロセスAのテーブルに対してファイル名=ファイルa,オフセット=4096,サイズ=10240という情報を記録し、プロセスBのテーブルに対してファイル名=ファイルb,オフセット=4096,サイズ=4096という情報を記録する。
Subsequently, process A requests reading of offset 4096 to 10240 bytes of file a, and process B requests reading of offset 4096 to 4096 bytes of file b. The
続いて、プロセスAはファイルaのオフセット14336から6144バイト、プロセスBはファイルbのオフセット8192から8192バイトの読み込みを要求する。同様にして、アクセスパターン記録手段122が、アクセスパターンテーブルにおけるプロセスAのテーブルに対してファイル名=ファイルa,オフセット=14336,サイズ=6144という情報を記録し、プロセスBのテーブルに対してファイル名=ファイルb,オフセット=8192,サイズ=8192という情報を記録する。このようにして、図2に示すようなアクセスパターンテーブルが完成する。
Subsequently, process A requests reading of offset 14336 to 6144 bytes of file a, and process B requests reading of offset 8192 to 8192 bytes of file b. Similarly, the access
次に、図6は、本実施形態のファイルシステム12におけるデータ再配置手段124の動作を示すフローチャートである。図6に示すように、ファイルシステム12におけるデータ再配置手段124は、まず、アプリケーション11の終了時にアプリケーション11から送られてくるデータ再配置の指示を受けると(図6のステップs61)、アクセスパターン記憶部123からアクセスパターンテーブルを読み込む(図6のステップs62)。
Next, FIG. 6 is a flowchart showing the operation of the
続いて、このアクセスパターンテーブルに基づいてアプリケーション11のデータ読み込みの順番を特定し(図6のステップs63)、この特定した順番で連続するようにディスク装置2に記憶されているデータを再配置する(図6のステップs64)。
Subsequently, the data reading order of the
例えば、アプリケーション11における複数のプロセスが同時に実行される場合で、アクセスパターン記憶部123が、図2に示すようなアクセスパターンテーブルを記憶しているとすると、データ再配置手段124は、このアクセスパターンテーブルに基づいて、プロセスA及びBのデータ読込毎に読込サイズの累計を算出し、この算出された各累計に基づいてプロセスA及びBにおける各データ読込の順番を特定し、この特定した順番で連続するようにディスク装置2に記憶されているデータを再配置する。
For example, when a plurality of processes in the
また、アクセスパターン記憶部123が、図4に示すようなアクセスパターンテーブルを記憶している場合、データ再配置手段124は、読み込み開始時刻の順に連続するように、ディスク装置2に記憶されているデータの再配置を行う。
When the access
ここでは、アプリケーション11からファイル再配置手段124に対してファイルの再配置の開始が指示されているが、ファイル再配置手段124が、アプリケーション11の終了を監視し、アプリケーション11の終了時にファイルの再配置の開始を開始するようにしてもよい。
Here, the
このように本実施形態のファイルシステム12では、アプリケーション11のデータ読込みの履歴であるアクセスパターンテーブルに基づいて、アプリケーション11のデータ読み込みの順番を特定し、ディスク装置2の記憶領域に格納されたデータを、アプリケーション11に読み込まれる順番に連続するように再配置するので、アプリケーション11の実行時において複数のプロセスが同時にファイルアクセスを行う場合でも、その一連のデータアクセスがシーケンシャルなアクセスとなり、ディスク装置2のデータ読み出し動作が物理的に高速となり、結果的に、アプリケーション11を高速化することができる。
As described above, in the
ここで、上述した説明の構成では、アプリケーション11の最初の実行時にアクセスパターン記録手段122によってアクセスパターンテーブルが作成されるので、アプリケーション11の最初の実行時は高速なファイルの読み込みを行うことができないが、アプリケーション11の入出力パターンが既知であれば、予め作成されたアクセスパターンテーブルをアクセスパターン記憶部123に記憶させておくようにしてもよい。このようにすれば、データ再配置手段124がアプリケーション11の実行前にアクセスパターンテーブルに基づいてデータの再配置を行うことが可能となり、アプリケーション11の最初の実行時から高速なデータアクセスを実施することができる。
Here, in the configuration described above, since the access pattern table is created by the access
また、アプリケーション11を構成する全てのプロセスが、ホスト1で実行されるような構成であるが、これに限らず、プロセスを複数のホストで分散して実行するようにして、ファイルシステム12がNFS(Network File System)のような共有ファイルシステムで共有されているようにしてもよい。この場合、アクセスパターン記録手段122とアクセスパターンテーブルはNFSクライアントが有し、ファイル再配置手段124はNFSサーバが有する。
Further, although all processes constituting the
また、本実施形態におけるファイル管理手段121,アクセスパターン記録手段122,データ再配置手段124については、その機能内容をプログラム化してコンピュータに実行させるように構成してもよい。
Further, the
以上のように、本実施形態のファイルシステム12によれば、アプリケーション11の実行時におけるファイルアクセスパターンを記録したアクセスパターンテーブルに基づいて、ディスク装置2の記憶領域内のデータを、実際にアクセスが行われる順序で連続するように再配置するため、アプリケーション11の再実行の際にディスク装置2に対してシーケンシャルなアクセスが行われるようになり、高速なファイルアクセスが可能となる。
As described above, according to the
HPC分野においては、入力データファイルは同じものを使用し、パラメータのみ変更してアプリケーションを何度も再実行するようなことが行われており、また、入力データファイルを変更して実行する場合でも、アクセスパターンは変化しないことが多い。よって、本実施形態のファイルシステム12のように、アプリケーション11の1回目の実行時に、入力データファイルのアクセスパターンを記録し、記録したアクセスパターンに合わせてデータの再配置を行うことにより、2回目以降の実行時に、高速なデータアクセスを実現することが可能になる。
In the HPC field, the same input data file is used, and only the parameters are changed and the application is re-executed many times, and even when the input data file is changed and executed. In many cases, the access pattern does not change. Therefore, as in the
通常のデフラグメント技術は、記憶装置内の情報をファイル毎に連続した領域に配置しており、複数のプロセスが同時にファイルアクセスを行う場合を想定していないので、複数のプロセスが同時にファイルアクセスを行うと、記憶装置が低速なランダムアクセスを行うことになり、ファイルの入出力が低速になってしまっていた。これに対して、本実施形態のファイルシステム12は、ディスク装置2に格納されたデータを、アプリケーション11が読み込む順番に連続するように再配置するので、図3に示すように、各ファイルは断片化されている状態となるが、アプリケーション11の実行時に複数のプロセスから行われる一連のファイルアクセスは、ディスク装置2でシーケンシャルなアクセスとなり、データ入出力が高速になる。これにより、アプリケーションの実行速度を有効に高速化することができる。
In normal defragmentation technology, information in the storage device is arranged in a continuous area for each file, and it is not assumed that multiple processes perform file access at the same time. Doing so would cause the storage device to perform low-speed random access, resulting in slow file input / output. On the other hand, the
本発明は、並行処理を実行するコンピュータシステムに適用することが可能である。 The present invention can be applied to a computer system that executes parallel processing.
1 ホスト
2 ディスク装置
11 アプリケーション
12 ファイルシステム
121 ファイル管理手段
122 アクセスパターン記録手段
123 アクセスパターン記憶部
124 データ再配置手段
125 データ入出力部
DESCRIPTION OF SYMBOLS 1
Claims (12)
前記アプリケーションからの要求に応じて前記ファイル管理手段が読み込むデータの一覧を示すアクセスパターンテーブルを記憶するアクセスパターン記憶部と、
この記憶されたアクセスパターンテーブルに基づいて、前記ディスク装置に記憶されているデータを、前記アプリケーションによって読み取られる順番に連続して並ぶように再配置するデータ再配置手段とを備えたことを特徴とするファイルシステム。 In a file system comprising file management means for executing read / write and deletion of a file stored in a disk device in response to a request from an application,
An access pattern storage unit for storing an access pattern table indicating a list of data read by the file management unit in response to a request from the application;
Data relocation means for relocating the data stored in the disk device based on the stored access pattern table so as to be continuously arranged in the order read by the application File system to be used.
前記アプリケーションの実行中に、前記ファイル管理手段が読み込んだデータに関する情報を順に前記アクセスパターンテーブルに記録するアクセスパターン記録手段を備えたことを特徴とするファイルシステム。 The file system according to claim 1, wherein
A file system comprising access pattern recording means for sequentially recording information relating to data read by the file management means in the access pattern table during execution of the application.
前記アクセスパターンテーブルが、前記アプリケーションにおける各プロセス毎に読込ファイル名,読込開始位置,読込サイズを読み込みを行う順に示すテーブルであり、
前記データ再配置手段は、前記アプリケーションにおける複数のプロセスが同時に実行された場合、前記アクセスパターンテーブルに基づいて、前記各プロセスのデータ読込毎に読込サイズの累計を算出する機能と、この算出された各累計に基づいて前記全プロセスにおける各データ読込の順番を特定する機能と、この特定された順番に連続して並ぶように前記ディスク装置に記憶されているデータを再配置する機能とを有したことを特徴とするファイルシステム。 The file system according to claim 2, wherein
The access pattern table is a table showing a reading file name, a reading start position, and a reading size in the order of reading for each process in the application,
The data relocation means, when a plurality of processes in the application are executed at the same time, based on the access pattern table, the function of calculating the total read size for each data read of each process, and this calculated It has a function of specifying the order of reading each data in all the processes based on each cumulative total, and a function of rearranging the data stored in the disk device so as to be continuously arranged in this specified order A file system characterized by that.
前記アクセスパターンテーブルが、前記アプリケーションにおける各プロセス毎に読込ファイル名,読込開始位置,読込サイズ,読込開始時刻を、読み込みを行う順に示すテーブルであり、
前記データ再配置手段は、前記アクセスパターンテーブルに記録された前記各データ読込の開始時刻に従って、前記各データ読込の順番を特定する機能と、この特定された順番に連続して並ぶように前記ディスク装置に記憶されているデータを再配置する機能とを有したことを特徴とするファイルシステム。 The file system according to claim 2, wherein
The access pattern table is a table showing a read file name, a read start position, a read size, and a read start time for each process in the application in the order of reading.
The data rearrangement means has a function of specifying the order of reading each data in accordance with the start time of each data reading recorded in the access pattern table, and the disk so as to be continuously arranged in the specified order. A file system having a function of rearranging data stored in a device.
前記アクセスパターンテーブルをアクセスパターン記憶部からデータ再配置手段が読み出し、
このアクセスパターンテーブルに基づいて、前記アプリケーションによって読み取られるデータとその読み取られる順番を前記データ再配置手段が特定し、
この特定された順番で連続するように前記ディスク装置に記憶されているデータを前記データ再配置手段が再配置することを特徴とするデータ再配置方法。 A file management unit that executes reading / writing and deletion of a file stored in the disk device in response to a request from an application; an access pattern storage unit that stores an access pattern table indicating a list of data read by the file management unit; Is a file system with
The data relocation means reads the access pattern table from the access pattern storage unit,
Based on this access pattern table, the data relocation means identifies the data read by the application and the order in which it is read,
A data rearrangement method, wherein the data rearrangement means rearranges data stored in the disk device so as to be continuous in the specified order.
前記アクセスパターンテーブルをアクセスパターン記憶部からデータ再配置手段が読み出す前に、
前記アプリケーションの実行中に、前記ファイル管理手段が読み込んだデータに関する情報を順にアクセスパターン記録手段が前記アクセスパターンテーブルに記録することを特徴とするデータ再配置方法。 The data rearrangement method according to claim 5, wherein
Before the data relocation means reads the access pattern table from the access pattern storage unit,
A data relocation method characterized in that, during execution of the application, the access pattern recording means sequentially records information relating to the data read by the file management means in the access pattern table.
前記アクセスパターンテーブルを、前記アプリケーションにおける各プロセス毎に読込ファイル名,読込開始位置,読込サイズを、読み込みを行う順に示すテーブルとし、
前記アプリケーション実行時に読み出されるデータの読出される順番を特定するに際しては、
前記アプリケーションにおける複数のプロセスが同時に実行された場合、前記アクセスパターンテーブルに基づいて、前記各プロセスのデータ読込毎に読込サイズの累計を算出し、この算出した各累計に基づいて前記全プロセスにおける各データ読込の順番を特定することを特徴とするデータ再配置方法。 The data rearrangement method according to claim 6, wherein
The access pattern table is a table showing a read file name, a read start position, and a read size for each process in the application in the order of reading,
In specifying the order in which the data read at the time of executing the application is read,
When a plurality of processes in the application are executed at the same time, based on the access pattern table, the total read size is calculated for each data read of each process, and each process in all the processes is calculated based on each calculated total A data rearrangement method characterized by specifying an order of data reading.
前記アクセスパターンテーブルを、前記アプリケーションにおける各プロセス毎に読込ファイル名,読込開始位置,読込サイズ,読込開始時刻を、読み込みを行う順に示すテーブルとし、
前記アプリケーション実行時のデータを読み込む順番を特定するに際しては、
前記アクセスパターンテーブルに記録された前記各データ読込の開始時刻に従って前記各データ読込の順番を特定することを特徴とするデータ再配置方法。 The data rearrangement method according to claim 7, wherein
The access pattern table is a table showing a read file name, a read start position, a read size, and a read start time for each process in the application in the order of reading,
When specifying the order of reading the data at the time of execution of the application,
A data rearrangement method characterized in that the order of reading each data is specified according to the start time of each data reading recorded in the access pattern table.
前記ファイル管理機能に読み取られるデータの一覧を示すアクセスパターンテーブルに基づいて、前記アプリケーションによって読み取られるデータとその読み取られる順番を特定する読込み順特定機能及び、
この特定された順番に連続して並ぶように前記ディスク装置に記憶されているデータを再配置するデータ再配置機能、をコンピュータに実行させることを特徴とするデータ再配置用プログラム。 A file management function for reading, writing, and deleting a file stored in the disk device in response to a request from an application;
Based on an access pattern table showing a list of data to be read by the file management function, a reading order specifying function for specifying data read by the application and its reading order; and
A data rearrangement program which causes a computer to execute a data rearrangement function for rearranging data stored in the disk device so as to be continuously arranged in the specified order.
前記アプリケーションの実行中に、前記ファイル管理機能に読み込んまれたデータに関する情報を順に前記アクセスパターンテーブルに記録するアクセスパターン記録機能を、前記コンピュータに実行させることを特徴とするデータ再配置用プログラム。 In the data rearrangement program according to claim 9,
A data rearrangement program for causing the computer to execute an access pattern recording function for sequentially recording information about data read into the file management function in the access pattern table during execution of the application.
前記アクセスパターンテーブルを、前記アプリケーションにおける各プロセス毎に読込ファイル名,読込開始位置,読込サイズを、読み込みを行う順に示すテーブルとし、
前記読込み順特定機能は、前記アプリケーションにおける複数のプロセスが同時に実行された場合、前記アクセスパターンテーブルに基づいて、前記各プロセスのデータ読込毎に読込サイズの累計を算出し、この算出した各累計に基づいて前記全プロセスにおける各データ読込の順番を特定する機能であることを特徴とするデータ再配置用プログラム。 In the data rearrangement program according to claim 10,
The access pattern table is a table showing a read file name, a read start position, and a read size for each process in the application in the order of reading,
When a plurality of processes in the application are executed at the same time, the reading order specifying function calculates a total read size for each data read of each process based on the access pattern table. A data rearrangement program characterized by having a function of specifying the order of reading data in all the processes based on the above.
前記アクセスパターンテーブルを、前記アプリケーションにおける各プロセス毎に読込ファイル名,読込開始位置,読込サイズ,読込開始時刻を、読み込みを行う順に示すテーブルとし、
前記読込み順特定機能は、前記アクセスパターンテーブルに記録された前記各データ読込の開始時刻に従って、前記各データ読込の順番を特定する機能であることを特徴とするデータ再配置用プログラム。 In the data rearrangement program according to claim 11,
The access pattern table is a table showing a read file name, a read start position, a read size, and a read start time for each process in the application in the order of reading,
The read order specifying function is a function for specifying the order of reading each data in accordance with a start time of each data reading recorded in the access pattern table.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009083175A JP2010237837A (en) | 2009-03-30 | 2009-03-30 | File system, and data rearrangement method and program therefor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009083175A JP2010237837A (en) | 2009-03-30 | 2009-03-30 | File system, and data rearrangement method and program therefor |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010237837A true JP2010237837A (en) | 2010-10-21 |
Family
ID=43092108
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009083175A Withdrawn JP2010237837A (en) | 2009-03-30 | 2009-03-30 | File system, and data rearrangement method and program therefor |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010237837A (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015096988A (en) * | 2013-11-15 | 2015-05-21 | 日本電気株式会社 | Storage system, storage control device, information processing device, storage control program, and storage control method |
US9110595B2 (en) | 2012-02-28 | 2015-08-18 | AVG Netherlands B.V. | Systems and methods for enhancing performance of software applications |
US10061517B2 (en) | 2015-02-20 | 2018-08-28 | Fujitsu Limited | Apparatus and method for data arrangement |
JP2018538637A (en) * | 2015-10-29 | 2018-12-27 | ダクス ラボラトリース ゲゼルシャフト ミット ベシュレンクテル ハフツングDACS Laboratories GmbH | Method and device for accelerating application execution |
-
2009
- 2009-03-30 JP JP2009083175A patent/JP2010237837A/en not_active Withdrawn
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9110595B2 (en) | 2012-02-28 | 2015-08-18 | AVG Netherlands B.V. | Systems and methods for enhancing performance of software applications |
JP2015096988A (en) * | 2013-11-15 | 2015-05-21 | 日本電気株式会社 | Storage system, storage control device, information processing device, storage control program, and storage control method |
US10061517B2 (en) | 2015-02-20 | 2018-08-28 | Fujitsu Limited | Apparatus and method for data arrangement |
JP2018538637A (en) * | 2015-10-29 | 2018-12-27 | ダクス ラボラトリース ゲゼルシャフト ミット ベシュレンクテル ハフツングDACS Laboratories GmbH | Method and device for accelerating application execution |
US11216286B2 (en) | 2015-10-29 | 2022-01-04 | Dacs Laboratories Gmbh | Method and device for the accelerated execution of applications |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108459826B (en) | Method and device for processing IO (input/output) request | |
US9430395B2 (en) | Grouping and dispatching scans in cache | |
US20060271740A1 (en) | Performing read-ahead operation for a direct input/output request | |
US20050021900A1 (en) | Magnetic disk unit, file management system, and file management method | |
US10417137B2 (en) | Flushing pages from solid-state storage device | |
WO2015145647A1 (en) | Storage device, data processing method, and storage system | |
US7330947B2 (en) | Method and apparatus for backing up data in virtual storage medium | |
KR20090026296A (en) | Predictive data-loader | |
EP3647932A1 (en) | Storage device processing stream data, system including the same, and operation method thereof | |
US20080140691A1 (en) | Method, Device and Computer Program Product for Optimizing File Placement in a Storage System | |
Lee et al. | ActiveSort: Efficient external sorting using active SSDs in the MapReduce framework | |
US20150149741A1 (en) | Storage System and Control Method Thereof | |
JP2018106545A (en) | Information processing device, information processing system, information processing method and program | |
CN107423425B (en) | Method for quickly storing and inquiring data in K/V format | |
JP2010237837A (en) | File system, and data rearrangement method and program therefor | |
WO2015162755A1 (en) | Storage device for compressing and storing data | |
JP4461089B2 (en) | Storage control apparatus and storage control method | |
JP4792335B2 (en) | RAID device, RAID control program, and cache management method | |
JP5318076B2 (en) | Memory device for executing a plurality of access commands in parallel and memory access method in the same device | |
US20170177476A1 (en) | System and method for automated data organization in a storage system | |
JP5953808B2 (en) | Random number processing apparatus, random number processing method, and program | |
JP2013073388A (en) | Storage device, control method of storage device, and storage system | |
WO2017082323A1 (en) | Distributed processing system, distributed processing device, method, and storage medium | |
JP6243884B2 (en) | Information processing apparatus, processor, and information processing method | |
CN114610654A (en) | Solid-state storage device and method for writing data into solid-state storage device |
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: 20120605 |