Number of expected challenges a farm should receive
Closed this issue · 3 comments
MOVED FROM CHIA-GIGAHORSE (posted there by mistke)
@madMAx43v3r, you have mentioned on Discord that the number of eligible plots per day should follow this rule:
"total number of eligible plots per 24h should be 9340 / PLOT_FILTER * number_of_plots"
assuming PLOT_FILTER is either 256 or 512 (tn10 vs tn9)
Using that formula, we can calculate that challenges are coming every ~9.25 sec (rounded to second digit after dec point).
Having that number, we can compare the number of received challenges by a harvester with the expected / calculated one. When we do that calculation, all harvester on 2 farmers always get about 7.5% less challenges than the expected number. Again, those calculations are done on two independent farms over the last month or two. Here are few such reports:
TN10:
F1/H1
---- challenges:
------ filter ratio: 256 : 1, plots efficiency: 99.92%
------ challenges: expected: 5,387.1, received: 4,982 (eligible: 4982, empty: 0), total eligible plots: 35,001
----------
F2/H2
---- challenges:
------ filter ratio: 251 : 1, plots efficiency: 101.93%
------ challenges: expected: 2,096.0, received: 1,936 (eligible: 1936, empty: 0), total eligible plots: 12,758
----------
(one calculation was done over ~13 hrs, and the second over ~5 hrs, but also have same calculations over 24 hours, and there is basically no difference what period such report is for - as expected)
TN9
F2/H2
---- challenges:
------ filter ratio: 514 : 1
------ challenges: expected: 9339.5, received: 8631 (eligible: 8546, empty: 85), total eligible plots: 66129
----------
The only factor that is at play is how we calculate those received challenges. The code is counting harvester issued "XYZ plots were eligible for height ..." lines.
The percentage calculated hovers around 7.5% or so, so whatever mistake is being made is kind of consistent. Although, looking at calculated PLOT_FILTER, the differences from day to day are on the third digit, where here are on the second.
Any idea what potentially could be at play here? Maybe that 9340 number you provided in the original formula is off, or maybe those "missing" challenges are some sort of synchronizing ones, that farmer is not sending to harvesters?
Using that formula, we can calculate that challenges are coming every ~9.25 sec (rounded to second digit after dec point).
That's because 9340 / PLOT_FILTER * number_of_plots
is for Chia not MMX. For MMX you have to use 8640 instead of 9340.
Thank you Max, that explains it. I will fix the code.
By the way, I mentioned before on Discord a problem with one of the harvester (MMX) that always had calculated plot filter way over 512, sometimes pushing 700 (tn9). Well, after switching to tn10, that problem went away. All harvesters have right now 256 filter. There was no change in the code that was doing the calculations, but there was a change in how log lines were produced, so had to modify the code to accommodate for it.
I checked my old reports. I used 10 seconds initially, but after you posted that formula on Discord on Apr 1, I changed it to 9.25 on Apr 2, and starting with the next report those missing challenges started to show up. Although, at that time I was focused more on that harvester not meeting the plot filter, so didn't pay attention to this one, thus missed the correlation between that code change and those missing challenges. Kind of funny looking back at it.