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/39EWMA Tuning2020-02-10T22:06:26ZMike PerryEWMA Tuninghttps://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/37Torflow -> sbws2020-02-07T17:57:22ZMike PerryTorflow -> sbwshttps://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/34Exit scanning for misconfig failures2020-02-07T17:53:21ZMike PerryExit scanning for misconfig failuresSome exits fail because of poor config. We can scan for them and reach out to operators to improve things.Some exits fail because of poor config. We can scan for them and reach out to operators to improve things.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/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/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/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/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/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/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.