Opened 8 months ago

Last modified 7 days ago

#28582 needs_information task

Document the load-balancing goal for sbws

Reported by: teor Owned by:
Priority: Medium Milestone: Tor: unspecified
Component: Core Tor/Tor Version:
Severity: Normal Keywords: teor-backlog, tor-spec, sbws-1.0-nice-moved-20181128, teor-unreached-2019-03-08, no-changes-version, docs, sbws-11x-final-removed-20190312, doc, 041-deferred-20190530
Cc: juga, starlight@… Actual Points: 0.2
Parent ID: Points: 0.2
Reviewer: Sponsor:

Description

We should include a section early in the bandwidth spec that documents the load balancing goal for sbws.

Here's my initial draft:

Bandwidth scanners should have a well-defined network equilibrium goal.

For sbws and Torflow without PID control, the network equilibrium goals are:
  1. clients experience reasonably consistent performance
  2. clients experience performance that is as fast as possible, without compromising goal 1
These performance goals include both throughput and latency.

For Torflow with PID control, the goal was:
  1. Each relay has exactly the same spare capacity for an additional stream
This goal was unachievable because Tor did not provide enough feedback on circuit failure.

These non-goals are common suggestions:
  1. Bandwidth is allocated equally across relays
  2. All relay bandwidth is used
These goals are unachievable, because they conflict with the consistent client performance goal.

Based on mike's response from this thread:

I believe quite strongly that even if the Tor network gets faster on
average, if this comes at the cost of increased performance variance,
user experience and perceived speed of Tor will be much worse. There's
nothing more annoying than a system that is *usually* fast enough to do
what you need it to do, but fails to be fast enough for that activity at
unpredictable times.

https://lists.torproject.org/pipermail/tor-dev/2018-August/013419.html

Child Tickets

Change History (22)

comment:1 Changed 8 months ago by teor

Status: assignedneeds_revision

I will think about this part of the spec, and revise it

comment:2 Changed 8 months ago by teor

Keywords: sbws-1.0-nice-moved-20181128 added
Milestone: sbws 1.0 (MVP nice)sbws 1.0.4

Moving all sbws 1.0 nice tickets to 1.0.4

comment:3 Changed 8 months ago by teor

Milestone: sbws 1.0.4sbws 1.1

Milestone renamed

comment:4 Changed 8 months ago by teor

Milestone: sbws 1.1sbws: 1.1.x

Milestone renamed

comment:5 Changed 8 months ago by teor

Milestone: sbws: 1.1.xsbws: 1.1.x-final

Milestone renamed

comment:6 Changed 4 months ago by teor

Keywords: teor-unreached-2019-03-08 added
Owner: teor deleted
Status: needs_revisionassigned

comment:7 Changed 4 months ago by teor

Status: assignedneeds_revision

comment:8 Changed 4 months ago by juga

Keywords: no-changes-version added

Add keyword to help planify releases/milestones.
Tickets that doesn't imply a change of version are tickets which do not affect the code (docs, tests) and some time of refactors.

comment:9 Changed 4 months ago by juga

Keywords: docs added

Add keyword. docs are tickets that affect to documentation

comment:10 Changed 4 months ago by juga

Keywords: sbws-11x-final-removed-20190312 added
Milestone: sbws: 1.1.x-finalsbws: unspecified

Remove tickets from 11x-final that can be implemented next month

comment:11 Changed 4 months ago by juga

Parent ID: #27107

Un-parenting since this would be done after at least 3 dirauths are running sbws, which is not part anymore of the transition, but will be a new feature in sbws.

comment:12 Changed 4 months ago by starlight

Cc: starlight@… added

comment:13 Changed 4 months ago by teor

Actual Points: 0.2
Component: Core Tor/sbwsCore Tor/Tor
Milestone: sbws: unspecifiedTor: 0.4.1.x-final
Owner: set to teor
Points: 0.2
Status: needs_revisionassigned

I will create a pull request to torspec with the goal in the ticket description.

We probably also need to say something like:
"Scanners running on the same Tor network SHOULD have the same network equilibrium goal."

comment:14 Changed 2 months ago by nickm

Keywords: doc added

Mark a few documentation tickets as "doc"

comment:15 Changed 7 weeks ago by nickm

Keywords: 041-deferred-20190530 added

Marking these tickets as deferred from 041.

comment:16 Changed 7 weeks ago by nickm

Milestone: Tor: 0.4.1.x-finalTor: unspecified

comment:17 Changed 5 weeks ago by teor

I think I'm going to commit this draft, then we can work on it.

comment:18 Changed 7 days ago by mikeperry

Juga asked that I add the metrics link for load balancing evaluation to this ticket: https://trac.torproject.org/projects/tor/wiki/org/roadmaps/CoreTor/PerformanceMetrics#BalancingMetrics

comment:19 in reply to:  18 ; Changed 7 days ago by teor

Hi Mike, Juga,

I'm not sure what you are asking me to do to resolve this ticket:

Replying to mikeperry:

Juga asked that I add the metrics link for load balancing evaluation to this ticket: https://trac.torproject.org/projects/tor/wiki/org/roadmaps/CoreTor/PerformanceMetrics#BalancingMetrics

Do either of you want to write the sbws load balancing goals and submit a pull request for the spec?

Do you want me to wait to write the sbws load balancing goals until after the load balancing evaluation?

Do you want me to change the draft load balancing goals in the ticket description, based on Mike's "healthy network" descriptions in the load balancing evaluation?

Or something else?

I'm happy to do whatever you think is best.

comment:20 Changed 7 days ago by teor

Keywords: teor-backlog added
Owner: teor deleted

comment:21 Changed 7 days ago by teor

Status: assignedneeds_information

comment:22 in reply to:  19 Changed 7 days ago by juga

Replying to teor:

Hi Mike, Juga,

I'm not sure what you are asking me to do to resolve this ticket:

My intention asking Mike to add this link was to just keep track on documentation that could be useful for this ticket and i don't want to forget about but to think about.
My intention was not to make you do anything nor to resolve this ticket.

Replying to mikeperry:

Juga asked that I add the metrics link for load balancing evaluation to this ticket: https://trac.torproject.org/projects/tor/wiki/org/roadmaps/CoreTor/PerformanceMetrics#BalancingMetrics

Do either of you want to write the sbws load balancing goals and submit a pull request for the spec?

Do you want me to wait to write the sbws load balancing goals until after the load balancing evaluation?

Do you want me to change the draft load balancing goals in the ticket description, based on Mike's "healthy network" descriptions in the load balancing evaluation?

Or something else?

I'm happy to do whatever you think is best.

As i say, my intention is not to make you do anything. Sorry for the missunderstanding.

Note: See TracTickets for help on using tickets.