FMS accomplishes these benefits by using a multi-level storage scheme for each file record. At the highest level, data is divided among I/O "queues". Each queue is responsible for managing the data in it's memory region. Disks may physically be attached directly to the memory region or be at a central location.
Within each queue, the data is further divided into "stripes". Running in parallel, the stripes transfer their part of the record to their individual disk.
Each stripe may consist of multiple "volumes", which are used to increase capacity.
The figure above shows a FMS file system having 2 queues, 3 stripes per queue and 2 volumes per stripe.
Only symmetrical configurations are supported. The capacity of each volume must be identical.
The total speedup is the number of queues times the number of stripes per queue. For this example, data would be transferred at a rate of (2)(3) = 6 times faster than each individual disk.
The total capacity is the total number of volumes times the capacity per volume. For this example, the total storage would be (2)(3)(2)=12 times the data that could be stored on an individual disk.
When a file is opened for your application, FMS physically opens a file on each queue and stripe to hold the data. As you write each to the file, FMS divides your records up equally among the queues and stripes. When the volume becomes full, FMS automatically switches to the next volume. Because the configuration is symmetrical, all volumes will be switched at the same time.
FMS numbers the queues, stripes and volumes from 0 through 9. The 3 digit queue/stripe/volume number uniquely identifies each disk. For example, disk 021 in the above figure is in queue 0, stripe 2 and volume 1. The maximum number of queues, stripes per queue and volumes per stripe is 10 each, for a total of 1000 volumes.
Usually these parameters are set in the license file so they may be easily changed if the hardware configuration is modified.
where qsv is the queue/stripe/volume number. One directory is required for each volume.
The performance and capacity you obtain depends on where you place these directories. It is important to distinguish between these directories used by FMS and physical disks. You may place the directories anywhere in the file system. One or more directories can be placed on a single physical disk. In an extreme example, it is possible to have all FMS directories reside on a single disk.
To obtain the best performance, you should balance the disk stripes among the physical disks to achieve a uniform transfer rate. For example, if you have one disk that transfers data twice as fast as another, place two stripes on the faster disk.
The capacity is limited by the space available in the smallest directory. You may want to rearrange the files on your system to provide FMS the maximum space.
ln -s /disk0/FMSDISK000 FMSDISK000
ln -s /disk1/FMSDISK001 FMSDISK001
ln -s /disk2/FMSDISK010 FMSDISK010
ln -s /disk3/FMSDISK011 FMSDISK011
ln -s /disk4/FMSDISK020 FMSDISK020
ln -s /disk5/FMSDISK021 FMSDISK021
ln -s /disk6/FMSDISK100 FMSDISK100
ln -s /disk7/FMSDISK101 FMSDISK101
ln -s /disk8/FMSDISK110 FMSDISK110
ln -s /disk9/FMSDISK111 FMSDISK111
ln -s /disk10/FMSDISK120 FMSDISK120
ln -s /disk11/FMSDISK121 FMSDISK121
One final tuning note. Operating too many disks in parallel on a single SCSI bus may exceed the bandwidth of the bus or the controller. On most systems, this is between 3 and 4 disks. The best solution is to divide the stripes evenly among the I/O busses.