Scalability and Perf Board issueshttps://gitlab.torproject.org/mikeperry/scalability-and-perf-board/-/issues2020-02-07T18:16:56Zhttps://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/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/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/33Evaluate shadow models2020-02-07T18:36:07ZMike PerryEvaluate shadow modelsWhat is the smallest, lowest-resource shadow model that can reproduce various experimental results from the literature and the live network?What is the smallest, lowest-resource shadow model that can reproduce various experimental results from the literature and the live network?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/42FlashFlow2020-05-20T05:50:14ZMike PerryFlashFlowhttps://gitlab.torproject.org/mikeperry/scalability-and-perf-board/-/issues/36Flashflow 20 second flood test2020-02-07T18:38:47ZMike PerryFlashflow 20 second flood testhttps://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/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/35Investigate "slow" relays2020-02-07T17:54:34ZMike PerryInvestigate "slow" relayshttps://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/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/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/37Torflow -> sbws2020-02-07T17:57:22ZMike PerryTorflow -> sbwshttps://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/3Walking Onions2020-02-10T22:03:25ZMike PerryWalking Onions