Efficient object storage journaling in a distributed parallel file system

  • Authors:
  • Sarp Oral;Feiyi Wang;David Dillow;Galen Shipman;Ross Miller;Oleg Drokin

  • Affiliations:
  • National Center for Computational Sciences, Oak Ridge National Laboratory;National Center for Computational Sciences, Oak Ridge National Laboratory;National Center for Computational Sciences, Oak Ridge National Laboratory;National Center for Computational Sciences, Oak Ridge National Laboratory;National Center for Computational Sciences, Oak Ridge National Laboratory;Lustre Center of Excellence at ORNL, Sun Microsystem Inc.

  • Venue:
  • FAST'10 Proceedings of the 8th USENIX conference on File and storage technologies
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

Journaling is a widely used technique to increase file system robustness against metadata and/or data corruptions. While the overhead of journaling can be masked by the page cache for small-scale, local file systems, we found that Lustre's use of journaling for the object store significantly impacted the overall performance of our large-scale centerwide parallel file system. By requiring that each write request wait for a journal transaction to commit, Lustre introduced serialization to the client request stream and imposed additional latency due to disk head movement (seeks) for each request. In this paper, we present the challenges we faced while deploying a very large scale production storage system. Our work provides a head-to-head comparison of two significantly different approaches to increasing the overall efficiency of the Lustre file system. First, we present a hardware solution using external journaling devices to eliminate the latencies incurred by the extra disk head seeks due to journaling. Second, we introduce a software-based optimization to remove the synchronous commit for each write request, side-stepping additional latency and amortizing the journal seeks across a much larger number of requests. Both solutions have been implemented and experimentally tested on our Spider storage system, a very large scale Lustre deployment. Our tests show both methods considerably improve the write performance, in some cases up to 93%. Testing with a real-world scientific application showed a 37% decrease in the number journal updates, each with an associated seek - which translated into an average I/O bandwidth improvement of 56.3%.