Skip to content

Run client-side experiments on CBT to test timeout cutoff and two guard use

We need to:

  1. Run guard-based onionperf instances with two guards
  2. Ensure onionperf is properly using two guards
  3. Check that timeout rate closely matches the expected 20% for regular and onion circs
  4. Verify that what BUILDTIMEOUT_SET reports is the real timeout rate
  5. Tune Xm and alpha estimation for different guard types and circ counts
  6. Do some tests changing CBT_DEFAULT_QUANTILE_CUTOFF to see how timeout rate changes.
  7. Investigate how changing the quantile cutoff to 60/70/80 changes performance metrics in onionperf (for 2-close, 2-far, and 2-mixed guards)
  8. Double-check that the same properties hold for onion service onionperf
  9. Compare this behavior to original for 1-close, 1-far guard
  10. Ensure that onionperf ignores measurements and timeouts, when no timeout is learned yet, while changing guards.

Note there is a separate set of work to test this parameter tuning globally in the consensus.

Some of these tests can be run with 'vanguards --enable-cbtverify --disable-vanguards'

See also:

Edited by George Kadianakis
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information