Details
-
Bug
-
Resolution: Fixed
-
Major
-
Lustre 2.9.0
-
3
-
9223372036854775807
Description
The issue has a detailed description in https://bugzilla.lustre.org/show_bug.cgi?id=12739
In short, for an open file Lustre returns st_blksize=4 MiB and glibc allocates a buffer of this size. Short random reads cause 4 MiB BRWs which ruin performance as compared to other distributed fs.
It is often not possible or not practical to patch the program itself.
The original ticket contains the assertion that it's a bug in glibc and should be fixed in glibc. While it was fixed in glibc 2.25 (https://sourceware.org/bugzilla/show_bug.cgi?id=4099#c10), this glibc version won't be used in Linux distros with Lustre support any time soon.
How about adding a temporary workaround for this issue similar to the one proposed by Aurélien Degrémont in bz #12739?