JP2012098931A - Information processor, information processing method and program - Google Patents
Information processor, information processing method and program Download PDFInfo
- Publication number
- JP2012098931A JP2012098931A JP2010246398A JP2010246398A JP2012098931A JP 2012098931 A JP2012098931 A JP 2012098931A JP 2010246398 A JP2010246398 A JP 2010246398A JP 2010246398 A JP2010246398 A JP 2010246398A JP 2012098931 A JP2012098931 A JP 2012098931A
- Authority
- JP
- Japan
- Prior art keywords
- cache buffer
- data
- cache
- reused
- managed
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
本発明は、情報処理装置、情報処理方法及びプログラムに関する。 The present invention relates to an information processing apparatus, an information processing method, and a program.
ファイルシステムは、通常キャッシュバッファと呼ばれる記憶領域を利用する。アプリケーションからのファイル読み込み要求があった場合、CPUは、以下の処理を行う。つまり、CPUは、該当するファイルのデータをハードディスクやメモリカード等の二次記憶装置からセクタ単位でキャッシュバッファに転送し、次に要求されただけのデータをキャッシュバッファからアプリケーションの指定したメモリ領域に転送する。キャッシュバッファの内容はできるだけ保持され、アプリケーションから再び同じデータの読み込み要求があった場合、CPUは、二次記憶装置からの転送を省略し、キャッシュバッファのデータからアプリの指定するメモリ領域に転送する。これによって動作の遅い二次記憶装置へのアクセスを減らすことができ、速度向上に効果的である。
また、アプリケーションからファイルへの書き込み要求があった場合、CPUは、アプリケーションの指定したデータをキャッシュバッファに転送し、次に二次記憶装置に転送する。キャッシュバッファから二次記憶装置への実際のデータ転送は遅らせることができる。二次記憶装置へ転送する前にアプリケーションから同じデータの上書き要求があったときは、CPUは、キャッシュバッファのデータだけを変更し、最後の変更結果のみを二次記憶装置に転送することで二次記憶装置へのアクセスを減らすことができる。
また、ファイルシステムにはファイルにアクセスするために必要なディレクトリエントリ・FAT・inodeといったメタデータが存在する。CPUは、メタデータを読み込んだり書き込んだりするときにも、一度、キャッシュバッファにメタデータを転送し、キャッシュバッファ上のメタデータにアクセスする。
このように、CPUは、キャッシュバッファに一度転送したデータはなるべく捨てずに保持しておき、キャッシュバッファを全て使い切って足りなくなったときに初めて古いデータを捨てる。そして、CPUは、空いたキャッシュバッファの領域を新しいデータの為に使うことで、ファイルアクセスを効率的に実現している。
このときに入れ替えるキャッシュバッファを選択するためによく使われているアルゴリズムがLRUである。LRUは、最後に使われてから最も長い時間が経ったキャッシュバッファを選択する。
The file system normally uses a storage area called a cache buffer. When there is a file read request from the application, the CPU performs the following processing. In other words, the CPU transfers the data of the corresponding file from the secondary storage device such as a hard disk or a memory card to the cache buffer in units of sectors, and the next requested data is transferred from the cache buffer to the memory area specified by the application. Forward. The contents of the cache buffer are retained as much as possible, and when the application requests to read the same data again, the CPU skips the transfer from the secondary storage device and transfers the data from the cache buffer to the memory area specified by the application. . As a result, access to the secondary storage device that operates slowly can be reduced, which is effective in improving the speed.
When there is a write request to the file from the application, the CPU transfers the data designated by the application to the cache buffer, and then transfers it to the secondary storage device. The actual data transfer from the cache buffer to the secondary storage device can be delayed. If there is an overwrite request for the same data from the application before transferring to the secondary storage device, the CPU changes only the data in the cache buffer and transfers only the last change result to the secondary storage device. Access to the next storage device can be reduced.
Further, the file system has metadata such as directory entry, FAT, and inode necessary for accessing the file. When reading or writing metadata, the CPU once transfers the metadata to the cache buffer and accesses the metadata on the cache buffer.
In this way, the CPU retains the data once transferred to the cache buffer as much as possible, and discards old data only when the cache buffer is completely used up. The CPU efficiently implements file access by using the empty cache buffer area for new data.
A commonly used algorithm for selecting a cache buffer to be replaced at this time is LRU. The LRU selects the cache buffer that has the longest time since it was last used.
ディスク全体の空き容量を計測する場合、スペースビットマップやアロケーションビットマップ、ファイルアロケーションテーブル等のディスク領域の割り当て状況を示すメタデータを先頭から末尾まで全部検査して空き領域の数を数える処理が行われる。CPUは、この処理を行うためにディスク領域の割り当て状況を示すメタデータを大量に読み込むが、後に同じメタデータが近い将来利用される可能性は低い。
また、CPUは、ファイルを書き込むためにディスク領域を新たに割り当てる場合も、空き領域を探すためにディスク領域の割り当て状況を示すメタデータを読み込む。しかしながら、空き領域がなかなか見つからない場合は空き領域が見つかるまで大量にメタデータの読み込みが発生する。この場合も、空き領域がなかったメタデータは近い将来再び利用される可能性は低い。
また、ファイルを作成するためにディレクトリの空き領域を探す場合、CPUは、ディレクトリを表すメタデータを先頭から順に参照して空き領域を探す。しかしながら、空き領域がなかなか見つからない場合は大量にメタデータの読み込みが発生する。この場合も空き領域がなかったメタデータは近い将来再び利用される可能性は低い。
このように再利用性の低いメタデータが大量に読み込まれると、それまでキャッシュバッファに入っていた再利用性の高いデータがキャッシュバッファから追い出されてしまい、キャッシュバッファの利用効率が下がる問題があった。
When measuring the free space of the entire disk, a process that counts the number of free areas by inspecting all the metadata indicating the allocation status of the disk area, such as space bitmap, allocation bitmap, and file allocation table, from the beginning to the end. Is called. In order to perform this processing, the CPU reads a large amount of metadata indicating the allocation status of the disk area, but it is unlikely that the same metadata will be used in the near future.
In addition, even when a new disk area is allocated for writing a file, the CPU reads metadata indicating the allocation status of the disk area in order to search for a free area. However, if a free area is not easily found, a large amount of metadata is read until a free area is found. Also in this case, it is unlikely that metadata that has no free space will be used again in the near future.
When searching for a free area in a directory to create a file, the CPU searches for free areas by sequentially referring to metadata representing the directory from the top. However, a large amount of metadata is read when a free area cannot be found easily. Also in this case, it is unlikely that metadata that has no free space will be used again in the near future.
When a large amount of metadata with low reusability is read in this way, data with high reusability that had been in the cache buffer until then is expelled from the cache buffer, which reduces the efficiency of use of the cache buffer. It was.
本発明はこのような問題点に鑑みなされたもので、再利用性の低いデータによってそれまでキャッシュバッファに入っていたデータが追い出されることを防ぎ、限られた資源であるキャッシュバッファを有効に活用することを目的とする。 The present invention has been made in view of such a problem, and prevents data that has been stored in the cache buffer by data with low reusability from being expelled, and effectively uses the cache buffer that is a limited resource. The purpose is to do.
そこで、本発明の情報処理装置は、再利用される可能性が高いキャッシュバッファを管理する第一管理手段と、再利用される可能性が低いキャッシュバッファを管理する第二管理手段と、利用し終わったデータが予め定められた時間内に再利用される可能性が、予め定められた値以上か否かを判断する判断手段と、前記判断手段で、予め定められた値以上であると判断された場合、前記利用し終わったデータが入っているキャッシュバッファを前記第一管理手段で管理させ、予め定められた値未満であると判断された場合、前記利用し終わったデータが入っているキャッシュバッファを前記第二管理手段で管理させるよう振り分ける振り分け手段と、新たにデータを読み込むためのキャッシュバッファが足りないときに、データを破棄するキャッシュバッフとして、前記第二管理手段で管理されているキャッシュバッファを選択する選択手段と、を有する。 Therefore, the information processing apparatus of the present invention uses a first management unit that manages a cache buffer that is likely to be reused, and a second management unit that manages a cache buffer that is less likely to be reused. Judgment means for judging whether or not the possibility that the finished data is reused within a predetermined time is greater than or equal to a predetermined value, and the determination means determines that the possibility is greater than or equal to a predetermined value. If it is determined that the cache buffer containing the data that has been used is managed by the first management means and is determined to be less than a predetermined value, the data that has been used is contained. A distribution unit for distributing the cache buffer to be managed by the second management unit and a key for discarding the data when there are not enough cache buffers for reading data. As Sshubaffu, having a selection means for selecting a cache buffer that is managed by the second management unit.
本発明によれば、再利用性の低いデータによってそれまでキャッシュバッファに入っていた再利用性の高いデータが追い出されることを防ぎ、限られた資源であるキャッシュバッファを有効に活用することができる。 According to the present invention, it is possible to prevent data with high reusability that has been in the cache buffer from being expelled by data with low reusability, and to effectively use the cache buffer that is a limited resource. .
以下、本発明の実施形態について図面に基づいて説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
<実施形態1>
図1は、情報処理装置(コンピュータ)1のハードウェア構成の一例を示す図である。図1に示されるように情報処理装置1は、ハードウェア構成として、CPU11を含む。CPU11が、記憶装置13に記憶されているプログラムに基づき処理を行うことによって、ファイルシステムやLRUの機能、又は後述するフローチャートに係る処理が実現される。
CPU11には、バス10を介して、入力装置12、記憶装置13及び表示装置14が接続されている。記憶装置13は、例えば、ROM及びRAM及びハードディスク装置等からなり、上述した各プログラム以外に、プログラムに基づく処理で用いられるデータを記憶する。なお、後述するキャッシュバッファ等は、RAMに実装されているものとする。表示装置14は、情報を表示する例えばディスプレイ等である。入力装置12は、情報を入力する例えば操作キー等である。
なお、入力装置12及び表示装置14は、情報処理装置1の必須の構成要素ではない。
以下では特に言及しない限り、CPU11が処理を実行するものとする。
<
FIG. 1 is a diagram illustrating an example of a hardware configuration of an information processing apparatus (computer) 1. As shown in FIG. 1, the
An
The
In the following description, it is assumed that the
図2は、キャッシュバッファと二つのLRUとを表す概略図である。
第一LRU101は、近い将来再利用される可能性の高いキャッシュバッファ、つまり、予め定められた時間内に再利用される可能性が、予め定められた値以上のキャッシュバッファ、を管理する。第一LRU101は、第一管理手段の一例である。第二LRU102は、近い将来再利用される可能性の低いキャッシュバッファ、つまり、予め定められた時間内に再利用される可能性が、予め定められた値未満のキャッシュバッファを管理する。第二LRU102は、第二管理手段の一例である。キャッシュバッファ集合103は、キャッシュバッファの集合であり、1セクタ分のキャッシュバッファがB1からB8まで8個存在している。LRUは、それぞれのキャッシュバッファをリンクリストでつなげることで管理している。図2において、LRUにつながれているキャッシュバッファのうち、先頭にあるものが最近利用されたキャッシュバッファであり、末尾のものが最も長い間利用されていないキャッシュバッファである。第一LRUから辿れるリンクリストには近い将来再利用される可能性の高いものだけがつながれており、第二LRUから辿れるリンクリストには近い将来再利用される可能性の低いものだけがつながれている。
B1からB8までの全てのキャッシュバッファに何らかのデータが格納されている状態で、キャッシュバッファには存在しない新しいデータにアクセスする必要が生じた場合について説明する。新しいデータをキャッシュバッファに格納するためには既存のキャッシュバッファのどれかを選択してその内容を新しいデータに置き換える必要がある。
本実施形態では、CPU11は、第二LRUにつながれているキャッシュバッファが一つもないときには第一LRUの末尾のキャッシュバッファを選択するが、そうでないときには第二LRUの末尾にあるキャッシュバッファを選択する。選択されたバッファのそれまでの内容は破棄され、新しいデータで上書きされる。そしてそのキャッシュバッファは、それまで存在していたLRUから取り除かれる。図2(A)の例では、第二LRUの末尾にあるキャッシュバッファB8が選択される。
FIG. 2 is a schematic diagram illustrating a cache buffer and two LRUs.
The first LRU 101 manages a cache buffer that is highly likely to be reused in the near future, that is, a cache buffer that is likely to be reused within a predetermined time and that is equal to or greater than a predetermined value. The first LRU 101 is an example of a first management unit. The second LRU 102 manages a cache buffer that is unlikely to be reused in the near future, that is, a cache buffer that is less likely to be reused within a predetermined time. The second LRU 102 is an example of a second management unit. The
A case where it is necessary to access new data that does not exist in the cache buffer in a state where some data is stored in all the cache buffers B1 to B8 will be described. In order to store new data in the cache buffer, it is necessary to select one of the existing cache buffers and replace the contents with the new data.
In this embodiment, the
図3は、キャッシュバッファ選択処理の一例を示すフローチャートである。ファイルシステムがキャッシュバッファを必要としたとき、S401からキャッシュバッファ選択手順が開始される。S402では、CPU11は、指定されたセクタのキャッシュバッファが既に存在するかどうかを判断する。同じセクタのキャッシュバッファが存在していた場合(S402においてYes)、CPU11は、S406に移り、そのバッファを選択する。指定されたセクタのキャッシュバッファが存在しない場合(S402においてNo)、CPU11は、S403に移り、第二LRUが空かどうかを判断する。空でない場合(S403においてNo)、CPU11は、S404で第二LRUの末尾のバッファを選択し、S407に移る。第二LRUが空の場合(S403においてYes)、CPU11は、S405で第一LRUの末尾のバッファを選択し、S407に移る。S407では、CPU11は、選択したキャッシュバッファに入っている内容を破棄し、新しいセクタを読み込みキャッシュバッファに格納し、S408に移る。S408では、CPU11は、選択したキャッシュバッファをLRUから取り除く。
次に、このキャッシュバッファB8を利用し終わったときの動きを図2(B)と図2(C)とを参照して説明する。B8を利用し終わった時点で、このデータが近い将来再利用される可能性が高いと判断された場合には、B8は第一LRUの先頭につながれる(図2(C))。一方、このデータが近い将来再利用される可能性が低いと判断された場合には、B8は第二LRUの先頭につながれる(図2(B))。
FIG. 3 is a flowchart illustrating an example of the cache buffer selection process. When the file system needs a cache buffer, a cache buffer selection procedure is started from S401. In S402, the
Next, the operation when the use of the cache buffer B8 is completed will be described with reference to FIG. 2 (B) and FIG. 2 (C). When it is determined that there is a high possibility that this data will be reused in the near future when B8 is used, B8 is connected to the head of the first LRU (FIG. 2C). On the other hand, if it is determined that there is a low possibility that this data will be reused in the near future, B8 is connected to the head of the second LRU (FIG. 2B).
キャッシュバッファを利用し終わった時点でこのデータが近い将来再利用される可能性を判断する方法について、図4を用いて説明する。図4は、FATファイルシステムにおいてディレクトリの空き領域を探す手順を示すフローチャートである。ファイルやディレクトリを作成する際にS501からディレクトリの空き領域を探す処理が開始される。S502で、CPU11は、セクタ番号を格納する変数sectに対象ディレクトリの先頭セクタ番号を格納する。S503で、CPU11は、変数sectに格納されているセクタ番号のキャッシュバッファを獲得する。S504で、CPU11は、変数pにキャッシュバッファの先頭アドレスを格納する。変数pは、ファイルやディレクトリ一つ分の領域であるディレクトリエントリの先頭アドレスを格納するポインタ変数である。
次にS513で、CPU11は、pが指す領域が空き領域かどうかを調べる。pが指す領域が空き領域であった場合(S513においてYes)、CPU11は、処理をS510に移し、このキャッシュバッファを第一LRUに挿入する。第一LRUに挿入する理由は、この空き領域にファイルやディレクトリが近い将来作成されるはずであり、そのときにこのキャッシュバッファが再利用されるからである。S510の後は、CPU11は、処理をS511に移し、処理を終了する。
A method of determining the possibility that this data will be reused in the near future when the cache buffer is used will be described with reference to FIG. FIG. 4 is a flowchart showing a procedure for searching for an empty area of a directory in the FAT file system. When creating a file or directory, a process for searching for a free area in the directory is started from S501. In S502, the
In step S513, the
S513でpが指す領域が空き領域でなかった場合(S513においてNo)、CPU11は、S505でpを32バイト増加させる。次にS506で、CPU11は、pがセクタの終端かどうかを調べる。セクタの終端ではなかった場合(S506においてNo)、CPU11は、処理をS504に移す。S506でpがセクタの終端であった場合(S506においてYes)、CPU11は、S507でこのキャッシュバッファを第二LRUに挿入する。第二LRUに挿入する理由は、このセクタには空き領域がなかったのでこのキャッシュバッファが近い将来再利用される可能性は少ないからである。
次にS508で、CPU11は、変数sectの示すセクタがディレクトリの終端かどうかを調べる。終端であった場合(S508においてYes)、CPU11は、ディレクトリの最後まで空き領域がなかったということなので、S512でこの処理を終了する。S508でディレクトリの終端でなかった場合(S508においてNo)、CPU11は、当該ディレクトリにおいてsectが指すセクタの論理的に次のセクタ番号をsectに格納して、処理をS503に戻す。
以上の処理により、ディレクトリ内に空き領域を探す処理において、空き領域がなかったキャッシュバッファを第二LRUに挿入し、空き領域を発見したキャッシュバッファを第一LRUに挿入する。このことにより、キャッシュバッファを有効に活用することが可能となる。
If the area pointed to by p in S513 is not an empty area (No in S513), the
In step S508, the
Through the above processing, in the process of searching for a free area in the directory, a cache buffer that has no free area is inserted into the second LRU, and a cache buffer that has found a free area is inserted into the first LRU. This makes it possible to effectively use the cache buffer.
また、本実施形態は、ディレクトリ中の空き領域を探す例であるが、別な実施形態としてディスク上に新たなデータを書き込むために空きクラスタを探す処理も同様に実現することができる。ディレクトリ中の空き領域を探す処理と違うのは、空きクラスタを探すのにディレクトリではなくFile Allocation Table(FAT)を調べる点である。FATの1エントリ分が空きを示していれば、それに対応するクラスタが空きということである。空きが見つかった場合、CPU11は、そのFATを含むキャッシュバッファを第一LRUに挿入する。その理由は、空きクラスタにはデータがかかれるはずで、その空きを示すFATが書き換えられるからである。また、CPU11は、空きを含まなかったFATを含むキャッシュバッファは、第二LRUに挿入する。その理由は、そのFATは近い将来書き換えられる可能性が低いからである。
Further, although this embodiment is an example of searching for a free area in a directory, as another embodiment, a process of searching for a free cluster in order to write new data on a disk can be similarly realized. The difference from the process of searching for a free area in the directory is that a file allocation table (FAT) is checked instead of a directory to search for a free cluster. If one FAT entry indicates a vacancy, the corresponding cluster is vacant. When a free space is found, the
<実施形態2>
次に図5を用いて上述した実施形態とは別の実施形態を説明する。図5は、FAT16ファイルシステムにおいてディスク上の全ての空きクラスタを数え上げる手順を示すフローチャートである。FAT16ファイルシステムでは、一つ一つのクラスタの状態を2バイトのFATエントリで表しており、空きクラスタ数を数え上げるには、全てのFATエントリを先頭から末尾まで2バイトごとに検査して、空きを示すエントリの数を数える。この処理の特徴は、FAT領域の全てのセクタを読み込んで順にアクセスする必要があるが、この処理のために読み込んだキャッシュバッファのどれもがその後の処理において再利用される可能性が低い点である。したがって、本実施形態では、CPU11は、読み込んだ全てのキャッシュバッファを第二LRUに挿入する。これにより、この処理が始まる前の時点で第一LRUに入っているキャッシュバッファの方が有効活用される可能性を高めている。
<Embodiment 2>
Next, an embodiment different from the above-described embodiment will be described with reference to FIG. FIG. 5 is a flowchart showing a procedure for counting all free clusters on the disk in the FAT16 file system. In the FAT16 file system, the status of each cluster is represented by a 2-byte FAT entry, and in order to count the number of free clusters, all FAT entries are inspected every 2 bytes from the beginning to the end, and free space is checked. Count the number of entries shown. The feature of this processing is that all sectors in the FAT area need to be read and accessed sequentially, but it is unlikely that any cache buffer read for this processing will be reused in subsequent processing. is there. Therefore, in this embodiment, the
より具体的な手順を、図5を用いて説明する。ファイルシステムが空きクラスタを数え上げる必要がある時にはS601から処理が始められる。S602で、CPU11は、セクタ番号を示す変数sectにFAT領域の先頭セクタ番号を格納し、空きクラスタを数え上げた結果を示す変数cntに0を格納する。次にS603で、CPU11は、sectが示すセクタのキャッシュバッファを獲得する。S604とS605とS606とS607とS608とは、当該キャッシュバッファに入っている1セクタ分のFATが示す空きクラスタを数える部分であるが、本実施形態の本質ではないので説明は省略する。1セクタ分の処理が終わるとS609に到達し、CPU11は、ここで処理の終わったキャッシュバッファを第二LRUに挿入する。その後、S610で、CPU11は、sectがFAT領域の終端かどうかを調べる。終端であった場合(S610においてYes)、CPU11は、S612で処理を終了する。このときcntにはディスク上の空きクラスタの総数が入っている。S610でsectがFAT領域の終端ではなかった場合(S610においてNo)、CPU11は、sectに次のセクタ番号を格納し、処理をS603に戻す。
以上の処理により、キャッシュバッファを有効に活用することができる。
A more specific procedure will be described with reference to FIG. When the file system needs to count free clusters, the process is started from S601. In S602, the
With the above processing, the cache buffer can be used effectively.
<その他の実施形態>
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。
<Other embodiments>
The present invention can also be realized by executing the following processing. That is, software (program) that realizes the functions of the above-described embodiments is supplied to a system or apparatus via a network or various storage media, and a computer (or CPU, MPU, etc.) of the system or apparatus reads the program. It is a process to be executed.
以上、上述した各実施形態によれば、再利用性の低いデータによってそれまでキャッシュバッファに入っていたデータが追い出されることを防ぎ、限られた資源であるキャッシュバッファを有効に活用することができる。 As described above, according to each of the above-described embodiments, it is possible to prevent data that has been stored in the cache buffer from being expelled by data with low reusability, and to effectively use the cache buffer that is a limited resource. .
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。 The preferred embodiments of the present invention have been described in detail above, but the present invention is not limited to such specific embodiments, and various modifications can be made within the scope of the gist of the present invention described in the claims.・ Change is possible.
11 CPU
13 記憶装置
11 CPU
13 Storage device
Claims (3)
再利用される可能性が低いキャッシュバッファを管理する第二管理手段と、
利用し終わったデータが予め定められた時間内に再利用される可能性が、予め定められた値以上か否かを判断する判断手段と、
前記判断手段で、予め定められた値以上であると判断された場合、前記利用し終わったデータが入っているキャッシュバッファを前記第一管理手段で管理させ、予め定められた値未満であると判断された場合、前記利用し終わったデータが入っているキャッシュバッファを前記第二管理手段で管理させるよう振り分ける振り分け手段と、
新たにデータを読み込むためのキャッシュバッファが足りないときに、データを破棄するキャッシュバッファとして、前記第二管理手段で管理されているキャッシュバッファを選択する選択手段と、
を有する情報処理装置。 A first management means for managing cache buffers that are likely to be reused;
A second management means for managing cache buffers that are unlikely to be reused;
A determination means for determining whether or not the possibility that the data that has been used is reused within a predetermined time is greater than or equal to a predetermined value;
When it is determined by the determination means that it is equal to or greater than a predetermined value, the first management means manages the cache buffer containing the data that has been used and is less than a predetermined value. If it is determined, a distribution unit that distributes the cache buffer containing the used data to be managed by the second management unit;
Selection means for selecting a cache buffer managed by the second management means as a cache buffer for discarding data when there is not enough cache buffer for reading data;
An information processing apparatus.
再利用される可能性が高いキャッシュバッファを管理する第一管理ステップと、
再利用される可能性が低いキャッシュバッファを管理する第二管理ステップと、
利用し終わったデータが予め定められた時間内に再利用される可能性が、予め定められた値以上か否かを判断する判断ステップと、
前記判断ステップで、予め定められた値以上であると判断された場合、前記利用し終わったデータが入っているキャッシュバッファを前記第一管理ステップで管理させ、予め定められた値未満であると判断された場合、前記利用し終わったデータが入っているキャッシュバッファを前記第二管理ステップで管理させるよう振り分ける振り分けステップと、
新たにデータを読み込むためのキャッシュバッファが足りないときに、データを破棄するキャッシュバッファとして、前記第二管理ステップで管理されているキャッシュバッファを選択する選択ステップと、
を有する情報処理方法。 An information processing method executed by an information processing apparatus,
A first management step for managing cache buffers that are likely to be reused;
A second management step for managing cache buffers that are unlikely to be reused;
A determination step of determining whether or not the possibility that the data that has been used is reused within a predetermined time is greater than or equal to a predetermined value;
If it is determined in the determination step that the value is greater than or equal to a predetermined value, the cache buffer containing the data that has been used is managed in the first management step, and is less than a predetermined value If determined, a distribution step for distributing the cache buffer containing the used data to be managed in the second management step;
A selection step of selecting the cache buffer managed in the second management step as a cache buffer for discarding data when there are not enough cache buffers for reading data;
An information processing method comprising:
再利用される可能性が高いキャッシュバッファを管理する第一管理ステップと、
再利用される可能性が低いキャッシュバッファを管理する第二管理ステップと、
利用し終わったデータが予め定められた時間内に再利用される可能性が、予め定められた値以上か否かを判断する判断ステップと、
前記判断ステップで、予め定められた値以上であると判断された場合、前記利用し終わったデータが入っているキャッシュバッファを前記第一管理ステップで管理させ、予め定められた値未満であると判断された場合、前記利用し終わったデータが入っているキャッシュバッファを前記第二管理ステップで管理させるよう振り分ける振り分けステップと、
新たにデータを読み込むためのキャッシュバッファが足りないときに、データを破棄するキャッシュバッファとして、前記第二管理ステップで管理されているキャッシュバッファを選択する選択ステップと、
を実行させるプログラム。 On the computer,
A first management step for managing cache buffers that are likely to be reused;
A second management step for managing cache buffers that are unlikely to be reused;
A determination step of determining whether or not the possibility that the data that has been used is reused within a predetermined time is greater than or equal to a predetermined value;
If it is determined in the determination step that the value is greater than or equal to a predetermined value, the cache buffer containing the data that has been used is managed in the first management step, and is less than a predetermined value If determined, a distribution step for distributing the cache buffer containing the used data to be managed in the second management step;
A selection step of selecting the cache buffer managed in the second management step as a cache buffer for discarding data when there are not enough cache buffers for reading data;
A program that executes
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010246398A JP5697403B2 (en) | 2010-11-02 | 2010-11-02 | Information processing apparatus, information processing method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010246398A JP5697403B2 (en) | 2010-11-02 | 2010-11-02 | Information processing apparatus, information processing method, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012098931A true JP2012098931A (en) | 2012-05-24 |
JP5697403B2 JP5697403B2 (en) | 2015-04-08 |
Family
ID=46390764
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010246398A Expired - Fee Related JP5697403B2 (en) | 2010-11-02 | 2010-11-02 | Information processing apparatus, information processing method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5697403B2 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6455659A (en) * | 1987-08-26 | 1989-03-02 | Nec Corp | Buffer selection system |
JPH05265863A (en) * | 1992-01-24 | 1993-10-15 | Fujitsu Ltd | Cache mechanism of computer |
JP2000089985A (en) * | 1999-08-20 | 2000-03-31 | Mitsubishi Electric Corp | Method for managing buffer cache of computer |
JP2008165573A (en) * | 2006-12-28 | 2008-07-17 | Konica Minolta Business Technologies Inc | Memory device, cache control method, and cache control program |
-
2010
- 2010-11-02 JP JP2010246398A patent/JP5697403B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6455659A (en) * | 1987-08-26 | 1989-03-02 | Nec Corp | Buffer selection system |
JPH05265863A (en) * | 1992-01-24 | 1993-10-15 | Fujitsu Ltd | Cache mechanism of computer |
JP2000089985A (en) * | 1999-08-20 | 2000-03-31 | Mitsubishi Electric Corp | Method for managing buffer cache of computer |
JP2008165573A (en) * | 2006-12-28 | 2008-07-17 | Konica Minolta Business Technologies Inc | Memory device, cache control method, and cache control program |
Non-Patent Citations (2)
Title |
---|
CSNG200900597012; 片上達也ほか2名: 'ファイル操作のシステムコール発行頻度に基づくバッファキャッシュ制御法の提案' コンピュータシステム・シンポジウム論文集 第2009巻 第13号, 20091119, pp.111〜118, 社団法人情報処理学会 * |
JPN6014021648; 片上達也ほか2名: 'ファイル操作のシステムコール発行頻度に基づくバッファキャッシュ制御法の提案' コンピュータシステム・シンポジウム論文集 第2009巻 第13号, 20091119, pp.111〜118, 社団法人情報処理学会 * |
Also Published As
Publication number | Publication date |
---|---|
JP5697403B2 (en) | 2015-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI684099B (en) | Profiling cache replacement | |
JP6106028B2 (en) | Server and cache control method | |
CN106294352B (en) | A kind of document handling method, device and file system | |
US9727479B1 (en) | Compressing portions of a buffer cache using an LRU queue | |
US9501419B2 (en) | Apparatus, systems, and methods for providing a memory efficient cache | |
CN110555001B (en) | Data processing method, device, terminal and medium | |
US11314689B2 (en) | Method, apparatus, and computer program product for indexing a file | |
EP2541423B1 (en) | Replacement policy for resource container | |
US9021208B2 (en) | Information processing device, memory management method, and computer-readable recording medium | |
US20140032854A1 (en) | Coherence Management Using a Coherent Domain Table | |
KR20130108298A (en) | Card-based management of discardable files | |
KR20120068454A (en) | Apparatus for processing remote page fault and method thereof | |
KR20110102327A (en) | Discardable files | |
CN107341114B (en) | Directory management method, node controller and system | |
US8484424B2 (en) | Storage system, control program and storage system control method | |
US8566534B1 (en) | Low overhead space management for large caches | |
CN115168259B (en) | Data access method, device, equipment and computer readable storage medium | |
US9934248B2 (en) | Computer system and data management method | |
JP2022188903A (en) | Information processing device and method | |
EP2621143A1 (en) | Information processing apparatus, distributed processing system, and distributed processing method | |
CN112148736A (en) | Method, device and storage medium for caching data | |
CN104978283A (en) | Memory access control method and device | |
US9858204B2 (en) | Cache device, cache system, and cache method | |
JP5697403B2 (en) | Information processing apparatus, information processing method, and program | |
WO2014147840A1 (en) | Access control program, disk device, and access control method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20131105 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140425 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140527 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140707 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20141202 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20141215 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20150113 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150210 |
|
LAPS | Cancellation because of no payment of annual fees |