Closed SDX-LV closed 2 years ago
Thanks, I will look into this tomorrow/today.
I also thought about tracking the available ram, but did not do it because it might be buggy if other system processes take RAM in the meantime and it does not track if RAM gets freed in the meantime. In addition the safety factor you use for tracking the RAM differs from the one that we already have as a parameter. If you revert those changes, the pull would be ready for merging and testing from my side.
thx - I will merge and test either tomorrow or Wednesday...
Hi Fabian,
I commented-out "ram_budget" optimization so the logic is effectively back to the previous version.
As "ram_budget" starts instances with almost no delay, it is not likely that available RAM will change much due to other processes running on a computer. Also "ram_budget" optimization still waits for the full time.sleep(wait_time)
as soon as the excess RAM condition is no longer valid and it is possible to add big extra margins which will reduce the time gain, but will make the logic extremely robust (for example if "ram_budget" would count 2x estimated RAM for every instance, it will still win at least a minute on a system with plenty of RAM).
As for safety factor - I added extra multiplier on top of the existing safety factor, because I saw that the existing safety factor was underestimating the real RAM usage, especially for small RAM demands. That's why I also added a minimum threshold of 2GB - if estimate says instance will need less than 2GB, I still count 2GB towards the "ram_budget".
I understand that it may not be a good time to add even more features, but such optimization does provide several minutes shorter simulation time by eliminating most of the idling time - worth making it work :)
Best regards, Sergejs
I see - how about making this a new Pull. But instead of introducing additional safety margins, I would be in favor of using the parameters we already have. We could think about increasing the default for the RAM safety factor to 1.1 and suggest the users to leave at least 2 GB RAM unused. We could make this easier by allowing negative numbers for the max_ram_load
parameter, e.g., -2 would leave 2 GB free. We could also make -2 the default if we wanted.
It is now tested and merged into developed. I did some code styling changes (b1b720f08becf2ddfc4955ef0148223fe16db8df) fixed a big in the manage numcalc script (85afbf1603afddbb4573001e17a2b101dd6565b8) and removed the commented code for now (642e5f0d13667e8e5bd789bb0c8d6531d88d1543)
Very good! Then we have Windows compatibility in place as well and tutorials should be in sync.
Hi, Did a bit of debugging to get the new version of NumCalc Manager to work on Windows. Plus some more fixes that affect Linux as well.
Now it works on Windows 10 as it should.