From: Pete Heist <pete@heistp.net>
To: "Toke Høiland-Jørgensen" <toke@toke.dk>
Cc: Jonathan Morton <chromatix99@gmail.com>,
Cake List <cake@lists.bufferbloat.net>
Subject: Re: [Cake] dual-src/dsthost unfairness, only with bi-directional traffic
Date: Thu, 3 Jan 2019 14:02:27 +0100 [thread overview]
Message-ID: <C7F58585-8A6F-46C5-9A26-3F282EEFFA3C@heistp.net> (raw)
In-Reply-To: <87imz6xatw.fsf@toke.dk>
[-- Attachment #1: Type: text/plain, Size: 1526 bytes --]
> On Jan 3, 2019, at 12:03 PM, Toke Høiland-Jørgensen <toke@toke.dk> wrote:
>
>> Jon, is there anything I can check by instrumenting the code somewhere
>> specific?
>
> Is there any way you could test with a bulk UDP flow? I'm wondering
> whether this is a second-order effect where TCP ACKs are limited in a
> way that cause the imbalance? Are you using ACK compression?
Not using ack-filter, if that’s what’s meant by ACK compression. I thought about the TCP ACK traffic, but would be very surprised if that amount of ACK traffic could cause that large of an imbalance, although it’s worth trying to find out.
I tried iperf3 in UDP mode, but cake is treating these flows aggressively. I get the impression that cake penalizes flows heavily that do not respond to congestion control signals. If I pit one 8 TCP flows against a single UDP flow at 40mbit, the UDP flow goes into a death spiral with increasing drops over time (iperf3 output attached).
I’m not sure there’d be any way I can test fairness with iperf3 in UDP mode. We’d need something that has some congestion control feedback, right? Otherwise, I don’t think there are any rates I can choose to both reach saturation and not be severely punished. And if it has congestion control feedback, it has the ACK-like traffic we’re trying to avoid for the test. :)
As another test, I took out the one-armed router and just tried from a client to a server, no VLANs. Same result. So, still stumped. Thank you for the help...
[-- Attachment #2: iperf3_spiral.txt --]
[-- Type: text/plain, Size: 5287 bytes --]
-----------------------------------------------------------
Server listening on 5202
-----------------------------------------------------------
Accepted connection from 10.0.0.239, port 48289
[ 5] local 10.0.0.231 port 5202 connected to 10.72.0.239 port 38334
[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams
[ 5] 0.00-1.00 sec 4.20 MBytes 35.3 Mbits/sec 0.467 ms 21/559 (3.8%)
[ 5] 1.00-2.00 sec 4.27 MBytes 35.8 Mbits/sec 0.555 ms 43/589 (7.3%)
[ 5] 2.00-3.00 sec 4.48 MBytes 37.6 Mbits/sec 0.482 ms 69/642 (11%)
[ 5] 3.00-4.00 sec 3.90 MBytes 32.7 Mbits/sec 0.461 ms 87/586 (15%)
[ 5] 4.00-5.00 sec 3.84 MBytes 32.2 Mbits/sec 0.490 ms 111/603 (18%)
[ 5] 5.00-6.00 sec 3.94 MBytes 33.0 Mbits/sec 0.341 ms 130/634 (21%)
[ 5] 6.00-7.00 sec 3.63 MBytes 30.5 Mbits/sec 0.539 ms 144/609 (24%)
[ 5] 7.00-8.00 sec 3.59 MBytes 30.1 Mbits/sec 0.451 ms 159/618 (26%)
[ 5] 8.00-9.00 sec 3.21 MBytes 26.9 Mbits/sec 0.987 ms 181/592 (31%)
[ 5] 9.00-10.00 sec 3.23 MBytes 27.1 Mbits/sec 0.224 ms 225/639 (35%)
[ 5] 10.00-11.00 sec 3.11 MBytes 26.1 Mbits/sec 0.204 ms 214/612 (35%)
[ 5] 11.00-12.00 sec 2.80 MBytes 23.5 Mbits/sec 0.371 ms 229/587 (39%)
[ 5] 12.00-13.00 sec 2.66 MBytes 22.3 Mbits/sec 0.543 ms 254/594 (43%)
[ 5] 13.00-14.00 sec 2.73 MBytes 22.9 Mbits/sec 0.386 ms 292/642 (45%)
[ 5] 14.00-15.00 sec 2.49 MBytes 20.9 Mbits/sec 0.399 ms 298/617 (48%)
[ 5] 15.00-16.00 sec 2.40 MBytes 20.1 Mbits/sec 0.216 ms 288/595 (48%)
[ 5] 16.00-17.00 sec 2.20 MBytes 18.5 Mbits/sec 0.486 ms 327/609 (54%)
[ 5] 17.00-18.00 sec 2.19 MBytes 18.3 Mbits/sec 0.538 ms 344/624 (55%)
[ 5] 18.00-19.00 sec 2.00 MBytes 16.8 Mbits/sec 0.519 ms 321/577 (56%)
[ 5] 19.00-20.00 sec 1.95 MBytes 16.4 Mbits/sec 0.930 ms 369/619 (60%)
[ 5] 20.00-21.00 sec 1.93 MBytes 16.2 Mbits/sec 0.526 ms 377/624 (60%)
[ 5] 21.00-22.00 sec 1.66 MBytes 13.9 Mbits/sec 0.543 ms 374/586 (64%)
[ 5] 22.00-23.00 sec 1.70 MBytes 14.2 Mbits/sec 0.833 ms 412/629 (66%)
[ 5] 23.00-24.00 sec 1.66 MBytes 13.9 Mbits/sec 0.340 ms 402/614 (65%)
[ 5] 24.00-25.00 sec 1.52 MBytes 12.7 Mbits/sec 0.693 ms 431/625 (69%)
[ 5] 25.00-26.00 sec 1.40 MBytes 11.7 Mbits/sec 0.491 ms 404/583 (69%)
[ 5] 26.00-27.00 sec 1.32 MBytes 11.1 Mbits/sec 1.028 ms 456/625 (73%)
[ 5] 27.00-28.00 sec 1.25 MBytes 10.5 Mbits/sec 0.870 ms 427/587 (73%)
[ 5] 28.00-29.00 sec 1.20 MBytes 10.1 Mbits/sec 0.660 ms 479/633 (76%)
[ 5] 29.00-30.00 sec 1.19 MBytes 9.96 Mbits/sec 0.773 ms 466/618 (75%)
[ 5] 30.00-31.00 sec 1.05 MBytes 8.85 Mbits/sec 1.103 ms 455/590 (77%)
[ 5] 31.00-32.00 sec 1.03 MBytes 8.65 Mbits/sec 0.559 ms 488/620 (79%)
[ 5] 32.00-33.00 sec 888 KBytes 7.27 Mbits/sec 0.415 ms 494/605 (82%)
[ 5] 33.00-34.00 sec 896 KBytes 7.34 Mbits/sec 1.023 ms 489/601 (81%)
[ 5] 34.00-35.00 sec 880 KBytes 7.21 Mbits/sec 0.986 ms 519/629 (83%)
[ 5] 35.00-36.00 sec 776 KBytes 6.36 Mbits/sec 0.414 ms 493/590 (84%)
[ 5] 36.00-37.00 sec 800 KBytes 6.55 Mbits/sec 0.845 ms 506/606 (83%)
[ 5] 37.00-38.00 sec 832 KBytes 6.82 Mbits/sec 1.124 ms 536/640 (84%)
[ 5] 38.00-39.00 sec 768 KBytes 6.29 Mbits/sec 0.577 ms 515/611 (84%)
[ 5] 39.00-40.00 sec 728 KBytes 5.96 Mbits/sec 1.269 ms 496/587 (84%)
[ 5] 40.00-41.00 sec 752 KBytes 6.16 Mbits/sec 0.834 ms 544/638 (85%)
[ 5] 41.00-42.00 sec 528 KBytes 4.32 Mbits/sec 1.533 ms 346/412 (84%)
[ 5] 42.00-43.00 sec 552 KBytes 4.52 Mbits/sec 2.008 ms 722/791 (91%)
[ 5] 43.00-44.00 sec 416 KBytes 3.41 Mbits/sec 2.202 ms 528/580 (91%)
[ 5] 44.00-45.00 sec 408 KBytes 3.34 Mbits/sec 2.075 ms 566/617 (92%)
[ 5] 45.00-46.00 sec 512 KBytes 4.19 Mbits/sec 1.629 ms 517/581 (89%)
[ 5] 46.00-47.00 sec 400 KBytes 3.28 Mbits/sec 1.750 ms 584/634 (92%)
[ 5] 47.00-48.00 sec 408 KBytes 3.34 Mbits/sec 1.587 ms 541/592 (91%)
[ 5] 48.00-49.00 sec 504 KBytes 4.13 Mbits/sec 1.344 ms 587/650 (90%)
[ 5] 49.00-50.00 sec 600 KBytes 4.91 Mbits/sec 1.338 ms 522/597 (87%)
[ 5] 50.00-51.00 sec 384 KBytes 3.15 Mbits/sec 2.033 ms 592/640 (92%)
[ 5] 51.00-52.00 sec 504 KBytes 4.13 Mbits/sec 1.566 ms 529/592 (89%)
[ 5] 52.00-53.00 sec 400 KBytes 3.28 Mbits/sec 1.883 ms 508/558 (91%)
[ 5] 53.00-54.00 sec 424 KBytes 3.47 Mbits/sec 1.833 ms 639/692 (92%)
[ 5] 54.00-55.00 sec 280 KBytes 2.29 Mbits/sec 2.004 ms 539/574 (94%)
[ 5] 55.00-56.00 sec 288 KBytes 2.36 Mbits/sec 2.161 ms 522/558 (94%)
[ 5] 56.00-57.00 sec 288 KBytes 2.36 Mbits/sec 2.693 ms 635/671 (95%)
[ 5] 57.00-58.00 sec 264 KBytes 2.16 Mbits/sec 2.225 ms 554/587 (94%)
[ 5] 58.00-59.00 sec 256 KBytes 2.10 Mbits/sec 2.065 ms 571/603 (95%)
[ 5] 59.00-60.00 sec 696 KBytes 5.70 Mbits/sec 0.154 ms 588/675 (87%)
[ 5] 60.00-60.04 sec 24.0 KBytes 4.98 Mbits/sec 0.136 ms 0/3 (0%)
next prev parent reply other threads:[~2019-01-03 13:02 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-01-01 23:04 Pete Heist
2019-01-03 3:57 ` Georgios Amanakis
2019-01-03 4:15 ` Georgios Amanakis
2019-01-03 5:18 ` Jonathan Morton
2019-01-03 10:46 ` Pete Heist
2019-01-03 11:03 ` Toke Høiland-Jørgensen
2019-01-03 13:02 ` Pete Heist [this message]
2019-01-03 13:20 ` Toke Høiland-Jørgensen
2019-01-03 16:35 ` Pete Heist
2019-01-03 18:24 ` Georgios Amanakis
2019-01-03 22:06 ` Pete Heist
2019-01-04 2:08 ` Georgios Amanakis
2019-01-04 8:09 ` Pete Heist
2019-01-04 7:37 ` Pete Heist
2019-01-04 11:34 ` Pete Heist
2019-01-15 19:22 ` George Amanakis
2019-01-15 22:42 ` Georgios Amanakis
2019-01-16 3:34 ` George Amanakis
2019-01-16 3:47 ` gamanakis
2019-01-16 7:58 ` Pete Heist
2019-01-26 7:35 ` Pete Heist
2019-01-28 1:34 ` Georgios Amanakis
2019-01-18 10:06 ` Toke Høiland-Jørgensen
2019-01-18 12:07 ` Georgios Amanakis
2019-01-18 13:33 ` Toke Høiland-Jørgensen
2019-01-18 13:40 ` Sebastian Moeller
2019-01-18 14:30 ` Toke Høiland-Jørgensen
2019-01-18 13:45 ` Jonathan Morton
2019-01-18 14:32 ` Toke Høiland-Jørgensen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://lists.bufferbloat.net/postorius/lists/cake.lists.bufferbloat.net/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=C7F58585-8A6F-46C5-9A26-3F282EEFFA3C@heistp.net \
--to=pete@heistp.net \
--cc=cake@lists.bufferbloat.net \
--cc=chromatix99@gmail.com \
--cc=toke@toke.dk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox