Opened 2 years ago

Closed 18 months ago

#21212 closed defect (implemented)

Write and analyze proposals for transmitting microdescriptors with less bandwidth

Reported by: nickm Owned by: nickm
Priority: Medium Milestone: Tor: 0.3.2.x-final
Component: Core Tor/Tor Version:
Severity: Normal Keywords: TorCoreTeam201705
Cc: Actual Points:
Parent ID: #21209 Points: 3
Reviewer: Sponsor: Sponsor4

Description

The idea: I can think of a few ways to lower the amount of bandwidth we use for downloading microdescriptors, without actually fetching any fewer. Would any of them be worthwhile? We should analyze them and write proposals for them.

  • Do we frequently download small batches of microdescriptors? If so, fetching them in larger batches would get us better compression.
  • Do we frequently download small batches of microdescriptors? If so, zlib dictionaries would get us better compression.
  • When a client moves from one consensus to another, the set of microdescriptors that the client wants is almost determined by the difference between those two consensuses. (I say "almost" because the client may have other mds that occurred in even earlier consensuses.) Can we have clients download microdescriptors in batches that depend on the consensus, rather than batches that are named by the microdescriptor digests? This would have these benefits:
    • HTTP requests would get much shorter.
    • Batching many microdescriptors together would improve compression.
    • Batching a predictable group of microdescriptors together would enable us to spend more CPU on compressing those groups, since we wouldn't need to compress so many different groups. (See #21211)

Child Tickets

Change History (8)

comment:1 Changed 2 years ago by nickm

#10871 has some earlier discussion of the third idea here.

comment:2 Changed 23 months ago by nickm

Sponsor: Sponsor4

Setting "sponsor4" sponsor on all tickets that have the sponsor4 keyword, but have no sponsor set.

comment:3 Changed 23 months ago by nickm

Keywords: TorCoreTeam201703 added

comment:4 Changed 21 months ago by nickm

Keywords: TorCoreTeam201704 031-reach added; TorCoreTeam201703 removed
Owner: set to nickm
Status: newaccepted

comment:5 Changed 21 months ago by nickm

Keywords: TorCoreTeam201705 added
Milestone: Tor: 0.3.1.x-finalTor: 0.3.2.x-final

These are things I should work on during May, but they're prep work for 0.3.2 and beyond.

comment:6 Changed 20 months ago by nickm

Remove Sponsor4 keyword, now that Sponsor4 is the value of the Sponsor field.

comment:7 Changed 20 months ago by nickm

Keywords: sponsor4 TorCoreTeam201704 031-reach removed

comment:8 Changed 18 months ago by nickm

Resolution: implemented
Status: acceptedclosed

These proposals are 278 and 281; the ticket is #23220

Note: See TracTickets for help on using tickets.