High Performance Design for HDFS with Byte Addressability of NVM and RDMA
Non Volatile Memory (NVM) offers byte addressability with DRAM like performance along with persistence. Thus, NVMs provide the opportunity to build high throughput storage systems for data intensive applications. HDFS (Hadoop Distributed File System) is the primary storage engine for MapReduce, Spark, and HBase. Even though HDFS was initially designed for commodity hardware, it is increasingly being used on HPC (High Performance Computing) clusters. The outstanding performance requirements of HPC systems make the I/O bottlenecks of HDFS a critical issue to rethink its storage architecture over NVMs. In this paper, we present a novel design for HDFS to leverage the byte addressability of NVM for RDMA (Remote Direct Memory Access) based communication. We analyze the performance potential of using NVM for HDFS and re design HDFS I/O with memory semantics to exploit the byte addressability fully. We call this design NVFS (NVM and RDMA aware HDFS) We also present cost effective acceleration techniques for HBase and Spark to utilize the NVM based design of HDFS by storing only the HBase Write Ahead Logs and Spark job outputs to NVM, respectively. We also propose enhancements to use the NVFS design as a burst buffer for running Spark jobs on top of parallel file systems like Lustre. Performance evaluations show that our design can improve the write and read throughputs of HDFS by up to 4x and 2x, respectively. The execution times of data generation benchmarks are reduced by up to 45% The proposed design also reduces the overall execution time of the SWIM workload by up to 18% over HDFS with a maximum benefit of 37% for job 38. For Spark TeraSort, our proposed scheme yields a performance gain of up to 11% The performances of HBase insert, update, and read operations are improved by 21% 16% and 26% respectively. Our NVM based burst buffer can improve the I/O performance of Spark PageRank by up to 24% over Lustre. To the best of our knowledge, this paper is the first attempt to incorporate NVM with RDMA for HDFS.
ICS