Scalability and Perf Board issueshttps://gitlab.torproject.org/mikeperry/scalability-and-perf-board/-/issues2020-02-07T17:27:53Zhttps://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/21Tunable predictive circuit building2020-02-07T18:32:40ZMike PerryTunable predictive circuit buildingOur predictive circuit building might not be optimal. If we have a realistic user model, we could tune it.Our predictive circuit building might not be optimal. If we have a realistic user model, we could tune it.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/19Load Balancing for Padding (Prop #265)2020-02-07T18:34:48ZMike PerryLoad Balancing for Padding (Prop #265)We have a proposal to support larger amounts of padding via load balancing equation changes.
Padding may still need congestion/flow control though...We have a proposal to support larger amounts of padding via load balancing equation changes.
Padding may still need congestion/flow control though...https://gitlab.torproject.org/mikeperry/scalability-and-perf-board/-/issues/18Consensus params for flow control window2020-02-07T18:21:31ZMike PerryConsensus params for flow control windowIf we made consensus params for our SENDME refill amount and initial window sizes, we could see if various defaults have better latency and throughput characteristics.If we made consensus params for our SENDME refill amount and initial window sizes, we could see if various defaults have better latency and throughput characteristics.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/15Improve relay bandwidth testing/self-reporting2020-02-07T18:18:38ZMike PerryImprove relay bandwidth testing/self-reportingWe could improve relay onboarding with a faster/more accurate/more trusted measurement step.We could improve relay onboarding with a faster/more accurate/more trusted measurement step.https://gitlab.torproject.org/mikeperry/scalability-and-perf-board/-/issues/14Tweak sbws scaling curves2020-02-07T18:18:10ZMike PerryTweak sbws scaling curvesAs an alternative, or perhaps in addition to, PID feedback, we could tweak the weights that sbws applies by imposing an additional curve on top of the results.
I am not a huge fan of this approach, but I am adding it for completeness.As an alternative, or perhaps in addition to, PID feedback, we could tweak the weights that sbws applies by imposing an additional curve on top of the results.
I am not a huge fan of this approach, but I am adding it for completeness.https://gitlab.torproject.org/mikeperry/scalability-and-perf-board/-/issues/13Instrumentation/tracing framework2020-02-07T17:07:34ZMike PerryInstrumentation/tracing frameworkDgoulet believes we can more easily find long-tail perf bugs with a tracing framework for Tor, so we can get high-resolution information about critical paths in relay use without impacting performance during the instrumentation of the To...Dgoulet believes we can more easily find long-tail perf bugs with a tracing framework for Tor, so we can get high-resolution information about critical paths in relay use without impacting performance during the instrumentation of the Tor process.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/10Add relay descriptor field to indicate shared link2020-02-07T18:16:56ZMike PerryAdd relay descriptor field to indicate shared linkWhen Rob did his flashflow experiment, relays that shared a machine or link with other relays got overloaded.
If we could encourage relay operators to set a flag for their multi-instance deployments, or better, auto-detect/guess and the...When Rob did his flashflow experiment, relays that shared a machine or link with other relays got overloaded.
If we could encourage relay operators to set a flag for their multi-instance deployments, or better, auto-detect/guess and then ask for confirmation, we could avoid overloading shared-link relays via either flashflow or sbws.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/8Peerflow/flashflow load balancing or measurement2020-02-07T18:10:42ZMike PerryPeerflow/flashflow load balancing or measurementhttps://gitlab.torproject.org/mikeperry/scalability-and-perf-board/-/issues/7Handle influx of many relays at once2020-02-07T16:42:48ZMike PerryHandle influx of many relays at oncehttps://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/5QoS and user/circuit throttling2020-02-07T18:07:03ZMike PerryQoS and user/circuit throttlinghttps://gitlab.torproject.org/mikeperry/scalability-and-perf-board/-/issues/4UDP inside Tor streams2020-02-03T22:18:11ZMike PerryUDP inside Tor streamshttps://gitlab.torproject.org/mikeperry/scalability-and-perf-board/-/issues/3Walking Onions2020-02-10T22:03:25ZMike PerryWalking Onions