Trac: Description: I have a few things I want to do to the flag-weight equations. This ticket will eventually be the parent ticket, but for now it's just a brain-dump:
At the very least, I need to get at least get a proposal for this out in November, so we can consider it in combination with legacy/trac#16861 (moved).
I'd look at a patch for these if we got one, but AFAIK nobody's looking at them right now, and there's no reason to expect them to get done this month.
It is impossible that we will fix all 226 currently open 028 tickets before 028 releases. Time to move some out. This is my second pass through the "new" and tickets, looking for things to move to 0.2.9.
Trac: Milestone: Tor: 0.2.8.x-final to Tor: 0.2.9.x-final
This is not necessarily obsolete; we should revisit this stuff after congestion control and related sbws upgrades.
Perhaps the time to look at all of this stuff is when we start to implement padding, as tor#29098 is a significant change that will also simplify these equations, and we can look at the other aspects during that, too. (It may be possible to combine some of these additional sources of load into the "overhead" parameters).
There is also tor#24456 (closed), which is potentially useful, and somewhat orthogonal to the flag equations, though.
Hi Mike! Aaron Johnson told me offline that he has a recent paper working through the consensus positional weights, and he has a bugfix for a case we don't hit currently, and also he has some alternative solutions to the equations that satisfy the constraints and also do it in a more defensible way.
So, nothing urgent here I think, but here is a shout-out to Aaron so he can use this ticket when he's ready.
Yes, I recently looked into the equations defining the positional weights (Wgg, Wmg, etc.), and I think they could be derived in a more principled way that yields some improvements. My suggestions don't address any of the issues listed in this ticket, but they would
Maximize throughput for another case in which the weights are valid but yield suboptimal throughput
Make weights continuous so that that small changes in the network state yields small changes in the weights. Currently, for example, it is possible for a single relay changing its weights by just 1 can cause the D relays (i.e. those with Guard and Exit flags) to jump back and forth between not being used as guards at all to being used a large amount (e.g. 33% of the total D bandwidth).
Achieve secondary goals like equalizing the "sensitive" traffic (i.e. guard and exit traffic) that G/E/D classes see.
The writeup is in progress, but I would be happy to engage with you now if you are interested.