Skip to content

set_piece_deadline() vs sequential_download #6272

Discussion options

You must be logged in to vote

Having read through #4408, I'll attempt to answer my own question.

Putting them both in terms of managing peer request queues:

  • sequential_download: every time a new slot opens in a request queue, we just request the next piece in the sequence
    • Low complexity
    • Request queues stay full, so download bandwidth stays saturated
    • Pieces complete roughly in order
    • ...but there are lots of non-optimal cases, where early-sequence pieces might be requested from slow/bad peers
  • set_piece_deadline(): does more work to ensure critical pieces are in the "optimal" queue positions, judged across all request queues
    • Early-sequence pieces more likely to arrive in desired order, versus sequential_download
    • ...as

Replies: 1 comment 3 replies

Comment options

You must be logged in to vote
3 replies
@arvidn
Comment options

@AllSeeingEyeTolledEweSew
Comment options

@arvidn
Comment options

Answer selected by AllSeeingEyeTolledEweSew
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants