TY - GEN
T1 - Efficient object storage journaling in a distributed parallel file system
AU - Oral, Sarp
AU - Wang, Feiyi
AU - Dillow, David
AU - Shipman, Galen
AU - Miller, Ross
AU - Drokin, Oleg
PY - 2010
Y1 - 2010
N2 - 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 center-wide 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%.
AB - 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 center-wide 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%.
UR - http://www.scopus.com/inward/record.url?scp=85077022178&partnerID=8YFLogxK
M3 - Conference contribution
AN - SCOPUS:85077022178
T3 - Proceedings of FAST 2010: 8th USENIX Conference on File and Storage Technologies
SP - 143
EP - 154
BT - Proceedings of FAST 2010
PB - USENIX Association
T2 - 8th USENIX Conference on File and Storage Technologies, FAST 2010
Y2 - 23 February 2010 through 26 February 2010
ER -