<meta http-equiv="Content-Type" content="text/html; charset=utf-8"><div dir="ltr"><br><div>I am trying to assess how well a high-performance file system that I work on will support MPI programming for some customers we have. In particular, I am looking at MPI I/O.</div><div><br></div><div>The technical aspects of the assessment are pretty simple. Collective and direct I/O should work great, but the locking apparently required for atomic mode I/O will be very, very expensive.</div><div><br></div><div>That leads to the community questions of how important these trade-offs will be. And thus, I land here on this list.</div><div><br></div><div>I have a few questions that folk here probably can answer off the top of their head:</div><div><br></div><div>1) how often is atomic mode I/O used? It seems that most I/O will involve non-overlapping writes and thus atomic mode will be irrelevant. But what is the real sense from people who actually write this kind of code?</div><div><br></div><div>2) do commonly used MPI libraries implement atomic mode internally as in [1], or do they require file system support? What kind of support?</div><div><br></div><div>3) how to file-system people usually go wrong in approaching MPI applications?</div><div><br></div><div><br></div><div>[1] <a href="http://www.mcs.anl.gov/~thakur/papers/atomic-mode.pdf">http://www.mcs.anl.gov/~thakur/papers/atomic-mode.pdf</a></div></div>