Browse Prior Art Database

Method For Specialized File Access Attributing For Enhanced File System And Storage Performance Disclosure Number: IPCOM000201822D
Publication Date: 2010-Nov-24
Document File: 6 page(s) / 133K

Publishing Venue

The Prior Art Database


Disclosed is a method for provisioning files with a special access mode attribute (governing direct vs. cache) value such that the file is accessed with the best possible cache/direct mode irrespective of the way the file system has been mounted. This ensures optimum performance whether files have a high read affinity, a high write affinity, or both.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 28% of the total text.

Page 01 of 6

Method For Specialized File Access Attributing For Enhanced File System And Storage Performance

Direct input/output (I/O) is I/O to file system based files which bypasses the operating system's file system buffer cache. Direct I/O saves memory and boosts the performance of applications such as database applications that independently cache their own data. By switching to direct I/O and by giving database application the memory that would otherwise be used by the operating system to cache database data, a much larger working set of data can be cached, and a much higher cache hit rate can be sustained with obvious performance benefits. When physical I/O is required, the central processing unit (CPU) cost of performing that I/O is reduced because the data is not first copied to file system buffers.

Direct I/O also avoids performance problems associated with using database block sizes that do not exactly match the file system buffer size. Since the buffers are not used for caching, direct I/O removes a layer in between to be updated while writing a file; thus, it is best suited for large, frequently written files. It also helps the performance for files exhibiting no locality of reference. It avoids page cache overhead and polluting the page cache. Direct I/O can be enabled for an entire file system, using a file system mount option.

Application programs may also be able to request direct I/O for a

particular file by setting a flag when opening the file. The major advantage of using direct I/O is in its bypassing of the page cache for files with sequential access and no locality of reference; the advantage is greater if the file doesn't fit in memory.

Consider the files which are very frequently read and accessed using the direct I/O. In that case, since there is no caching layer with Direct I/O, it hinders file performance and negates the very reason to use direct I/O (i.e., to achieve better performance).

The following example describes the problems addressed in this disclosure.

There are three files in a file system:

• File-

A has high Write affinity

• File-B has high Read affinity

• File-C has both high read and high write affinity

There is an application which makes use of these files sporadically. In this case, the application will achieve a better performance:

• With File-


(high write affinity) if the file system is mounted using a direct I/O flag

• With File-B (high read affinity) if the file system is mounted without direct I/O flag


Page 02 of 6

While for the third file either the read or write performance will be impeded if we use any of the possibilities: assess file either with or without direct I/O.

Thus, for some applications which are reading files more frequently than writing (and files which are small enough that they can fit in the memory), the performance gain can be obtained by utilizing the file system caching facility. While for the files with higher

write affinity and too big to fit in memory, the...