z/OS Network File System Guide and Reference
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Ordering out-of-sequence data

z/OS Network File System Guide and Reference
SC23-6883-00

While the previous section primarily addressed satisfying read requests from cache, this section discusses the caching used by z/OS NFS to satisfy write requests. z/OS NFS provides two site attributes for this purpose: cachewindow and logicalcache. As with all site attributes, cachewindow and logicalcache can be modified only at server startup.

The cachewindow attribute specifies the window size, in terms of number of packets, used in logical I/O to buffer client block writes received out of sequence. Figure 1 shows how out of order packets are buffered in a cache window until a block of data can be physically written to storage. Since out of sequence packets are an inevitability, a certain amount of buffering is necessary.

In a congested network environment, the nature of the underlying protocols should be taken into consideration when tuning the cachewindow attribute. Under such circumstances, NFS, UDP, and IP requests are more likely to timeout. When this situation is detected within the underlying protocols, the packet size can be reduced automatically. The packet size is generally halved until the server and client systems are balanced. The minimum packet size that can be negotiated is 512 bytes. Accessing the z/OS NFS server in such an environment can result in the default 8 KB read and write buffers being reduced to 512 bytes, or 16 packets instead of one packet. Under these circumstances the recommended value for cachewindow is 16 times the number of BIODs.

Another factor to consider in tuning the cachewindow attribute relates to the relationship between packet size, data set record length, and block size. If the packet size is typically greater than or equal to the data set block size, there is less of a need to buffer the packets. On the other hand, if the packet size is smaller than the block size and/or record length, a larger cachewindow value will be required to buffer the packets until a block I/O is executed.

Figure 1. Relationship between cachewindow and BIODs
Relationship between cachewindow and BIODs

The logicalcache site attribute specifies the size (in bytes) of allocated buffers for all the cache windows combined (see Figure 2). The number of cache windows in use will depend on the number of file handles accessed within a given timeout period.

Figure 2. Logicalcache utilization for cachewindows
Logicalcache utilization for cachewindows
Tuning of the logicalcache and cachewindow values should be determined based on the following conditions:
  • Number of files accessed for write
  • Available region
  • Typical packet size
  • Data set block size
  • Number of client Biods

The cachewindow and logicalcache attributes do not apply to z/OS UNIX processing.

For example, suppose you have AIX NFS client workstations on a lightly loaded network, with the default value of six Biods, writing to physical sequential MVS data sets allocated with 8 KB fixed length records. Further, assume that these files were allocated on 3390 Model 3 DASD with a 24 KB block size and that the network packet size is 8 KB. Then, a value of 12, twice the number of NFS client Biods, for cachewindow means that an out of sequence packet could be internally buffered within a 96 KB or four block range. If a packet is received outside this range, z/OS NFS must read data from storage in order to write the packet at the correct offset into the data set. z/OS NFS detects and ignores duplicate requests.

A value of 12 for cachewindow and a network packet size of 8 KB in our example results in a 96 KB buffer requirement per client actively writing to MVS data sets through z/OS NFS. A 5 MB value for logicalcache is sufficient to satisfy sustained write requests from 50 NFS client workstations at the same time.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014