Shun Sakuraba
-
2023-01-10
- Milestone: 1.0 --> 2.0
Current VMD plugin I/O does not perform any read-ahead hinting. This results in bad parallel performance due to I/O wait upon broadcasting coordinates from master.
This can be mitigated by calling posix_fadvise with POSIX_FADV_WILLNEED, but posix_fadvise requires proper fd value to call. There is no straightforward way to do that in VMD, however, we can estimate that by comparing fd lists before and after opening file, at /proc/self/fd in Linux.
Note this feature will not improve performance on trajectory types which requires CPU-heavy decoding, such as GROMACS xtc. We need to consider whether to implement this.