Exploiting Lustre File Joining for Effective Collective IO

  • Authors:
  • Weikuan Yu;Jeffrey Vetter;R. Shane Canon;Song Jiang

  • Affiliations:
  • Oak Ridge National Laboratory;Oak Ridge National Laboratory;Oak Ridge National Laboratory;Wayne State University

  • Venue:
  • CCGRID '07 Proceedings of the Seventh IEEE International Symposium on Cluster Computing and the Grid
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

Lustre is a parallel file system that presents high aggregated IO bandwidth by striping file extents across many storage devices. However, our experiments indicate excessively wide striping can cause performance degradation. Lustre supports an innovative file joining feature that joins files in place. To mitigate striping overhead and benefit collective IO, we propose two techniques: split writing and hierarchical striping. In split writing, a file is created as separate subfiles, each of which is striped to only a few storage devices. They are joined as a single file at the file close time. Hierarchical striping builds on top of split writing and orchestrates the span of subfiles in a hierarchical manner to avoid overlapping and achieve the appropriate coverage of storage devices. Together, these techniques can avoid the overhead associated with large stripe width, while still being able to combine bandwidth available from many storage devices. We have prototyped these techniques in the ROMIO implementation of MPI-IO. Experimental results indicate that split writing and hierarchical striping can significantly improve the performance of Lustre collective IO in terms of both data transfer and management operations. On a Lustre file system configured with 46 object storage targets, our implementation improves collective write performance of a 16-process job by as much as 220%.