Quantum 3.5 User Manual

Page of 178
Appendix D  Quality of Service Guide
Callbacks
StorNext 3.5 Installation Guide
157
them that they will need a token to perform any non-real-time I/O. The 
first I/O after receiving the callback will then request a non-real-time I/O 
token from the FSM.
The FSM calculates the amount of non-real-time bandwidth using the 
following formula:
avail_nrtio = rtio_limit - rtio_current;
avail_nrtio /= current_num_nonrtio_clients + 1
In the above calculation, the amount of existing real-time I/O (
rtio_current
has already been adjusted with the reserve parameter. As each client 
requests a non-real-time I/O token, the number of clients increases 
(
current_num_nonrtio_clients
 in the above formula) and the amount of 
available non-real-time I/O decreases.
Each time there is a change in the amount of non-real-time I/O available, 
the FSM sends callbacks to the clients with tokens. It is important to note 
that unlike the initial set of callbacks where the FSM sent callbacks to all 
connected clients, it is now only necessary to send callbacks to those 
clients that have an existing token.
Once a client has a token, it can perform as much I/O per second as is 
allowed by that token. It does not need to contact the FSM on every I/O 
request. The FSM will inform the client whenever the token changes 
value.