Linus Nordberg and I are preparing a submission for FOCI about the special way we run tor on the Snowflake bridge. We run many tor processes with the same identity and onion keys, because otherwise tor being limited to one CPU would be the main bottleneck.
I'm writing to fact-check a claim about Arti and how we hope the current complicated procedure will not be needed in the future:
The first and most important bottleneck to overcome is the single-threaded nature of the Tor implementation.² A single Tor process is limited to one CPU core: once Tor hits 100% CPU, the performance of the bridge is capped, no matter the speed of the network connection or the number of CPU cores
²We expect that Arti, the in-progress reimplementation of Tor, will be natively multi-threaded, and remove this primary complication.
Is this correct? Is a relay that uses a future version of Arti expected to be able to use all its CPU resources?
Here is the a draft of the submission. If you have any comments, our submission deadline is 2023-03-15.
https://www.bamsoftware.com/papers/pt-bridge-hiperf/pt-bridge-hiperf.2023030... https://www.bamsoftware.com/papers/pt-bridge-hiperf/pt-bridge-hiperf.2023030...