Scalability and Perf Board issueshttps://gitlab.torproject.org/mikeperry/scalability-and-perf-board/-/issues2022-01-24T16:51:22Zhttps://gitlab.torproject.org/mikeperry/scalability-and-perf-board/-/issues/41Conflux (unreliable version)2022-01-24T16:51:22ZMike PerryConflux (unreliable version)Conflux without a reconnection window will reduce network reliability, but improve throughput.
It may increase latency due to circuit setup, if circuits can't be pre-built.
It may also provide traffic analysis resistance benefits.Conflux without a reconnection window will reduce network reliability, but improve throughput.
It may increase latency due to circuit setup, if circuits can't be pre-built.
It may also provide traffic analysis resistance benefits.https://gitlab.torproject.org/mikeperry/scalability-and-perf-board/-/issues/32Circuit Build Timeout tuning2020-02-07T17:49:11ZMike PerryCircuit Build Timeout tuningIf we have onionperf instances that support guards, we can experiment with different CBT cutoffs.If we have onionperf instances that support guards, we can experiment with different CBT cutoffs.https://gitlab.torproject.org/mikeperry/scalability-and-perf-board/-/issues/31Increase number of guards2020-02-07T17:47:14ZMike PerryIncrease number of guardsWith more guards, CBT can choose better fast paths to avoid overloaded guards.With more guards, CBT can choose better fast paths to avoid overloaded guards.https://gitlab.torproject.org/mikeperry/scalability-and-perf-board/-/issues/30Filter out various relays from onionperf results2020-02-07T18:37:32ZMike PerryFilter out various relays from onionperf resultsIf we filter out all onionperf paths that contain 0.2.9 relays (pre-KIST), or change the Fast cutoff, or change the Guard cutoff by filtering paths, what happens to the results?
In this way we can evaluate the impact of these changes on...If we filter out all onionperf paths that contain 0.2.9 relays (pre-KIST), or change the Fast cutoff, or change the Guard cutoff by filtering paths, what happens to the results?
In this way we can evaluate the impact of these changes on the network perf before rolling out any actual changes.https://gitlab.torproject.org/mikeperry/scalability-and-perf-board/-/issues/29Adaptive Stream Timeout2020-02-07T18:42:29ZMike PerryAdaptive Stream TimeoutSimilar to DNS tests, we could deploy an adaptive stream timeout using CBT style math.Similar to DNS tests, we could deploy an adaptive stream timeout using CBT style math.https://gitlab.torproject.org/mikeperry/scalability-and-perf-board/-/issues/28Tor Browser optimizations (optimistic data, HTTP2, etc)2020-02-07T18:43:01ZMike PerryTor Browser optimizations (optimistic data, HTTP2, etc)Various optimizations in the browser could improve user-perceived performance.
Many of these need a browser model for onionperf to validate.Various optimizations in the browser could improve user-perceived performance.
Many of these need a browser model for onionperf to validate.https://gitlab.torproject.org/mikeperry/scalability-and-perf-board/-/issues/23Multithreaded crypto/networking2020-02-07T18:34:02ZMike PerryMultithreaded crypto/networkingIf we supported either multithreaded crypto or networking, we could reduce the number of relay descriptors in the network by eliminating the need to run multiple tor instances per core on fast links.
This would also eliminate some side ...If we supported either multithreaded crypto or networking, we could reduce the number of relay descriptors in the network by eliminating the need to run multiple tor instances per core on fast links.
This would also eliminate some side channels due to single-threaded ops blocking networking activity.https://gitlab.torproject.org/mikeperry/scalability-and-perf-board/-/issues/22Bootstrap improvements2020-02-07T17:27:53ZMike PerryBootstrap improvementsTor startup time is a key usability barrier. Improving cold and warm startup times will make users happier and more likely to use Tor.Tor startup time is a key usability barrier. Improving cold and warm startup times will make users happier and more likely to use Tor.https://gitlab.torproject.org/mikeperry/scalability-and-perf-board/-/issues/20Deploy GuardFraction Balancing2020-02-07T18:30:17ZMike PerryDeploy GuardFraction BalancingGuardfraction compensates for our guard rotation period by adjusting load balancing weights based on how long a relay has been a guard.
However, the statekeeping required for this is done in external scripts that are hard to use/deploy/...Guardfraction compensates for our guard rotation period by adjusting load balancing weights based on how long a relay has been a guard.
However, the statekeeping required for this is done in external scripts that are hard to use/deploy/maintain.https://gitlab.torproject.org/mikeperry/scalability-and-perf-board/-/issues/17Consensus param for Fast cutoff2020-07-09T20:14:26ZMike PerryConsensus param for Fast cutoffThe Fast cutoff is currently hard-coded. If we made a consensus param for this value, we could reduce consensus size and also improve long-tail performance by eliminating slow relays.The Fast cutoff is currently hard-coded. If we made a consensus param for this value, we could reduce consensus size and also improve long-tail performance by eliminating slow relays.https://gitlab.torproject.org/mikeperry/scalability-and-perf-board/-/issues/16Consensus param for Guard cutoff2020-02-07T18:20:53ZMike PerryConsensus param for Guard cutoffIf we made the Guard cutoff into a consensus parameter, we could tune the number of guards to better load balance the network and eliminate bottleneck guards.If we made the Guard cutoff into a consensus parameter, we could tune the number of guards to better load balance the network and eliminate bottleneck guards.https://gitlab.torproject.org/mikeperry/scalability-and-perf-board/-/issues/12PID feedback for bw auths2020-02-07T18:17:32ZMike PerryPID feedback for bw authsThe Torflow PID feedback system will result in a provably optimimum load balancing equilibrium for uniform average stream capacity across the network.
The problem is if we only use bandwidth for this feedback, relays get overloaded in o...The Torflow PID feedback system will result in a provably optimimum load balancing equilibrium for uniform average stream capacity across the network.
The problem is if we only use bandwidth for this feedback, relays get overloaded in other ways. So we need to stop feedback if nodes announce that they are overloaded via memory, sockets, or CPU (which is another ticket).https://gitlab.torproject.org/mikeperry/scalability-and-perf-board/-/issues/11DNS test predicted circuits2020-02-07T18:15:35ZMike PerryDNS test predicted circuitsArthur and Dennis have detected that some long tail of exits/relays are really bad for unknown reasons. Sometimes this is just DNS config, but there are other things beyond that.
We could DNS test our circuits and toss out the slowest 5...Arthur and Dennis have detected that some long tail of exits/relays are really bad for unknown reasons. Sometimes this is just DNS config, but there are other things beyond that.
We could DNS test our circuits and toss out the slowest 5%, via a mechanism similar to CBT math. We don't really need to toss out a lot of circuits via this mechanism, as something like 1% or less of circuits have this problem. But the ones that do have it delay page load by 6 seconds or more.https://gitlab.torproject.org/mikeperry/scalability-and-perf-board/-/issues/9Signals for relay CPU, memory, socket overload2020-02-07T18:13:47ZMike PerrySignals for relay CPU, memory, socket overloadWe need low resolution backoff signals for bw auth PID feedback, so that the bw auths can stop providing more weight to relays that are maxed out in ways other than bandwidth.
Bonus points if can be used by the congestion control resear...We need low resolution backoff signals for bw auth PID feedback, so that the bw auths can stop providing more weight to relays that are maxed out in ways other than bandwidth.
Bonus points if can be used by the congestion control research idea.https://gitlab.torproject.org/mikeperry/scalability-and-perf-board/-/issues/6Anon creds for rate limiting and exit bridges2020-02-07T18:44:05ZMike PerryAnon creds for rate limiting and exit bridgeshttps://gitlab.torproject.org/mikeperry/scalability-and-perf-board/-/issues/3Walking Onions2020-02-10T22:03:25ZMike PerryWalking Onionshttps://gitlab.torproject.org/mikeperry/scalability-and-perf-board/-/issues/1Congestion Control2020-07-09T20:14:22ZMike PerryCongestion Control