Subject: [quicwg/base-drafts] Does InPersistentCongestion calculate a bogus value? (#2694)

From: Lars Eggert <[email-masked]>
Date: Mon, 13 May 2019 08:59:40 -0700

```
InPersistentCongestion(largest_lost_packet):
        pto = smoothed_rtt + max(4 * rttvar, kGranularity) +
          max_ack_delay
```
`pto` is usually < 1 sec, right?
```
        congestion_period = pto * kPersistentCongestionThreshold
```
So because `kPersistentCongestionThreshold` is 3, multiplying by `pto` will result in 0 (cast to integer, since it's supposed to be a window width). Or what unit do you assume `pto` to be calculated in?

-- 
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/issues/2694

---

From: MikkelFJ <[email-masked]>
Date: Mon, 13 May 2019 09:30:53 -0700

I don't think you can assume integer math 1 second resolution here, if this is what you are suggesting.

Most would likely use floating point here, since that is simple and efficient. And for those who don't, computing in units of milliseconds or microseconds would make sense.

-- 
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/issues/2694#issuecomment-491894322

---

From: ianswett <[email-masked]>
Date: Mon, 13 May 2019 09:35:39 -0700

Given max_ack_delay and other fields are in microseconds, I assumed all of this would be done in microseconds.

I can add that to the document if you can tell me where that should be stated.

-- 
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/issues/2694#issuecomment-491895970

---

From: Nick Banks <[email-masked]>
Date: Mon, 13 May 2019 09:39:49 -0700

I also assumed microseconds.

-- 
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/issues/2694#issuecomment-491897438

---

From: MikkelFJ <[email-masked]>
Date: Mon, 13 May 2019 09:50:55 -0700

I don't think it makes sense to state any particular resolution here. It ought to be clear that if your resolution does not cover your value range, you loose precision. The value range depends on circumstances.

-- 
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/issues/2694#issuecomment-491901173

---

From: Lars Eggert <[email-masked]>
Date: Mon, 13 May 2019 09:53:49 -0700

Well, my timestamps are doubles in seconds.

-- 
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/issues/2694#issuecomment-491902199

---

From: ianswett <[email-masked]>
Date: Mon, 13 May 2019 09:55:00 -0700

That should work as well.

-- 
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/issues/2694#issuecomment-491902606

---

From: MikkelFJ <[email-masked]>
Date: Mon, 13 May 2019 09:55:18 -0700

> Well, my timestamps are doubles in fractional seconds.

That shouldn't cause you problems then, unless you cast to integer naively.

-- 
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/issues/2694#issuecomment-491902707

---

From: Lars Eggert <[email-masked]>
Date: Mon, 13 May 2019 09:56:15 -0700

Well, the congestion_period is supposed to be in packets, so you have to scale it somehow, no?

-- 
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/issues/2694#issuecomment-491903052

---

From: Lars Eggert <[email-masked]>
Date: Mon, 13 May 2019 16:56:40 +0000 (UTC)

Or is it in time?

-- 
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/issues/2694#issuecomment-491903188

---

From: MikkelFJ <[email-masked]>
Date: Mon, 13 May 2019 09:58:56 -0700

I'd assume the congestion_period is time because a unitless factor is multiplied to pto which has a time unit.

-- 
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/issues/2694#issuecomment-491903943

---

From: Lars Eggert <[email-masked]>
Date: Mon, 13 May 2019 10:00:17 -0700

Ah. When I hear "window", I think "packets".

-- 
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/issues/2694#issuecomment-491904415

---

From: MikkelFJ <[email-masked]>
Date: Mon, 13 May 2019 10:01:25 -0700

But somehow you are right. You can view smoothed RTT as conversion unit for packets, roughly.

-- 
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/issues/2694#issuecomment-491904818

---

From: ianswett <[email-masked]>
Date: Mon, 13 May 2019 10:59:20 -0700

Ah, now that I go back and read the pseudo-code, I understood the confusion.

Yes, IsWindowLost is a very confusing name, we should change 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/issues/2694#issuecomment-491924350

---

From: ianswett <[email-masked]>
Date: Mon, 13 May 2019 11:43:37 -0700

I sent you a PR, @larseggert Feel free to suggest a different name if that doesn't work for you.

-- 
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/issues/2694#issuecomment-491939616

---

From: Jana Iyengar <[email-masked]>
Date: Mon, 13 May 2019 12:49:32 -0700

@larseggert: The TCP is strong in you :-)

-- 
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/issues/2694#issuecomment-491960936

---

From: ianswett <[email-masked]>
Date: Mon, 13 May 2019 17:52:17 -0700

Closed #2694 via #2696.

-- 
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/issues/2694#event-2338599302