[LU-11623] Allow caching of open-created dentries Created: 06/Nov/18 Updated: 22/Jan/24 |
|
| Status: | Reopened |
| Project: | Lustre |
| Component/s: | None |
| Affects Version/s: | Lustre 2.10.0, Lustre 2.11.0 |
| Fix Version/s: | Lustre 2.14.0, Lustre 2.12.6, Lustre 2.16.0 |
| Type: | Improvement | Priority: | Major |
| Reporter: | Oleg Drokin | Assignee: | Lai Siyao |
| Resolution: | Unresolved | Votes: | 1 |
| Labels: | None | ||
| Issue Links: |
|
||||||||||||||||
| Rank (Obsolete): | 9223372036854775807 | ||||||||||||||||
| Description |
|
Currently when creating/opening a file, we do not let the client hash the name so next access (frequently stat?) goes to talk on the MDS. This is also seen in various tests like mdtest. We should consider returning more bits from the open call. This is in addition to LU-10948 that handles similar situation for recurring non-creating opens. |
| Comments |
| Comment by Gerrit Updater [ 06/Nov/18 ] |
|
Oleg Drokin (green@whamcloud.com) uploaded a new patch: https://review.whamcloud.com/33584 |
| Comment by Gerrit Updater [ 06/Nov/18 ] |
|
Oleg Drokin (green@whamcloud.com) uploaded a new patch: https://review.whamcloud.com/33585 |
| Comment by Shuichi Ihara [ 28/May/19 ] |
|
https://review.whamcloud.com/#/c/32157 The above three patches(mainly two patches 32157 and 33585) can significant improve 'stat' operation at one of workload that is open-create, then stat on same client. Without patch(master branch commit 26a7abe) [root@c01 ~]# mpirun -np 24 --allow-run-as-root /work/tools/bin/mdtest -n 10000 -d /cache1/out/ -F -C -v -w 32k [root@c01 ~]# time ls -l /cache1/out/#test-dir.0-0/mdtest_tree.0 > /dev/null real 0m23.447s user 0m1.010s sys 0m11.916s [root@c01 ~]# mpirun -np 24 --allow-run-as-root /work/tools/bin/mdtest -n 50000 -d /cache1/out/ -F -C -T -v -w 32k SUMMARY rate: (of 1 iterations) Operation Max Min Mean Std Dev --------- --- --- ---- ------- File creation : 3838.205 3838.204 3838.204 0.000 File stat : 33459.289 33459.249 33459.271 0.011 File read : 0.000 0.000 0.000 0.000 File removal : 0.000 0.000 0.000 0.000 Tree creation : 3146.841 3146.841 3146.841 0.000 Tree removal : 0.000 0.000 0.000 0.000 With three patches agianst master (commit 26a7abe) [root@c01 ~]# mpirun -np 24 --allow-run-as-root /work/tools/bin/mdtest -n 10000 -d /cache1/out/ -F -C -v -w 32k [root@c01 ~]# time ls -l /cache1/out/#test-dir.0-0/mdtest_tree.0 > /dev/null real 0m5.780s user 0m0.635s sys 0m4.996s [root@c01 ~]# mpirun -np 24 --allow-run-as-root /work/tools/bin/mdtest -n 50000 -d /cache1/out/ -F -C -T -v -w 32k SUMMARY rate: (of 1 iterations) Operation Max Min Mean Std Dev --------- --- --- ---- ------- File creation : 3822.440 3822.439 3822.440 0.000 File stat : 350620.140 350615.980 350617.193 1.051 File read : 0.000 0.000 0.000 0.000 File removal : 0.000 0.000 0.000 0.000 Tree creation : 2076.727 2076.727 2076.727 0.000 Tree removal : 0.000 0.000 0.000 0.000 |
| Comment by Gerrit Updater [ 01/Jun/19 ] |
|
Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/33584/ |
| Comment by Gerrit Updater [ 05/Jun/19 ] |
|
Oleg Drokin (green@whamcloud.com) uploaded a new patch: https://review.whamcloud.com/35067 |
| Comment by Gerrit Updater [ 16/Jun/19 ] |
|
Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/35067/ |
| Comment by Gerrit Updater [ 28/May/20 ] |
|
Lai Siyao (lai.siyao@whamcloud.com) uploaded a new patch: https://review.whamcloud.com/38750 |
| Comment by Gerrit Updater [ 29/May/20 ] |
|
Lai Siyao (lai.siyao@whamcloud.com) uploaded a new patch: https://review.whamcloud.com/38763 |
| Comment by Gerrit Updater [ 30/Jun/20 ] |
|
Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/38763/ |
| Comment by Peter Jones [ 11/Jul/20 ] |
|
Do I understand correctly that the work tracked under this ticket landed to 2.13 and 2.12.6? |
| Comment by Peter Jones [ 09/Dec/20 ] |
|
Landed for 2.14 and 2.12.6 |
| Comment by Shuichi Ihara [ 02/Jul/21 ] |
|
I would open this ticket since patch https://review.whamcloud.com/#/c/33585 was not merged yet. without this patch, what I showed the performance numbers can't be demonstrated. |
| Comment by Gerrit Updater [ 28/Apr/22 ] |
|
|
| Comment by Shuichi Ihara [ 20/Apr/23 ] |
|
latest patch set (patch set 29) of https://review.whamcloud.com/#/c/fs/lustre-release/+/33585/ patch still demonstrated and promised 9x (86,466 ops vs 789,729 ops) performance boost on open()-create()-stat() workload. And this is same as we are seeing same cached performance on stat()-stat() workload toady. Here is performance comparisons with/without patch. without patch(commit:8beeec77c3) mpirun -np 16 mdtest -n 10000 -d /exafs/d0/d1/d2/ -F -C -v -w 32k mpirun -np 16 mdtest -n 10000 -d /exafs/d0/d1/d2/ -F -T -v -w 32k SUMMARY rate: (of 1 iterations) Operation Max Min Mean Std Dev --------- --- --- ---- ------- File creation : 0.000 0.000 0.000 0.000 File stat : 86466.293 86466.272 86466.285 0.006 File read : 0.000 0.000 0.000 0.000 File removal : 0.000 0.000 0.000 0.000 Tree creation : 0.000 0.000 0.000 0.000 Tree removal : 0.000 0.000 0.000 0.000 mpirun -np 16 mdtest -n 10000 -d /exafs/d0/d1/d2/ -F -T -v -w 32k Operation Max Min Mean Std Dev --------- --- --- ---- ------- File creation : 0.000 0.000 0.000 0.000 File stat : 779470.812 779428.353 779442.415 18.312 File read : 0.000 0.000 0.000 0.000 File removal : 0.000 0.000 0.000 0.000 Tree creation : 0.000 0.000 0.000 0.000 Tree removal : 0.000 0.000 0.000 0.000 With patch (https://review.whamcloud.com/#/c/fs/lustre-release/+/33585/) mpirun -np 16 mdtest -n 10000 -d /exafs/d0/d1/d2/ -F -C -v -w 32k mpirun -np 16 mdtest -n 10000 -d /exafs/d0/d1/d2/ -F -T -v -w 32k Operation Max Min Mean Std Dev --------- --- --- ---- ------- File creation : 0.000 0.000 0.000 0.000 File stat : 789729.392 789726.612 789727.879 0.702 File read : 0.000 0.000 0.000 0.000 File removal : 0.000 0.000 0.000 0.000 Tree creation : 0.000 0.000 0.000 0.000 Tree removal : 0.000 0.000 0.000 0.000 mpirun -np 16 mdtest -n 10000 -d /exafs/d0/d1/d2/ -F -T -v -w 32k Operation Max Min Mean Std Dev --------- --- --- ---- ------- File creation : 0.000 0.000 0.000 0.000 File stat : 790002.623 790000.712 790001.644 0.633 File read : 0.000 0.000 0.000 0.000 File removal : 0.000 0.000 0.000 0.000 Tree creation : 0.000 0.000 0.000 0.000 Tree removal : 0.000 0.000 0.000 0.000 |
| Comment by Gerrit Updater [ 19/May/23 ] |
|
"Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/c/fs/lustre-release/+/33585/ |
| Comment by Peter Jones [ 19/May/23 ] |
|
Latest patch merged for 2.16. TBH it seems like it would have been better to track this latest work under a new linked Jira than to use this several years old ticket. |