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
long MODULEPATH drastically reduces performance #2226
Comments
To make this issue more weird, if I try the same using EB-3.2.1 in Centos6 machine with Lmod-6.0.9 the long
|
I have a few ideas but I can't really say without more data. Try timing a module avail and a module load (without the spider cache) for both a long MODULEPATH and a short one. For the test to be fair, it would be nice if the total number of modules was the same. Also please do the same thing for Lmod 6. |
I think I located the issue. I did this other test in the Centos6-Lmod6.9 environment and I got totally puzzled because I was getting the same bad runtime and the difference in
Then I realized that my After removing non existing folders from MODULEPATH the performance seems to be much better but I couldn't figure out how the non-existing folders are affecting to the performance |
I'm have 10 directories in |
|
I can also see a big improvement by removing non-existing dirs from MODULEPATH.
The /hpc2n/eb/modules/all/Linux dir doesn't exist. And after creating it...
|
@rtmclay Does this ring a bell for you? Why would Lmod be significantly slower with a bunch of non-existing paths included in Note that this is with Lmod under EasyBuild's control, so with |
I encountered the same issue with non-existing directories in And maybe the title of this issue should reflect that this only happens with non-existing directories in |
I'm having trouble reproducing this... I tried adding a whole bunch of non-existing directories in
But I'm not seeing any noticeable slowdown. Am I overlooking something? |
@boegel The issue might be amplified due to our file system having a very bad latency/small read behaviour. Do you have a measurable slow down with non existing directories? |
OK, I gave this another try, with:
So there's a noticeable slowdown of about 5x, but I don't think that's a surprise with 1000 (non-existing) directories, since Lmod will check each of those locations whether it has modules present in those locations. Creating the directories makes things a lot worse, to the point where If someone can still reproduce this, with a recent version of Lmod, please provide debug logs for both a 'fast' run (short |
@boegel I finnaly came around testing this again with the latest versions. I can confirm that it's still the case for me. A dry run takes over 20 minutes if I have non-existing directories in my
How can I tell EasyBuild to keep the logs so I can provide them for further inspection? |
@SethosII Please try with |
Here are the logs. |
…d test to verify that easybuilders#2226 and easybuilders#3084 are fixed)
This problem was reported again via #3084, and after some digging @Micket managed to figure out the culprit. It's basically caused by an inconsistency in the code w.r.t. handling of non-existing directories in Fixed by #3099, which will be included in the upcoming EasyBuild v4.1.0 release... |
I did this test with latest EasyBuld 3.2.1 and Lmod-7.4.5 in a Centos7.3 machine:
With a long
$MODULEPATH
the execution time is quite long:If I just reduce the
$MODULEPATH
length the execution time is much better:I don't know if this is the root cause but It seem that when
MODULEPATH
is so long EasyBuild is executing Lmod many more times:The text was updated successfully, but these errors were encountered: