This project is currently supported by funding from Sun Microsystems and Network Appliance; and equipment donations from Sun Microsystems and SilverStorm.

Welcome to this web page related to `Open Solaris NFS over RDMA and pNFS' project, carried out in the Network-Based Computing Laboratory (NBCL), headed by Prof. Dhabaleswar K. (DK) Panda.

The aim of this project is to design and develop a high performance RDMA-enabled RPC transport for the NFS client and server in OpenSolaris. Existing transports based on TCP and UDP are limited by copying overhead, resulting in low aggregate bandwidth and high CPU utilization. In addition, the current RDMA-Read (Read-Read design) based design has performance and security limitations. This project has three broad objectives.

Keeping in mind the goals of security, performance and interoperability, we have designed and implemented a complete solution of the Read-Write design. This prototype is being incorporated into the OpenSolaris kernel code base. A recent thrust of this project is to develop a pNFS prototype for OpenSolaris. pNFS attempts to address the limited bandwidth scaling of the current single NFS server with multiple clients. The design goals will also take into account the requirements of NFSV4, while providing increased aggregate bandwdith through multiple data servers which are decoupled from the metadata servers.

Publications


Related Documents


Results

Our testbed consists of dual Opteron x2100's with 2GB memory and Single Data Rate (SDR) x8 PCI-Express InfiniBand Adapters. These systems were running OpenSolaris build version 33. The back-end file system used was tmpfs which is a memory based file system.

   

  • Read-Read versus Read-Write: The multi-threaded NFS Read bandwidth achieved with the Read-Read (RR) and Read-Write (RW) designs. The CPU utilization is also shown overlayed. These results were measured with the popular tool IOzone. The IOzone file size used was 128 MegaBytes to accommodate reasonable multi-threaded workloads (IOzone creates a separate file for each thread). The IOzone record size was fixed at 128KB. While there is an initial difference in the bandwidth at a smaller number of threads, the bandwidth for both designs saturates at about 350 MB/s with an increasing number of threads (with the Read-Write design delivering slightly better bandwidth). However, the Read-Write design shows better CPU utilization, largely because of a reduction in the number of data copies.
  •    

  • Impact of Memory Registration: We look at the impact of FMR and the buffer registration cache on the performance of the OpenSolaris NFS/RDMA Read bandwidth. The IOzone file size used was 128 MegaBytes. The IOzone record size was kept fixed 128KB. FMR can reduce registration overhead and increase multi-threaded bandwidth from a peak of about 350 MB/s to about 400 MB/s. The buffer registration cache on the other hand can increase bandwidth to approximately 700 MB/s.
  •    

  • OpenSolaris versus Linux: Finally, this figure shows a comparison of the basic Linux-Linux NFS/RDMA design and the OpenSolaris-OpenSolaris NFS/RDMA design. These numbers were measured using the basic register mode, and without any registration enhancements such as FMR, buffer registration cache or physical registration turned on.

  • Software


    Project Sponsors

    Sun MicroSystems and Network Appliance

    Current Graduate Student Researchers

    Ranjit Noronha, Lei Chai.

    Past Student Researchers

    Weikuan Yu.


    D. K. Panda
    Last modified: Monday, Jan 1, 2007