Proving for solution skipped due to farming time limit when plotting

Issue Report

When runining plotting with enabled key “–farm-during-initial-plotting true” farmer often raise warnings (i found 8 for 2 days per instance) and skip proving solution. This doesn’t happened before with farmer from feb-15. Also my second farmer instance that completed replotting doesn’t have such problem.

Example:
2024-02-28T10:31:28.672119Z INFO {disk_farm_index=0}: subspace_farmer::single_disk_farm::plotting: Plotting sector (91.77% complete) sector_index=859
2024-02-28T10:34:02.482616Z WARN {disk_farm_index=0}: subspace_farmer::single_disk_farm::farming: Proving for solution skipped due to farming time limit slot=2258754 sector_index=640

Environment

  • Operating System:
    Windows 11

  • Pulsar/Advanced CLI/Docker:
    subspace-farmer-windows-x86_64-skylake-gemini-3h-2024-feb-19

Problem

New farmer from feb-19 increase plotting speed but skip rewards with enabled key ‘–farm-during-initial-plotting true’

[Paste any errors or relevant logs here]

You can run your farmer with lower --record-encoding-concurrency. By default, it assigns 1 record for every 2 cores of your CPU but maximum value is 8, e.g. 5 if your CPU has 10 cores; 8 if your CPU has from 16 cores.

So assume you have a 13500 CPU, it has 14 cores so default value is 7. You can try to set at lower value, e.g. 5 or 4. It will not sacrifice much of your plot time, but likely you won’t miss any reward.

Thank you for your quick response.
I have a desktop PC with Ryzen 16 cores/ 32 threads and manually set affinity for famer (in TaskManager) just for the last 16 logical CPUs (100% utilized on screenshot) otherwıse all cores are utilized for 100% .

According to your advice I should in addition add --record-encoding-concurrency 7.
Correct?

ср, 28 февр. 2024 г. в 17:59, Pham Thanh Long via Subspace Forum <notifications@subspace.discoursemail.com>:

Yes, I suggest you assign --record-encoding-concurrency 5. It’s painful to miss reward, I know that. Even with 5, you’ll still see your CPU at 100% constantly, so the plotting time will just be a bit longer (a few seconds).

And here it is important to note that the record concurrency is based on the physical core, not the logical thread.

I will try a new configuration.
Thank you very much for your help!

ср, 28 февр. 2024 г. в 18:51, Pham Thanh Long via Subspace Forum <notifications@subspace.discoursemail.com>:

Excuse me, can only two physical cores drive one farmer? If I am an 8-core, at most four farmers (regardless of size) can be configured. Is my understanding correct

No this is incorrect.
The subspace farmer assigns 1 record for each 2 CPU cores. Your CPU has 8 cores, so by default, it’ll assign 4 for record concurrency value to get the best plot time. But if you see any trade off, i.e. reward missing, latency of other app, CPU is too hot, etc… you can try to lower this value.