Subject: [quicwg/base-drafts] RTT variance may be included in threshold (#2213)

From: janaiyengar <[email-masked]>
Date: Wed, 19 Dec 2018 19:52:11 -0800

Closes #2207.
You can view, comment on, or merge this pull request online at:

  https://github.com/quicwg/base-drafts/pull/2213

-- Commit Summary --

  * RTT variance may be included in threshold

-- File Changes --

    M draft-ietf-quic-recovery.md (9)

-- Patch Links --

https://github.com/quicwg/base-drafts/pull/2213.patch
https://github.com/quicwg/base-drafts/pull/2213.diff

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/2213

---

From: janaiyengar <[email-masked]>
Date: Wed, 19 Dec 2018 19:53:43 -0800

@janaiyengar pushed 1 commit.

d66314e21617d8070e0266458f06df611c649251  small refactor

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/2213/files/b56f4f27ffb7e520d5eafc54761eaab20fe20009..d66314e21617d8070e0266458f06df611c649251

---

From: ianswett <[email-masked]>
Date: Thu, 20 Dec 2018 05:36:55 -0800

ianswett commented on this pull request.

FWIW, I'm still pretty skeptical that RTTVar and reordering are correlated in a meaningful way.  Before we land this, I'd like to see something, anecdotal or otherwise, that indicates that's true sometimes?  Or a stronger theoretical argument than in the issue.

> @@ -362,10 +362,10 @@ Using max(SRTT, latest_RTT) protects from the two following cases:
 * the latest RTT sample is higher than the SRTT, perhaps due to a sustained
   increase in the actual RTT, but the smoothed SRTT has not yet caught up.
 
-Implementers MAY experiment with using other reordering thresholds, including
-absolute thresholds, bearing in mind that a lower multiplier reduces reordering
-resilience and increases spurious retransmissions, and a higher multiplier
-increases loss detection delay.
+Implementers MAY experiment with including RTT variance in the threshold, or

If we're going to do this, I'd highly prefer adding variance to the list "using other reordering thresholds, including absolute thresholds, those including RTT variance, or those from similar previous connections.  Using a lower multiplier reduces..."

I added similar previous connections, because I think that's probably a fairly fruitful direction if someone wanted to work on it.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/2213#pullrequestreview-186979342

---

From: MikkelFJ <[email-masked]>
Date: Thu, 20 Dec 2018 05:47:26 -0800

mikkelfj commented on this pull request.

I don't know how to check for reordering with PING. If I send PINGs in burst from Denmark to China I see maybe 30% packet loss, the same if I send packets in short intervals. I think the loss might be because the ping tool does not wait for a response after at sends the next PING and opts for a timeout loss instead. This from Denmark to Beijing with variance of 200-500ms.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/2213#discussion_r243276326

---

From: ianswett <[email-masked]>
Date: Thu, 20 Dec 2018 05:51:44 -0800

To my knowledge, you can't.  Which is why PING doesn't tell you anything about network reordering, unfortunately.  It does tell you a lot about RTT and RTTVar, though.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/2213#discussion_r243277840

---

From: ianswett <[email-masked]>
Date: Thu, 20 Dec 2018 05:54:04 -0800

To make this slightly harder still, Chromium's early experiments showed that loss was not correlated, but when an application is using the network, evidence shows loss is very correlated.  So I don't think we can understand the prevalence and nature of reordering in a network without using the network in a realistic way, such as HTTP.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/2213#discussion_r243278596

---

From: MikkelFJ <[email-masked]>
Date: Thu, 20 Dec 2018 06:03:00 -0800

I didn't get past the double slit experiment.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/2213#discussion_r243281625

---

From: janaiyengar <[email-masked]>
Date: Thu, 20 Dec 2018 18:39:34 +0000 (UTC)

janaiyengar commented on this pull request.

@ianswett: I don't think the long list of RTT measurements on this issue are making the necessary point, and I don't have any reason to believe that high RTT variability has anything to do with reordering. That said, it's definitely possible for a network to have high variability and reordering. They don't need to be correlated, they just need to happen together.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/2213#discussion_r243376367

---

From: MikkelFJ <[email-masked]>
Date: Thu, 20 Dec 2018 10:55:56 -0800

Theoretically it isn't hard to imagine a router taking a different path once it realises a preferred path is congested. That can easily have one packet sitting in queue while another packet races past on an otherwise longer path. The preferred might suddenly unclog leading a third packet to overtake the second packet on the longer path.

Whether this happens in real life is not explained by hypothesis.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/2213#discussion_r243381203

---

From: janaiyengar <[email-masked]>
Date: Thu, 20 Dec 2018 12:10:06 -0800

5fff0eb32534d8e3d1bb051e329db75e538528cb  more text

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/2213/files/d66314e21617d8070e0266458f06df611c649251..5fff0eb32534d8e3d1bb051e329db75e538528cb

---

From: janaiyengar <[email-masked]>
Date: Thu, 20 Dec 2018 12:10:09 -0800

Ok, text modified.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/2213#issuecomment-449121138

---

From: janaiyengar <[email-masked]>
Date: Thu, 20 Dec 2018 12:11:24 -0800

b97329ceaa22020f7e34fce626948d0a7839a9ee  nit

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/2213/files/5fff0eb32534d8e3d1bb051e329db75e538528cb..b97329ceaa22020f7e34fce626948d0a7839a9ee

---

From: janaiyengar <[email-masked]>
Date: Thu, 20 Dec 2018 13:15:07 -0800

977ba7a94ac684ec9ebbc814afa8cd43eef572bc  simplification

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/2213/files/b97329ceaa22020f7e34fce626948d0a7839a9ee..977ba7a94ac684ec9ebbc814afa8cd43eef572bc

---

From: janaiyengar <[email-masked]>
Date: Thu, 20 Dec 2018 13:17:43 -0800

79afc12fa60838d1120528944fd2139c54999c92  simpler

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/2213/files/977ba7a94ac684ec9ebbc814afa8cd43eef572bc..79afc12fa60838d1120528944fd2139c54999c92

---

From: janaiyengar <[email-masked]>
Date: Thu, 20 Dec 2018 21:19:36 +0000 (UTC)

b1a234d7da3135341b48bb52eb8d6cee3ddc2990  simpler

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/2213/files/79afc12fa60838d1120528944fd2139c54999c92..b1a234d7da3135341b48bb52eb8d6cee3ddc2990

---

From: ianswett <[email-masked]>
Date: Thu, 20 Dec 2018 13:19:54 -0800

ianswett approved this pull request.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/2213#pullrequestreview-187189017

---

From: MikkelFJ <[email-masked]>
Date: Thu, 20 Dec 2018 13:21:19 -0800

-Implementers MAY experiment with using other reordering thresholds, including
-absolute thresholds, bearing in mind that a lower multiplier reduces reordering
-resilience and increases spurious retransmissions, and a higher multiplier
-increases loss detection delay.
+Implementations MAY experiment with absolute thresholds, thresholds from
+previous connections, adaptive thresholds, or including RTT variance.  Smaller
+thresholds reduce reordering resilience and increase spurious retransmissions,
+and larger thresholds increases loss detection delay.

```suggestion
and larger thresholds increase loss detection delay.
```

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/2213#pullrequestreview-187189490

---

From: ianswett <[email-masked]>
Date: Thu, 20 Dec 2018 13:29:21 -0800

Merged #2213 into master.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/2213#event-2039447008

---

From: janaiyengar <[email-masked]>
Date: Thu, 20 Dec 2018 13:52:42 -0800

Did this in a separate commit -- thanks!

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/2213#discussion_r243429304