On 5/20/22 09:53, Andreas Dilger via lustre-discuss wrote:
To elaborate a bit on Patrick's answer, there is no mechanism to do this on the 
*client*, because the performance difference between client RAM and server 
storage is still fairly significant, especially if the application is doing 
sub-page read or write operations.

However, on the *server* the OSS and MDS will *not* put flash storage into the 
page cache, because using the kernel page cache has a measurable overhead, and 
(at least in our testing) the performance of NVMe IOPS is actually better 
*without* the page cache because more CPU is available to handle RPCs.  This is 
controlled on the server with 
osd-ldiskfs.*.{read_cache_enable,writethrough_cache_enable}, default to 0 if 
the block device is non-rotational, default to 1 if block device is rotational.

Then my question is, what is it checking to determine non-rotational?

On our systems the NVMe disks have read/writethrough_cache_enable = 1 (DDN SFA400NVXE) with
===
/dev/sde on /lustre/stor10/ost0000 (NVMe)
cat /sys/block/sde/queue/rotational
0
lctl get_param osd-ldiskfs.*.*cache*enable
osd-ldiskfs.stor10-OST0000.read_cache_enable=1
osd-ldiskfs.stor10-OST0000.writethrough_cache_enable=1

EXAScaler SFA CentOS 5.2.3-r5
kmod-lustre-2.12.6_ddn58-1.el7.x86_64
===

--
Ake Sandgren, HPC2N, Umea University, S-90187 Umea, Sweden
Internet: [email protected]  Mobile: +46 70 7716134  Fax: +46 90-580 14
WWW: http://www.hpc2n.umu.se
_______________________________________________
lustre-discuss mailing list
[email protected]
http://lists.lustre.org/listinfo.cgi/lustre-discuss-lustre.org

Reply via email to