Page 1 of 1

How do you use the "core-dir" option?

Posted: Tue Jun 09, 2020 2:06 pm
by morningfalcon
Hello! I have a small folding farm with between five and six hundred clients (my city library is donating resources while closed to the public). Because computers are wiped after each reboot I am unable to save anything to the computers themselves, so everything is stored on a file server.

When initially setting up I toyed with the idea of all instances using the same core directory, but I was never able to get it to work so I abandoned the idea. I recently ran a directory scan using WinDirStat and found that there are over 11GB of storage being used by core executables alone, so now I'm revisiting it.

Background complete, my question is this: does anyone know how to use the "core-dir" option in the config file? Specifically, I would like to use a Windows UNC path "\\server\share$\cores" so that all of my clients end up using the same executable, but for some reason I can't get it to use anything other than the "cores" subdirectory in the client working directory. From the command line help output on FAHClient it seems like it's exactly what I'm looking for, but it doesn't seem to do anything. So far I've tried using the full path and a relative path using double-dot directory traversal. As a test I even tried a path on the local PC (C:\cores), but that didn't work either. Here's a snippet of the config file for consideration:

Code: Select all

<config>
  <!-- Configuration -->
  <config-rotate v='false'/>

  <!-- Logging -->
  <log-date v='true'/>
  <log-to-screen v='false'/>

  <!-- Folding Slots -->
  <slot id='0' type='CPU'/>
  
  <core-dir v='\\server\share$\cores'/>
</config>
I couldn't find any relevant info on the core-dir option here or anywhere else. Any guidance would be appreciated.


Thank you,
~morningfalcon

Re: How do you use the "core-dir" option?

Posted: Tue Jun 09, 2020 2:59 pm
by Joe_H
I keep a copy of a log file from a time I intentionally ran with logging verbosity set to 5 to get a listing of all of the default values of the configuration XML. From that I see that the default is this:

Code: Select all

  <core-dir v='cores'/>
The normal location for the folding cores is a subdirectory 'cores' in the default CWD: which for standard Windows installations is defined to be %AppData%. So my take on the 'core-dir' option is that it is relative to that and any redirect would need to be also a relative path instead of an absolute path.

It may be possible to do what you are trying, but have not seen anything using 'core-dir'. Most of the XML options are undocumented, so outside of the main ones used to configure folding slots and a few related to logs, few get discussed here. Mostly they are there to allow changes to be made by the developer without modifying the client code itself.

I would expect that the 'core-dir' option would need to be made under the Expert tab as an Extra Client Option. That may be where you did add it, I can not tell from the posted config.xml.

Someone else may have ideas on how to accomplish not having many copies of the same executables.

Re: How do you use the "core-dir" option?

Posted: Tue Jun 09, 2020 3:09 pm
by bruce
One word of caution:

It sounds like you could save 11GB of disk by using a single copy of all cores from your server. I would NOT recommend that. The first time any one of your computers receives a WU that requires an updated copy of a FAHCore, it will attempt to download that FAHCore but it won't be able to because somewhere else in your library there will be some other computer is using the un-updated version and the file is in-use. Then you'll have to shut down ALL of the other computers so the one that's trying to update the shared copy can proceed without interference.

For a single computer with multiple GPUs all sharing the same copy of FAHCore_2* that's a minor problem. For an entire library, it becomes a major problem.

Re: How do you use the "core-dir" option?

Posted: Tue Jun 09, 2020 3:54 pm
by morningfalcon
Thank you for the feedback. It certainly would be a hassle to stop and restart the entire system, not to mention I'm not entirely sure how I would know that it needed to be done. That said, I would still be curious to know how to change the location of the cores directory in the event I can find another suitable location to store each client's core collection.

I tried changing the cores directory to simply "testcores" and that didn't seem to make any difference. Exact process was:
  1. Update config.xml
  2. Stop FAHClient.exe
  3. Remove "cores" subdirectory
  4. Start FAHClient.exe
This resulted in the client recreating the "cores" subdirectory and downloading the core to that folder. I also turned logging verbosity up to 5 and noticed that the client seems to recognize the new configuration:

Code: Select all

2020-06-09:15:35:11:<config>
--- snip ---
2020-06-09:15:35:11:  <!-- Folding Core -->
2020-06-09:15:35:11:  <checkpoint v='15'/>
2020-06-09:15:35:11:  <core-dir v='testcores'/>
2020-06-09:15:35:11:  <core-priority v='idle'/>
2020-06-09:15:35:11:  <cpu-affinity v='false'/>
2020-06-09:15:35:11:  <cpu-usage v='100'/>
2020-06-09:15:35:11:  <gpu-usage v='100'/>
2020-06-09:15:35:11:  <no-assembly v='false'/>
--- snip ---
2020-06-09:15:35:11:</config>
But it's still loading from the old location...

Code: Select all

--- snip ---
2020-06-09:15:36:18:WU01:FS00:Running FahCore: "C:\Program Files (x86)\FAHClient/FAHCoreWrapper.exe" \\server\share$\client01\cores/cores.foldingathome.org/v7/win/64bit/avx/Core_a7.fah/FahCore_a7.exe -dir 01 -suffix 01 -version 705 -lifeline 1772 -checkpoint 15 -np 3
2020-06-09:15:36:18:WU01:FS00:Started FahCore on PID 9360
--- snip ---

~morningfalcon

Re: How do you use the "core-dir" option?

Posted: Wed Jun 10, 2020 3:43 am
by PantherX
Welcome to the F@H Forum morningfalcon,

Here's what I would do:
1) Exit the client
2) Nuke the cores folder entirely
3) Modify the config.xml file
4) Start the client

Also, I noticed that the <core-dir v='cores'/> is not a valid option in V7.6.13 (check point 9 in this topic: viewtopic.php?f=24&t=26036) so not sure if it was previously working in a version of V7 and then later removed as it was no longer working.

Re: How do you use the "core-dir" option?

Posted: Wed Jun 10, 2020 4:32 pm
by morningfalcon
Thanks for the tips, still no joy though. I think I'll just leave it alone since it's dropped in newer versions. If it's being deprecated/removed then I'd rather not use it anyway.
Thank you all for the help. This is a great community you've cultivated and I look forward to working with you in the future.

Cheers,
~morningfalcon

Re: How do you use the "core-dir" option?

Posted: Wed Jun 10, 2020 4:37 pm
by bruce
morningfalcon wrote:... I look forward to working with you in the future.
:lol: I hope not that doesn't mean you're looking forward to having another problem soon. :roll: