@Cool GTX, below doesn't answer your question, but interesting insight in how the Assignment Servers work:
by
bruce » Tue Mar 24, 2020 6:13 pm
There are two possibiles:
I think FAHClient looks at your idle slot(s) and requests a WU for a specific hardware configuration. Then it probably moves on to another idle slot. I could be wrong about that, but if I'm right it will take a new Client release which won't happen any time soon.
When the Work Servers reach their individual bandwidth limit, they (briefly?) inform the Assignment Servers that they can't deliver any new WUs. The AS looks at the list of WS that report that they have WUs that match your Config and if none are avilable, you get that message. If you're seeking a GPU WU and the WS finds it can't find a functioning WS which has them there's no question of prioirty. Once it does find a server with GPU WUs, it does check your GPUSpecies but it's only dealing with the question about whether to give you a WU or not. If you're the guy with the GTX670, it's not going to say "Sorry, No_Assign" just because it thinks a RTX 2060 might come along a little later and ask for that same WU and it's the last one it has.
BTW, a GTX670 folding at 99% can be as fast as a RTX working at 55%. A project containing a small protein, can't effectively use an excessively large number of shaders so throughput can go down on "faster" GPUs. The same is true for CPU WUs. If science needs us to analyze small proteins, they can make good use of even a few threads as opposed to allocating a huge number of threads.
The AS/WS code does try to tune the overall performance of FAH by allocating proteins based on their size as well as available resources.