Skip to content

Set "AuthDirVoteStableGuaranteeMinUptime 0".#124

Closed
sporksmith wants to merge 1 commit into
shadow:mainfrom
sporksmith:stable-flag
Closed

Set "AuthDirVoteStableGuaranteeMinUptime 0".#124
sporksmith wants to merge 1 commit into
shadow:mainfrom
sporksmith:stable-flag

Conversation

@sporksmith

Copy link
Copy Markdown
Contributor

This should ensure that all relays get the Stable flag, fixing #123.

@sporksmith sporksmith requested a review from robgjansen June 29, 2026 15:52
@sporksmith

Copy link
Copy Markdown
Contributor Author

At first glance of the CI output, this change appears to substantially improve simulated network performance. This is probably a good thing, but I wonder whether it calls into doubt previous simulation results and/or means some other parameters were compensating for this difference and now need to be readjusted.

https://github.com/shadow/tornettools/actions/runs/28383130535/artifacts/7957053330

e.g.:

circuit_build_time.exit.pdf

client_goodput.exit.pdf

client_goodput_5MiB.exit.pdf

It's been a while though since the "golden" dataset has been updated. I'll do a CI run on main to see whether whether these differences are already present without this PR.

@sporksmith

Copy link
Copy Markdown
Contributor Author

A fresh no-op run on main has similar differences from the "stable" baseline. https://github.com/shadow/tornettools/actions/runs/28385211794/artifacts/7957890090

I'll update the baseline, and then rebase and rerun this one.

@robgjansen

Copy link
Copy Markdown
Member

Hmm!! It does seem like we're going to want to adjust some other parameters to do a better job of matching public Tor. That is probably going to mean adding more circuits and load (concurrent downloads), and maybe adjusting the defaults once we find a good sweet spot.

I'd suggest we also figure out #122 and apply that change too before minting a new "golden" baseline.

Note: I was/am planning to put in more work on this. I already have some tools for containerizing the benchmark tools (using apptainer) so it will be easier to migrate it to a different runner, and it will be much easier to mint a new "golden" baseline checkpoint whenever we want without having to go through our currently complicated cache update process. Tweaking tornettools params and iterating is always part of creating a new baseline, but I think it will be even more important after this change and #122.

Do you want this change urgently or should I continue down my slower but maybe more measured path?

@robgjansen

Copy link
Copy Markdown
Member

Oops, I missed your most recent comment. I guess the jury is still out about the effects of this one. But I think my comment still applies generally.

@sporksmith

Copy link
Copy Markdown
Contributor Author

I've already gone ahead with putting together a baseline update: #125

Assuming you have no objection to merging that, I'll go ahead and re-run this one after rebasing to satisfy my own curiosity if nothing else :)

No rush for merging the actual torrc change though - I'm happy to let you handle a more thorough evaluation and tuning.

This should ensure that all relays get the Stable flag, fixing shadow#123.
@sporksmith

Copy link
Copy Markdown
Contributor Author

With the baseline-data update the differences here don't look as drastic. They could just be the "normal" lack of determinism we've seen here. https://github.com/shadow/tornettools/actions/runs/28390499336/artifacts/7959799172

I'll go ahead and close this for now, pending a more thorough investigation

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants