Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MPI_File_preallocate is slow #30

Closed
tkphd opened this issue Mar 17, 2017 · 0 comments
Closed

MPI_File_preallocate is slow #30

tkphd opened this issue Mar 17, 2017 · 0 comments

Comments

@tkphd
Copy link
Contributor

tkphd commented Mar 17, 2017

MMSP.grid.hpp calls MPI_File_preallocate before writing data at specified offsets, to make sure the filesystem has allocated sufficient space for the incoming data. However, profiling with mpiP reveals that this preallocation is a bottleneck. This is explained in "On Implementing MPI-IO Portably and with High Performance": most filesystems do not implement a preallocation routine, so MPI-IO must write data to disk in order to force allocation.

This reflects a minor design flaw, in that MMSP forces something the filesystem clearly does not require. Therefore, it should be safe to drop MPI_File_preallocate from the grid class. Further, it may be desirable to use the collective MPI_File_iwrite_at_all instead of non-collective MPI_File_iwrite_at to perform the file output.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant