Go To Top Go Up Go Back Go Forward

FMS File Parameter IOTYPE

Data Type

Integer

Default Value

0
Some UNIX systems only.

DESCRIPTION:

This parameter directs FMS how to perform I/O to the disks. The following options are available:

By default, UNIX file systems transfer data that is written to a buffer maintained by the operating system (buffer cache). At some point determined by the operating system, this data is then transferred to disk. You may force the data written to disk during write operations by setting IOTYPE=3.

For most applications this has the effect of providing a solid state disk for small files and improves performance. However, for extremely large files, moving the data twice can degrade performance.

FMS provides the raw I/O and direct I/O options as a way to bypass the buffer cache and transfer data directly to disks.

RAW I/O

To use the RAW I/O feature, you specify IOTYPE=1 in the license file. In addition, you must also provide a file called FMSRAW that describes the raw devices. This file contains a record for each raw I/O device in the following format:

Column 1: Queue  number (0 to 9)
Column 2: Stripe number (0 to 9)
Column 3: Volume number (0 to 9)
Column 4: Space
Column 5 and up: Raw device name

The first record contains the mount point for the unstriped files. This is the information normally placed in the directory FMSDISK. The first four columns of this record should be blank.

Each of the following records specifies the mount point for one of the FMS stripes. The values of the FMS Parameters NUMIOQ, NUMSTP and NUMVOL determine the number of records required. This is the information normally placed in directories FMSDISKijk, where i is the queue number, j is the stripe number and k is the volume number.

FMS opens each of these files when FMSINI is called. When you call FMS routines to create files from your application, they are placed within these files.

You may also use the RAW I/O option to address files that are part of the UNIX file system. If you specify a valid path name instead of the raw device name in the FMSRAW file, FMS opens the file and treats it as a raw device. While this does not provide the potential performance benefits of true RAW devices, it may be used to store some of the file data as normal files and some as raw files.

Example

Suppose we have 3 disk drives (rrz3c, rrz4c and rrz5c) that we have initialized as raw devices. We would like to create a 3-way file stripe system to store the large FMS files on these devices (the large FMS files are vector files and off-diagonal matrix files). Normally these files would be placed in the directories FMSDISK000, FMSDISK010 and FMSDISK020. The small nonstriped files we want to place in a normal file called /tmp/MYDATA, which we have created with the command

touch /tmp/MYDATA

The file FMSRAW would contain the following:

    /tmp/MYDATA
000 rrz3c
010 rrz4c
020 rrz5c
where rrz is the character entry point to the disk partition as listed in the /dev directory.

Without RAW I/O, FMS would normally place the files in the directories FMSDISK, FMSDISK000, FMSDISK010 and FMSDISK020. With RAW I/O, the files are placed within the RAW files. In essence, each RAW file contains the same information that would normally be placed in a directory.

Direct I/O

Direct I/O is a feature available on some systems which provides for transfers to files within the UNIX system that avoid the buffer cache. To use this feature, simply set IOTYPE=2 in the license file, or before opening the file. All transfers to matrix and vector files will be performed directly without using the buffer cache. Refer to the README.TXT file with your distribution to determine if this feature is available on your system. Not all file types will support direct I/O. To determine the file type of a mounted file, use the command
df -T
Go To Top Go Up Go Back Go Forward
Copyright © Multipath Corporation