<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<div dir="ltr">I hate admitting this but I’ve found something that’s got me stumped. 
<div dir="ltr"><br>
</div>
<div dir="ltr">We have a user running an MPI job on the system. Each rank opens up several output files to which it writes ASCII debug information. The net result across several hundred ranks is an absolute smattering of teeny tiny I/o requests to te underlying
 disks which they don’t appreciate. Performance plummets. The I/o requests are 30 to 80 bytes in size. What I don’t understand is why these write requests aren’t getting batched up into larger write requests to the underlying disks. 
<div dir="ltr"><br>
</div>
<div dir="ltr">If I do something like “df if=/dev/zero of=foo bs=8k” on a node I see that the nasty unaligned 8k io requests are batched up into nice 1M I/o requests before they hit the NSD. </div>
<div dir="ltr"><br>
</div>
<div dir="ltr">As best I can tell the application isn’t doing any fsync’s and isn’t doing direct io to these files. </div>
<div dir="ltr"><br>
</div>
<div dir="ltr">Can anyone explain why seemingly very similar io workloads appear to result in well formed NSD I/O in one case and awful I/o in another?</div>
<div dir="ltr"><br>
</div>
<div dir="ltr">Thanks!</div>
<div dir="ltr"><br>
</div>
<div dir="ltr">-Stumped</div>
</div>
</div>
<span id="draft-break"></span><br>
<br>
</body>
</html>