Scalability and Perf Board issueshttps://gitlab.torproject.org/mikeperry/scalability-and-perf-board/-/issues2020-02-07T18:43:01Zhttps://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/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/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/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/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/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.