Launch CPU Slots with numactl on linux

Moderators: Site Moderators, FAHC Science Team

Post Reply
lafrad
Posts: 27
Joined: Sat Mar 14, 2020 4:05 pm

Launch CPU Slots with numactl on linux

Post by lafrad »

I'm interested in launching my CPU Slots with custom numactl settings on linux... Is there any way to do this?
https://linux.die.net/man/8/numactl

Thanks!
PantherX
Site Moderator
Posts: 7020
Joined: Wed Dec 23, 2009 9:33 am
Hardware configuration: V7.6.21 -> Multi-purpose 24/7
Windows 10 64-bit
CPU:2/3/4/6 -> Intel i7-6700K
GPU:1 -> Nvidia GTX 1080 Ti
§
Retired:
2x Nvidia GTX 1070
Nvidia GTX 675M
Nvidia GTX 660 Ti
Nvidia GTX 650 SC
Nvidia GTX 260 896 MB SOC
Nvidia 9600GT 1 GB OC
Nvidia 9500M GS
Nvidia 8800GTS 320 MB

Intel Core i7-860
Intel Core i7-3840QM
Intel i3-3240
Intel Core 2 Duo E8200
Intel Core 2 Duo E6550
Intel Core 2 Duo T8300
Intel Pentium E5500
Intel Pentium E5400
Location: Land Of The Long White Cloud
Contact:

Re: Launch CPU Slots with numactl on linux

Post by PantherX »

Welcome to the F@H Forum lafrad,

AFAIK, FahCore are not NUMA aware so I am not sure if that would work or not.
ETA:
Now ↞ Very Soon ↔ Soon ↔ Soon-ish ↔ Not Soon ↠ End Of Time

Welcome To The F@H Support Forum Ӂ Troubleshooting Bad WUs Ӂ Troubleshooting Server Connectivity Issues
lafrad
Posts: 27
Joined: Sat Mar 14, 2020 4:05 pm

Re: Launch CPU Slots with numactl on linux

Post by lafrad »

as far as I know, numactl tells linux how to launch the program... the program itself doesn't need to have NUMA awareness.

I'm trying to keep my Threadripper 2950x from trashing the threads from one NUMA node to the other... It meant a lot in windows (process Lasso did well enough), but linux seems to be a little less... automated... launching it with the numactl command seems the best way...
DeHackEd
Posts: 5
Joined: Wed May 06, 2020 2:10 am

Re: Launch CPU Slots with numactl on linux

Post by DeHackEd »

The only way I know to do this would be to launch 2 instances of the client (each would require private work directories, and their config files listening on different management ports), and each instances is launched on the appropriate NUMA node. Set each instance for half the number of cores/threads on the whole system so they only use as many as are actually available. Don't forget to pin both CPU and memory when launching with numactl.

That's gonna be a messy init script though.
lafrad
Posts: 27
Joined: Sat Mar 14, 2020 4:05 pm

Re: Launch CPU Slots with numactl on linux

Post by lafrad »

Yea, and the Control launches the workers too, so it'll have to interpret that too.... hmm
braiam
Posts: 14
Joined: Mon Mar 23, 2020 2:56 pm

Re: Launch CPU Slots with numactl on linux

Post by braiam »

lafrad wrote:Yea, and the Control launches the workers too, so it'll have to interpret that too.... hmm
Are you sure?
numactl runs processes with a specific NUMA scheduling or memory placement policy. The policy is set for command and inherited by all of its children.
DeHackEd
Posts: 5
Joined: Wed May 06, 2020 2:10 am

Re: Launch CPU Slots with numactl on linux

Post by DeHackEd »

The advanced control app does not launch the clients, it only connects to it to control it. The actual client (FAHClient binary) is launch independently, typically during system bootup. This is where you'd need to have numactl launch it, or something equivalent to numactl. The advanced control app would have 2 entries in the left side list for a single host which is atypical.

I don't have a NUMA system, but I have a Windows VM with a GPU passed to it for gaming. It folds when not gaming. My advanced control shows and manages both systems.
lafrad
Posts: 27
Joined: Sat Mar 14, 2020 4:05 pm

Re: Launch CPU Slots with numactl on linux

Post by lafrad »

As far as i can tell, the FAHClient actually launches the "cores" as apps, right? It shows up in the process lists as an independent app... The app itself would have to have a "prefix" for that so `numactl` could be added....
Joe_H
Site Admin
Posts: 7883
Joined: Tue Apr 21, 2009 4:41 pm
Hardware configuration: Mac Pro 2.8 quad 12 GB smp4
MacBook Pro 2.9 i7 8 GB smp2
Location: W. MA

Re: Launch CPU Slots with numactl on linux

Post by Joe_H »

Actually FAHClient launches a FAHCoreWrapper process which runs the FAHCore_nn process and passes the starting parameters to it. It has been a while since I looked closely, I forget whether the FAHCore process is independent or a spawned subprocess of the FAHCoreWrapper process.

For example, from a startup of a CPU WU to be processed on one of my Mac systems as shown in the log file:

Code: Select all

06:28:45:WU00:FS00:Running FahCore: /usr/local/bin/FAHCoreWrapper "/Library/Application Support/FAHClient/cores/cores.foldingathome.org/v7/osx/64bit/avx/Core_a7.fah/FahCore_a7" -dir 00 -suffix 01 -version 706 -lifeline 1060 -checkpoint 15 -np 4
Image

iMac 2.8 i7 12 GB smp8, Mac Pro 2.8 quad 12 GB smp6
MacBook Pro 2.9 i7 8 GB smp3
lafrad
Posts: 27
Joined: Sat Mar 14, 2020 4:05 pm

Re: Launch CPU Slots with numactl on linux

Post by lafrad »

So, it'd have to be a property of the wrapper, OR the wrapper would have to have the numactl added to its process command line...

I'll figure out a feature request at some point ;)
Post Reply