[Systems & Architecture] [DAFS Collaborative]   Publications including DAFS DevCon Presentations
Reference Implementation source release client and server

Direct Access File System (DAFS)

"DAFS is a new file-access protocol that is being designed to take advantage of new standard memory-to-memory interconnect technologies such as VI and InfiniBand in datacenter environments. This protocol will dramatically enhance the performance of Internet, collaborative, e-commerce, and database applications through a new generation of high-performance, low-latency storage networks. " --the DAFS Collaborative.

At Duke we are building a source-release reference implementation of the DAFS protocol. This supports our broader research goal: enabling efficient and transparently scalable Internet-based storage and content services. The DAFS architecture leverages user-level networking to enable low-overhead network I/O, while empowering the client to control caching and data transfer policies.

Our implementation initially comprises a subset of the DAFS protocol supporting general asynchronous file system access. The current environment uses Giganet CLAN interconnects on Linux and FreeBSD, and Myrinet interconnects on FreeBSD. The DAFS client implementation is a library to be linked with applications that use the DAFS API. Our research includes development of packaged I/O programming toolkits for specific classes of applications, to map application needs to the DAFS interface without burdening the application to program directly to DAFS. Our first application is the TPIE toolkit, which enables rapid prototyping of external I/O algorithms solving large dataset problems, such as terrain analysis or massive data sorting.

Related Projects

Network Storage/Cluster Lab The lab site includes links to related projects.
TPIE External I/O computing toolkit.
Slice Scalable virtual storage appliance for NFS.
Geo* Systems and algorithms research focusing on geometric computing problems fundamental to spatial data processing.

Participants

Jeff Chase
Richard Kisley
Andrew Gallatin
Darrell Anderson
Rajiv Wickremesinghe
Ken Yocum

Collaborators

Margo Seltzer
Norm Hutchinson

Publications

DAFS Demo White Paper:
html pdf
Released at the DAFS Collaborative Developer's Conference 6/18/2001. This short paper outlines our work to date and presents DAFS vs. NFS comparative throughput results for an application that can transparently use either. The data and full series of graphs are here.
DAFS Demo Presentation:
html ppt
Presented at the DAFS Collaborative Developer's Conference 6/18/2001. This outlines our work to date and presents DAFS vs. NFS comparative throughput results for an application that can transparently use either. Also in PowerPoint format here.

Software

DAFS Reference Implementation (v0.22): Current release (tar/gzip). The code has been compiled and tested with Emulex/Giganet CLAN VIA provider NICs on Linux and FreeBSD, as well as the Myrinet GM library implementation of VIA - GVIA. The server is a user-level memory-based file server with limited name space management capabilities.
4.3-zero-copy.diff
4.3-zero-copy.errata
NFS zero-copy patch for FreeBSD 4.3 (RELENG_4_3_0_RELEASE), applicable in src/sys.


Funding for this project was provided by:
Network Appliance The National Science Foundation
under grant EIA-9870724 (ESS), with infrastructure
support from EIA-9972879 (RI).