Check out the new USENIX Web site. next up previous
Next: Impact of Directory Depth Up: Micro-benchmarking Experiments Previous: Overhead of System Calls


Impact of Meta-data Caching and Update Aggregation

Our micro-benchmark experiments revealed two important characteristics of modern local file systems --aggressive meta-data caching, which benefits meta-data reads, and update aggregation, which benefits meta-data writes. Recall that, update aggregation enables multiple writes to the same dirty block to be ``batched'' into a single asynchronous network write. We explore this behavior further by quantifying the benefits of update aggregation and caching in iSCSI.

We choose eight common operations that read and update meta-data, namely creat, link, rename, chmod, stat, access, write and mkdir. For each operation, we issue a batch of $ N$ consecutive calls of that operation and measure the network message overhead of the entire batch. We vary $ N$ from 1 to 1024 (e.g., issue 1 mkdir, 2 mkdirs, 4 mkdirs and so on, while starting with a cold cache prior to each batch). Figure 3 plots the amortized network message overhead per operation for varying batch sizes. As shown, the amortized overhead reduces significantly with increasing batch sizes, which demonstrates that update aggregation can indeed significantly reduce the number of network writes. Note that some of the reduction in overhead can be attributed to meta-data caching in iSCSI. Since the cache is warm after the first operation in a batch, subsequent operations do not yield additional caching benefits--any further reduction in overhead is solely due to update aggregation. In general, our experiment demonstrates applications that exhibit meta-data locality can benefit significantly from update aggregation.

Figure 3: Benefit of meta-data update aggregation and caching in iSCSI. The figure shows the amortized network message overhead per operation for varying batch sizes. The batch size is shown on a logarithmic scale.
\begin{figure}\centerline{\epsfig{figure=graphs/Batching.eps,width=3.0in}}\end{figure}


next up previous
Next: Impact of Directory Depth Up: Micro-benchmarking Experiments Previous: Overhead of System Calls
2004-02-10