Our micro-benchmarking experiments gave a preliminary indication of the sensitivity of the network message overhead to the depth of the directory where the file operation was performed. In this section, we examine this sensitivity in detail by systematically varying the directory depth.
For each operation, we vary the directory depth from 0 to 16 and measure the network
message overhead in NFS and iSCSI for the cold and warm cache. A directory
depth of implies that the operation is executed in
i.
Figure 4 lists the observed overhead for
three different operations.
In the case of cold cache, iSCSI needs two extra messages for each
increase in directory depth due to the need to access the directory inode as well
as the directory contents. In contrast,
NFS v2 and v3 need only one extra message for each
increase in directory depth, since only one message
is needed to access directory contents--the directory inode
lookup is done by the server. As indicated earlier, NFS v4 performs
an extra access check on each level of the directory via the access call.
Due to this extra message, its overhead matches that of iSCSI and increases in tandem.Consequently, as the directory depth is increased, the iSCSI overhead
increases faster than NFS for the cold cache.
In contrast, a warm cache results in a constant number of messages independent of directory depth due to meta-data caching at the client for both NFS and iSCSI. The observed messages are solely due to the need to update meta-data at the server.