Scalability and Perf Board issueshttps://gitlab.torproject.org/mikeperry/scalability-and-perf-board/-/issues2020-02-07T16:42:48Zhttps://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/25Idle client optimizations2020-02-07T18:33:34ZMike PerryIdle client optimizationsWe could try to optimize how much bandwidth idle clients use by tuning consensus diffs, etc.We could try to optimize how much bandwidth idle clients use by tuning consensus diffs, etc.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/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/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/35Investigate "slow" relays2020-02-07T17:54:34ZMike PerryInvestigate "slow" relayshttps://gitlab.torproject.org/mikeperry/scalability-and-perf-board/-/issues/38Kist Interval Tuning2020-02-10T22:08:39ZMike PerryKist Interval TuningChanging the global kist interval may improve throughput, at the expense of latency.Changing the global kist interval may improve throughput, at the expense of latency.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/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/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/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/5QoS and user/circuit throttling2020-02-07T18:07:03ZMike PerryQoS and user/circuit throttlinghttps://gitlab.torproject.org/mikeperry/scalability-and-perf-board/-/issues/26Relay usability2020-02-07T17:35:34ZMike PerryRelay usabilityIf we improved relay usability, maybe more people would run relays?
Maybe not, though.If we improved relay usability, maybe more people would run relays?
Maybe not, though.https://gitlab.torproject.org/mikeperry/scalability-and-perf-board/-/issues/24Relay-specific KIST intervals2020-02-07T17:32:06ZMike PerryRelay-specific KIST intervalsOur KIST intervals need to be different depending on relay throughput.
We could either do this via kernel patches (long, expensive, slow rollout), or simply by setting different cutoffs for these values in the consensus based on relay t...Our KIST intervals need to be different depending on relay throughput.
We could either do this via kernel patches (long, expensive, slow rollout), or simply by setting different cutoffs for these values in the consensus based on relay traffic volume.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/27TCP fast open at exits2020-02-07T18:19:15ZMike PerryTCP fast open at exitsIf all exits used TCP fast open, latency might decrease.If all exits used TCP fast open, latency might decrease.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/37Torflow -> sbws2020-02-07T17:57:22ZMike PerryTorflow -> sbwshttps://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/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.