LDPLFS: Improving I/O Performance Without Application Modification
26th IEEE International Parallel and Distributed Processing Symposium Workshops & PhD Forum (IPDPSW), 2012. 21-25 May 2012.
S. A. Wright*, S. D. Hammond†, S. J. Pennycook*, I. Miller‡, J. A. Herdman‡, S. A. Jarvis*
*Performance Computing and Visualisation
Department of Computer Science, University of Warwick, UK
†Scalable Computer Architectures/CSRI
Sandia National Laboratories, Albuquerque, NM
‡Supercomputing Solution Centre
UK Atomic Weapons Establishment, Aldermaston, UK
Input/Output (I/O) operations can represent a significant proportion of run-time when large scientific applications are run in parallel and at scale. In order to address the growing divergence between processing speeds and I/O performance, the Parallel Log-structured File System (PLFS) has been developed by EMC Corporation and the Los Alamos National Laboratory (LANL) to improve the performance of parallel file activities. Currently, PLFS requires the use of either (i) the FUSE Linux Kernel module; (ii) a modified MPI library with a customised ROMIO MPI-IO library; or (iii) an application rewrite to utilise the PLFS API directly.
In this paper we present an alternative method of utilising PLFS in applications. This method employs a dynamic library to intercept the low-level POSIX operations and retarget them to use the equivalents offered by PLFS. We demonstrate our implementation of this approach, named LDPLFS, on a set of standard UNIX tools, as well on as a set of standard parallel I/O intensive mini-applications. The results demonstrate almost equivalent performance to a modified build of ROMIO and improvements over the FUSE-based approach. Furthermore, through our experiments we demonstrate decreased performance in PLFS when ran at scale on the Lustre file system.
FULL PAPER: pdf