Closed michaelquigley closed 3 years ago
Pressure factor 2x:
txCapacity := float64(self.capacity-int(float64(self.rxPortalSz)*self.profile.TxPortalRxSzPressureScale)-(self.txPortalSz+segmentSz))
rxCapacity := float64(self.capacity-self.rxPortalSz)
for math.Min(txCapacity, rxCapacity) < 0 {
self.ready.Wait()
}
TxPortalRxSzPressureScale
currently defaulting to 2.5.
3x:
See the attached image. To prevent these
retx
"cascades", let's experiment with usingrxPortalSz
(possibly scaled by a factor) to reduce the link capacity.We're currently looking at the available capacity as the minimum
capacity - sz
for bothtxPortalSz
andrxPortalSz
... andrxPortalSz
is nearly always0
unless we're already in a non-optimal state. Instead, we can probably scale the available capacity as:capacity - (txPortalSz - (rxPortalSz * rxPortalSzScale))
This should allow quicker clamping of tx flow, possibly smoothing out those cascades.