[{"author": "Kyle Rose", "text": "
Hear hear
", "time": "2022-11-08T13:07:47Z"}, {"author": "Christian Huitema", "text": "Processing transactions faster saves energy per transaction. Fine. But does it lead to more transactions?
", "time": "2022-11-08T13:19:08Z"}, {"author": "Wolfgang Beck", "text": "maybe energy efficiency deserves its on research group
", "time": "2022-11-08T13:24:25Z"}, {"author": "Christian Huitema", "text": "Venkat is right, this is a very real problem. We can see issues like that even with Hystart
", "time": "2022-11-08T13:35:14Z"}, {"author": "Christian Huitema", "text": "Lots of studies of that effect for LEDBAT, e.g., https://arxiv.org/ftp/arxiv/papers/1006/1006.3018.pdf
", "time": "2022-11-08T13:37:01Z"}, {"author": "Ayush Mishra", "text": "Q: Do you differentiate between self-inflicted delay variation vs. delay variation caused by a competing flow? Would a delay convergent CCA starve even while competing with a non-delay convergent CCA?
", "time": "2022-11-08T13:41:01Z"}, {"author": "Ayush Mishra", "text": "Thanks Jana!
", "time": "2022-11-08T13:44:11Z"}, {"author": "Ayush Mishra", "text": "Got it, thanks Venkat!
", "time": "2022-11-08T13:44:27Z"}, {"author": "Christian Huitema", "text": "BBR has this regular probing for higher bandwidth. I was wondering whether there should be some equivalent \"downward probing\" in which for a given epoch the sender just slows down. Would that be a way to deliberately oscillate the delay?
", "time": "2022-11-08T13:50:49Z"}, {"author": "Kyle Rose", "text": ":clap:
", "time": "2022-11-08T13:52:13Z"}, {"author": "Massimiliano Pala", "text": "yes.
", "time": "2022-11-08T13:54:09Z"}, {"author": "Venkat Arun", "text": "@Christian - That could work. The key is that the probe should indicate the level of congestion to the other flows observing the delay. BBR and LEDBAT do this, but only with the intention of discovering the min RTT. This is insufficient to solve this problem
", "time": "2022-11-08T13:56:53Z"}, {"author": "Christian Huitema", "text": "My other question is whether the correction shall require cooperation of other flows, or whether it can be done individually
", "time": "2022-11-08T13:58:00Z"}, {"author": "Vidhi Goel", "text": "Wouldn't ECN be helpful here to detect congestion building up due to other flows?
", "time": "2022-11-08T14:00:06Z"}, {"author": "Venkat Arun", "text": "I don't know yet. I think it will be easier to answer this question once we actually have a CCA that works when everybody is using the same algorithm. Then we can see whether we can create a standard analogous to \"TCP friendliness\" where we can allow individual flows to customize their CCA
", "time": "2022-11-08T14:00:34Z"}, {"author": "Christian Huitema", "text": "For ECN, the condition is probably to do something like multiplicative decrease, so there is asymptotic convergence to the desired state
", "time": "2022-11-08T14:02:11Z"}, {"author": "Venkat Arun", "text": "@Vidhi - Yes. With ECN I believe we can get close to ideal performance if done correctly. I don't know if RED/CoDel are the answer. Potential answers include accel-brake control (ABC) and its classical precursors RCP/XCP. The challenge of course is with universal deployment
", "time": "2022-11-08T14:03:15Z"}, {"author": "Vidhi Goel", "text": "Well, we have been making a lot of progress with L4S in the IETF as well as preparing for the deployment. It uses ECN in a similar way as DCTCP ( I am oversimplifying) on WAN
", "time": "2022-11-08T14:04:40Z"}, {"author": "Christian Huitema", "text": "@Vidhi -- yes, ECN is good. But Venkat is right to point out that it is not universally deployed. Also, some bottlenecks and some source of delay jitter happen below IP routing, and wont be signalled by ECN.
", "time": "2022-11-08T14:06:27Z"}, {"author": "Ayush Mishra", "text": "For starvation between BBR flows with different RTTs, starvation always happens in one direction (the smaller RTT flow always suffers). That makes me wonder if the starvation between diff RTT BBR flows is simply because they are bound by different cwnds (larger BDP estimate for the larger flow) rather than the fact that they are delay convergent.
", "time": "2022-11-08T14:07:43Z"}, {"author": "Vidhi Goel", "text": "Yes, that is self inflicted delay issue
", "time": "2022-11-08T14:08:16Z"}, {"author": "Ian Swett", "text": "+1 to Bob's comment. Also, applications use networks in somewhat unpredictable ways.
", "time": "2022-11-08T14:09:12Z"}, {"author": "Roland Bless", "text": "@Ayush Mishra Yes, especially in BBRv1 it is the case that it's the CWnd Cap that is larger for larger RTT flows. For BBRv2 there are more subtle dependencies...
", "time": "2022-11-08T14:09:41Z"}, {"author": "Venkat Arun", "text": "@Vidhi - I would love to see ECN more widely deployed. If you are working toward that, that would be very helpful. I'm happy to discuss offline which methods of setting ECN will help
", "time": "2022-11-08T14:09:48Z"}, {"author": "Venkat Arun", "text": "@Ayush - You are right. cwnd cap => delay convergence => starvation. So both statements are correct :)
", "time": "2022-11-08T14:10:24Z"}, {"author": "Christian Huitema", "text": "Not sure about Bob's comment. Lenore points out the need to \"model the assumptions\", and it is better to make these model explicit.
", "time": "2022-11-08T14:10:44Z"}, {"author": "Ian Swett", "text": "Since the queue is closed, I was going to say that there might be value in proving that congestion controllers do the thing we expect them to do in even simplified circumstances. Even if they can't model anything close to reality.
", "time": "2022-11-08T14:11:13Z"}, {"author": "Ian Swett", "text": "Good is better than perfect.
", "time": "2022-11-08T14:11:18Z"}, {"author": "Ian Swett", "text": "Sorry, I meant good is better than nothing.
", "time": "2022-11-08T14:12:25Z"}, {"author": "Venkat Arun", "text": "@Lenore, @Ken - I have been working on formal verification of CC (SIGCOMM 21). We came across some of the challenges you mentioned and solved some of them. Would love to chat more offline
", "time": "2022-11-08T14:13:26Z"}, {"author": "Vidhi Goel", "text": "@Venkat, happy to discuss offline. (I am not onsite but available on slack etc)This talk from Ingemar touches on adoption of L4S in 5G
", "time": "2022-11-08T14:14:13Z"}, {"author": "Venkat Arun", "text": "@Vidhi - you can reach me at venkatar@mit.edu
", "time": "2022-11-08T14:15:36Z"}, {"author": "Randell Jesup", "text": "I wonder how it decides what packets go into \"latency sensitive traffic\"?
", "time": "2022-11-08T14:16:03Z"}, {"author": "Vidhi Goel", "text": "That is an implementation detail but L4S spec says use ECT1 as a classifier
", "time": "2022-11-08T14:16:59Z"}, {"author": "Ian Swett", "text": "Which implementation of BBRv1 and LEDBAT++ are these? Linux?
", "time": "2022-11-08T14:23:21Z"}, {"author": "Vidhi Goel", "text": "AFAIK, Linux doesn't have LEDBAT++ (and rLEDBAT)
", "time": "2022-11-08T14:24:01Z"}, {"author": "Randell Jesup", "text": "This is the same sort of issue we discussed in IETF XX back in 2011(?) in Vancouver when we had the workshop on realtime data congestion control, and then created the RMCAT working group.
", "time": "2022-11-08T14:24:16Z"}, {"author": "Randell Jesup", "text": "(With regards to (plain) LEDBAT and realtime flows)
", "time": "2022-11-08T14:24:41Z"}, {"author": "Randell Jesup", "text": "A lot of this was driven by the 100ms(? IIRC) target delay for the original LEDBAT. This modification looks interesting
", "time": "2022-11-08T14:26:12Z"}, {"author": "Randell Jesup", "text": "IIRC the original LEDBAT had fairness issues between LEDBAT streams as well. Not sure if they had a similar cause
", "time": "2022-11-08T14:28:40Z"}, {"author": "Randell Jesup", "text": "Note: I'm not an expert on LEDBAT; this is all based on my memories from around the time of that IETF meeting
", "time": "2022-11-08T14:29:06Z"}, {"author": "Venkat Arun", "text": "@Randell - I believe that the original LEDBAT was not designed for inter-LEDBAT fairness
", "time": "2022-11-08T14:29:52Z"}, {"author": "Christian Huitema", "text": "I hate the idea of fixed delays, like \"100ms\" or \"10 seconds\". Also, synchronization is generally a failure.
", "time": "2022-11-08T14:30:04Z"}, {"author": "Christian Huitema", "text": "Something random would be much simpler.
", "time": "2022-11-08T14:30:27Z"}, {"author": "Randell Jesup", "text": "I don't see how you can synchronize successfully with N streams on a link
", "time": "2022-11-08T14:30:35Z"}, {"author": "Simone Ferlin", "text": "Yes, we can @Gorry :)
", "time": "2022-11-08T14:31:11Z"}, {"author": "Christian Huitema", "text": "How you will. If multiple processes have the same period, then it takes very little signal to have them come in synch.
", "time": "2022-11-08T14:31:15Z"}, {"author": "Ian Swett", "text": "Scan early, scan often
", "time": "2022-11-08T14:32:24Z"}, {"author": "Christian Huitema", "text": "It will take several periods, bt not many.
", "time": "2022-11-08T14:32:39Z"}]