Whamcloud - gitweb
LU-12518 llite: support page unaligned stride readahead
Currently, Lustre works well for aligned IO, but performance
is pretty bad for unaligned IO stride read, we might need
take some efforts to improve this situation.
One of the main problem with current stride read is it is
based on Page Index, so if we hit unaligned page case,
stride Read detection will not work well. To support unaligned
page stride read, we might change page index to bytes offset
thus stride read pattern detection work well and we won't hit
many small pages RPC and readahead window reset. At the same
time, we shall keep as much as performances for existed cases
and make sure there won't be obvious regressions for
aligned-stride and sequential read.
Benchmark numbers:
iozone -w -c -i 5 -t1 -j 2 -s 1G -r 43k -F /mnt/lustre/data
Patched Unpatched
1386630.75 kB/sec 152002.50 kB/sec
At least performance bumped up more than ~800%.
Benchmarked with IOR from ihara:
FPP Read(MB/sec) SSF Read(MB/sec)
Unpatched 44,636 7,731
Patched 44,318 20,745
Got 250% performances up for ior_hard_read workload.
Change-Id: I791745f957af84a6c790c52fbe9f5fed3fd30c77
Signed-off-by: Wang Shilong <wshilong@ddn.com>
Reviewed-on: https://review.whamcloud.com/35437
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Li Xi <lixi@ddn.com>