-
Notifications
You must be signed in to change notification settings - Fork 8.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
HDFS-16403. Improve FUSE IO performance by supporting FUSE parameter max_background #3842
Conversation
💔 -1 overall
This message was automatically generated. |
💔 -1 overall
This message was automatically generated. |
There are some changes here related to erasure coding which don't seem relevant to this Jira. Have they been included by mistake? |
Sorry for that, I will revert this part. |
3ae7929
to
a2b5cde
Compare
a2b5cde
to
ae8786d
Compare
🎊 +1 overall
This message was automatically generated. |
🎊 +1 overall
This message was automatically generated. |
🎊 +1 overall
This message was automatically generated. |
💔 -1 overall
This message was automatically generated. |
🎊 +1 overall
This message was automatically generated. |
🎊 +1 overall
This message was automatically generated. |
@sodonnel I have removed the unrelated code, could you please take a look again? Thanks. |
@fapifta do you have some cycles to review this one? This is a great addition. |
@jojochuang I did not have the time so far to thoroughly go through the linked paper, or test out the new code, but for the first sight, the option seems to be reasonable, and it seems to be added properly. For more extensive testing, I might have some time next week, but so far I can not promise it. Overall, the finding looks promising, and the implementation itself seems to be seamless with the related part of the code, so I am brave enough to say that I am fine with committing it. @cndaimin Can you share some details about your test results? I guess you have some measures with the implementation, is it something you can share? I would be curious what gains you can get with more threads, and if and where the gain is getting less and less when one adds more background threads. |
@jojochuang @fapifta Thanks for the review. We use
The test scripts:
And the test results:
In our test, by setting |
Hi @cndaimin sorry for the long reply time, I could not get to this one last week, and still I was not able to review the linked study but I am pretty much convinced by the numbers. I don't see problems with the patch either, so form my side I can give my non-binding +1 for commit. I still would like to run some tests, but based on my current schedule I think we should not block this until that point when I can. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The performance number looks great. I am +1. If the indentation in fuse_option.c and fuse_option.h can be updated, that would be even better.
Otherwise I will merge by tomorrow.
The indentation difference seems to be gap between tab and space, I just fixed it. Thanks a lot. @jojochuang |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great. +1 merging it now.
🎊 +1 overall
This message was automatically generated. |
💔 -1 overall
This message was automatically generated. |
…max_background (#3842) Reviewed-by: Istvan Fajth <[email protected]> Reviewed-by: Wei-Chiu Chuang <[email protected]> (cherry picked from commit d699389)
…max_background (#3842) Reviewed-by: Istvan Fajth <[email protected]> Reviewed-by: Wei-Chiu Chuang <[email protected]> (cherry picked from commit d699389) (cherry picked from commit f4241834cf4bf3cdc43a9c012a4d526b0299d88e)
…max_background (apache#3842) Reviewed-by: Istvan Fajth <[email protected]> Reviewed-by: Wei-Chiu Chuang <[email protected]>
When we examining the FUSE IO performance on HDFS, we found that the simultaneous IO requests number are limited to a fixed number, like 12. This limitation makes the IO performance on FUSE client quite unacceptable. We did some research on this and inspired by the article Performance and Resource Utilization of FUSE User-Space File Systems, clearly the FUSE parameter
max_background
decides the simultaneous IO requests number, which is 12 by default.We add
max_background
to fuse_dfs mount options, the FUSE kernel will take effect when an option value is given.To check it works: