Direct Access File System (DAFS) Research

DAFS is an emerging commercial standard for network-attached storage on server cluster interconnects such as VI and InfiniBand. The DAFS architecture and protocol leverage adapter support for user-level networking, remote direct memory access (RDMA), and reliable communication. Our research in this context focuses on:

    • Demonstrating the performance benefits of the DAFS structure (read our Usenix'02 paper).

    • Proposing direct-access networking alternatives to RDMA. One alternative is the tagged receiver buffer pre-posting mechanism, which is described and evaluated in our FAST'03 paper.

    • Using RDMA to reduce the per-I/O server CPU overhead. This is achievable with Optimistic DAFS (ODAFS), our proposed extension to DAFS described and evaluated in our FAST'03 paper.

    • Understanding the structure and performance of DAFS kernel servers. Our BSDCon'02 paper describes our experience with designing and implementing a kernel server for FreeBSD.

    • Using DAFS for database network storage. Some of the benefits of using DAFS to improve the performance of database access are demonstrated in our Usenix'02 paper.

  • Addressing caching issues in user-level file system clients. A technical report describes our implementation of a user-level client cache for DAFS.

Work to date has produced the following software releases:

    • A kernel DAFS server for FreeBSD 4.3 (over the Emulex cLAN VI adapter) and FreeBSD 4.6 (over Myrinet VI-GM). This server implements a large subset of the DAFS specification and is currently in use in a number of academic and industrial environments.

    • A user-level implementation of a general-purpose caching layer between applications and the DAFS client API, accessible through a POSIX-like API.  The client caching implementation is based on DAFS open delegations.

    • A port of Berkeley DB to DAFS.  Experience with DB over DAFS has improved our understanding of the system.

  • Ports of a number of device drivers to FreeBSD.

We are using and building on a DAFS client provider API implementation originally developed by Jeff Chase's group at Duke University.



  • Kostas Magoutis, Salimah Addetia, Alexandra Fedorova, Margo I. Seltzer, "Making the Most out of Direct Access Network-Attached Storage", to appear in Proceedings of Second USENIX Conference on File and Storage Technologies (FAST'03), San Francisco, CA, March 31-April 2, 2003.
  • Kostas Magoutis, Salimah Addetia, Alexandra Fedorova, Margo I. Seltzer, Jeffrey S. Chase, Andrew J. Gallatin, Richard Kisley, Rajiv G. Wickremesinghe, Eran Gabber, "Structure and Performance of the Direct Access File System" (pdf), in Proceedings of USENIX Annual Technical Conference, Monterey, CA, June 9-14, 2002.
  • Kostas Magoutis, "The Optimistic Direct Access File System: Design and Network Interface Support" (pspdf) in Proceedings of Workshop on Novel Uses of System Area Networks (SAN-1) (Held in conjunction with HPCA-8), Cambridge, MA, February 2, 2002.
  • Kostas Magoutis, "Design and Implementation of a Direct Access File System (DAFS) Kernel Server for FreeBSD" (pspdf), in Proceedings of USENIX BSDCon 2002 Conference, San Franscisco, CA, February 11-14, 2002.
  • Salimah Addetia, "User-level Client-side Caching for DAFS", Harvard University TR-14-01, (pspdf).

Software Releases

  • DAFS client API implementation (source and release notes). This software was modified and expanded from its original release to support new functionality and fully interoperate with our kernel server.
  • DAFS kernel server for FreeBSD (patch for FreeBSD 4.3 and release notes).  This release includes
    • DAFS server, under sys/miscfs/dafs/
    • Driver support for the Emulex cLAN card, under sys/pci/falcon/
    • Memory registration/deregistration support for block I/O initiated by the DAFS server
  • Patch and errata for zero-copy optimized NFS implementation used in the USENIX 2002 paper

If you are using this software and have feedback for us, or if you would like to be included in a mailing list to receive notification of updates in the future, send us mail.

In the News


This page is maintained by Kostas Magoutis