Appendix D Quality of Service Guide

Real-time I/O

Real-time I/O

A process requests real-time (ungated) I/O by using the SNFS External API SetRtio call (F_SETRIO ioctl). A library function is included in the External API sample source code that provides all the required cross- platform handling.

As an example, assume that a video playback application requires a constant rate of 186 MB/sec to correctly display images without dropping any frames. The application gates itself; that is, it requests I/O at a rate to satisfy the requirements of correctly displaying an image. QOS provides a mechanism so other I/O requests do not perturb the real-time display.

In the following example, assume the I/O subsystem has been qualified at 216 MB/sec. The file system block size is 4k. The disk subsystem is actually a large RAID array that internally maps many drives to a single LUN. There are four LUNs in the stripe group; each LUN is optimized for a 1.5 MB transfer. This corresponds to the following in the fsm configuration file:

[StripeGroup MyStripeGroup]

StripeBreadth 384

Node CvfsDisk0 0

Node CvfsDisk1 1

Node CvfsDisk2 2

Node CvfsDisk3 3

Rtmb 216

Also, assume there is only one stripe group for user data in the file system. As recommended by Quantum, there may be other stripe groups for metadata and journal that are not shown.

StorNext 3.1.3 Installation Guide

142

Page 159
Image 159
Quantum 6-00360-15 manual Real-time I/O