Manpage of PLFS
Section: Environments, Tables, and Troff Macros (7)
Return to Main Contents
PLFS (Parallel Log Structured File System) - General Information
PLFS is a parallel virtual file system that improves concurrent write
performance to a shared file.
In many parallel file systems such as Lustre, GPFS, and PanFS, concurrent
writes from large numbers of processes to a shared file suffers poor
performance due to low-level serialization in the parallel file system.
PLFS transparently rearranges concurrrent writes to avoid this serialization.
There are three ways to use PLFS.
(see also plfs(1))
This interface provides the most transparency to the user. PLFS is mounted
as a file system and users simply perform normal file system operations.
This option requires FUSE. Although this option gives improved performance,
very large-scale parallel applications are encouraged to use the PLFS-MPI-IO
interface which provides even larger improvements.
This is the highest performing interface for PLFS for very large-scale
parallel applications. To use this option, applications must use the
MPI-IO interface and prepend plfs: to their paths. For example, the path
for restart could be
This option requires use of an MPI that has been patched with PLFS.
(see also plfs(3))
Finally, users can interface with PLFS directly by rewriting their applications
to use the PLFS API. Although this requires the most user effort,
it is possible to use this interface by minimally
using just plfs_open(), plfs_write(), plfs_read, and plfs_close().
All PLFS functions are either approximations of POSIX file IO calls or
In order to use any of these interfaces, a configuration file must be
present on the system. (see plfsrc(5)).
PLFS is developed at Los Alamos National Laboratory and is available under LANL LA-CC-08-104. It is hosted at
and more information is available at
plfs(1), plfs(7), plfs_check_config(1), plfs_flatten_index(1), plfs_map(1) plfs(3), plfs(7), is_plfs_file(3), plfs_access(3), plfs_buildtime(3), plfs_chmod(3), plfs_chown(3), plfs_close(3), plfs_create(3), plfs_debug(3), plfs_dump_config(3), plfs_dump_index(3), plfs_flatten_index(3), plfs_get_attr(3), plfs_index_stream(3), plfs_link(3), plfs_merge_indexes(3), plfs_mkdir(3), plfs_mode(3), plfs_open(3), plfs_query(3), plfs_read(3), plfs_readdir(3), plfs_readlink(3), plfs_rename(3), plfs_rmdir(3), plfs_serious_error(3), plfs_set_mpi(3), plfs_stats(3), plfs_statvfs(3), plfs_symlink(3), plfs_sync(3), plfs_trunc(3), plfs_unlink(3), plfs_utime(3), plfs_version(3), plfs_write(3), plfs_wtime(3) plfs(1), plfs(7), plfs_check_config(1), plfsrc(5)
- USING PLFS
- SEE ALSO
This document was created by
using the manual pages.
Time: 14:34:00 GMT, June 15, 2012