Whamcloud - gitweb
EX-7585 pcc: parallel data copy for attach
authorPatrick Farrell <pfarrell@whamcloud.com>
Tue, 30 May 2023 21:48:15 +0000 (17:48 -0400)
committerAndreas Dilger <adilger@whamcloud.com>
Fri, 1 Sep 2023 13:19:14 +0000 (13:19 +0000)
commitaa00fdfbffcd83dab66a424857ea01a6daeef3ad
tree9a7d38f6dda3c5b135c9bb85e1016acfee17247d
parentc5d65539f348d266ace407e0fab997c571946804
EX-7585 pcc: parallel data copy for attach

This patch parallelize the data copying work for pcc attach
by using multiple threads in the ll_fid_path_copy helper.

Nvidia provided performance numbers for this from their
environment.  This was with 4 MiB I/O size, they reported
speed was similar but *slightly* lower at larger block
sizes. This is probably an EXT4 limitation since Lustre
speed scales with those larger sizes.  (As PCC attach is a
copy from Lustre to EXT4.)

This is for attaching a single 2 TiB file, they also
reported no performance regression for datasets with many
small files.

threads: 1       2         4          8
speed:   4 GiB/s 7.8 GiB/s 14.1 GiB/s 15.2 GiB/s

Performance improved only very slightly past 8 threads,
and 4 threads is clearly the sweet spot for performance.

Signed-off-by: Patrick Farrell <pfarrell@whamcloud.com>
Change-Id: Iffbb3892cfb5b2e71afe15d03f9aec9c84975092
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51171
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Qian Yingjin <qian@ddn.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
lustre/llite/lproc_llite.c
lustre/llite/pcc.c
lustre/llite/pcc.h
lustre/tests/sanity-pcc.sh
lustre/utils/Makefile.am
lustre/utils/ll_fid_path_copy.c