projects techreports press lab location staff
citi top.2 top.3
citi mid.3
bot.1 bot.2 bot.3
star

directory delegations whitepaper


note

The technical report accompanying this work will become available in early March.

abstract

    In an effort to improve scalability and client performance, the next generation NFS protocol, NFS version 4 (NFSv4), introduces the use of both read and write delegations on files. File delegations improve client cache consistency and lock performance while reducing communication overhead for common workloads. Major work has recently taken place to formulate a model for read delegations on directories to enable more effective directory caching. However, nothing has been done to characterize the behavior of client workloads to assess the utility of directory delegations. We present a flexible trace simulation framework for prototyping delegation models and the policies that dictate granting delegations. We use the simulator to measure directory delegation effectiveness and show that client performance can be substantially improved even with a very simple directory delegation model.

contributions made

Built a flexible trace-based NFS simulator.
  • Simulates server and client behavior from passively captured NFSv3 traffic
  • Good estimator for NFSv4 behavior because both protocols make a best-effort attempt to achieve cache consistency
  • Can effortlessly plug in new delegation models
Provided detailed analysis of directory delegation behavior on common, publically available workloads.
  • Found very large reductions in LOOKUPs in the presence of directory delegations
  • Found that existing NFS clients cache directory metadata very poorly
  • Gave highly detailed breakdowns of notification behavior based upon RFC drafted notification model
  • Calculated the amount of notification volume that can be reduced by delaying delivery within a certain window of the notification being generated

current work

Drafting new RFC to incorporate directory delegations.
  • Separating directory delegations and notifications
  • Directory delegations should be visible to client, invisible to user
    • Reuse file delegation infrastructure
    • Build an OPENDIR operation into RFC to mirror v4.0 behavior on files.
  • Directory notifications should be provided by client, visible to user
    • Follow Saadia Khan's original proposal for GET_DIR_DELEGATION but with some modifications.
    • Change GET_DIR_DELEGATION to GET_DIR_NOTIFICATION?
  • Possibility of nixing file attribute change notifications?
Adding more parameters to delegation models.
  • Cache size: How does reducing cache size affect the reduction of LOOKUPs?
  • Grace period following a revocation: How long do we wait before we attempt to reacquire a delegation ticket? How does this affect the amount of roundtrip traffic?
Rewriting portions of the simulator.
  • Porting from C++ to Python
  • Making Pyrex wrappers for the core I/O routines
  • Improving total turnaround time to simulate new granting policies and delegation models

contact

For more information on this work, please contact bwickman@citi.umich.edu.

blank.space
b.star projects | techreports | press
lab | location | staff
Email address
or call +1 734 763 2929
Copyright © 1996-2004 The Regents of the University of Michigan
bottom.line
citi