Re: [Flent-users] [tohojo/flent] testing the behavior of small queue building non-ecn'd flows (#148)

2018-09-03 Thread Dave Täht
Another rrul_v2 issue would be to correctly end up in all the queues on wifi.

-- 
You are receiving this because you commented.
Reply to this email directly or view it on GitHub:
https://github.com/tohojo/flent/issues/148#issuecomment-418152116___
Flent-users mailing list
Flent-users@flent.org
http://flent.org/mailman/listinfo/flent-users_flent.org


Re: [Flent-users] [tohojo/flent] testing the behavior of small queue building non-ecn'd flows (#148)

2018-08-28 Thread Dave Täht
this convo is (purposefully) all over the place, but I'm leaning towards a 
rrul_v2 test with 10ms irtt intervals. Not clear to me if flent could deal with 
two different sample rates

-- 
You are receiving this because you commented.
Reply to this email directly or view it on GitHub:
https://github.com/tohojo/flent/issues/148#issuecomment-416615907___
Flent-users mailing list
Flent-users@flent.org
http://flent.org/mailman/listinfo/flent-users_flent.org


Re: [Flent-users] [tohojo/flent] testing the behavior of small queue building non-ecn'd flows (#148)

2018-08-28 Thread Pete Heist
Ah, I see TSDE is Pollere's work. I need to go through the talks referenced on 
pollere.net asap to get smarter on that. Will be on some roofs today though, 
p2p connection for the neighbors...

-- 
You are receiving this because you commented.
Reply to this email directly or view it on GitHub:
https://github.com/tohojo/flent/issues/148#issuecomment-416473297___
Flent-users mailing list
Flent-users@flent.org
http://flent.org/mailman/listinfo/flent-users_flent.org


Re: [Flent-users] [tohojo/flent] testing the behavior of small queue building non-ecn'd flows (#148)

2018-08-28 Thread Pete Heist
As for packet loss and reorders, there's the `lost` property on each 
`round_trip` that could be plotted, but for re-orders there's so far just a 
global `late_packets`, which is the number of packets who sequence number is 
lower than the previous one received. It would be possible to add a `late` flag 
to `round_trip` without breaking anything, so I added that to the list.

What's TSDE?

As for tcp'ish irtt, I think I need to go canicross the dog in the forest 
before I internalize that. :) Although I bet per-packet RTTs would be 
invaluable for investigating ecn?

`pping` gives per-packet rtt for tcp today, in case that useful. Perhaps an 
integrated tool could combine traffic generation using the standard stack and 
passive analysis for gathering results...

-- 
You are receiving this because you commented.
Reply to this email directly or view it on GitHub:
https://github.com/tohojo/flent/issues/148#issuecomment-416469895___
Flent-users mailing list
Flent-users@flent.org
http://flent.org/mailman/listinfo/flent-users_flent.org


Re: [Flent-users] [tohojo/flent] testing the behavior of small queue building non-ecn'd flows (#148)

2018-08-27 Thread Dave Täht
actually - and I can see pete running screaming from the room - we could add 
tcp-like behavior to irtt and obsolete netperf entirely except for referencing 
the main stack. The main reason we use netperf was because core linux devs 
trusted it, and the reason why we sample only is because timestamping each 
packet and extracting stats from it is hard in light of mss and the complexity 
of the netperf codebase. 

Implementing tcp-like behavior and tcp-like congestion controllers on top of 
irtt seems simpler in comparison, and we already have better timestamp 
facilities than tcp in irtt.

Who here likes playing the Zerg as much as I do?

-- 
You are receiving this because you commented.
Reply to this email directly or view it on GitHub:
https://github.com/tohojo/flent/issues/148#issuecomment-416450498___
Flent-users mailing list
Flent-users@flent.org
http://flent.org/mailman/listinfo/flent-users_flent.org


Re: [Flent-users] [tohojo/flent] testing the behavior of small queue building non-ecn'd flows (#148)

2018-08-27 Thread Dave Täht
on plotting stuff I could see adding a 4th graph much like TSDE's for loss and 
reorder.

-- 
You are receiving this because you commented.
Reply to this email directly or view it on GitHub:
https://github.com/tohojo/flent/issues/148#issuecomment-416328501___
Flent-users mailing list
Flent-users@flent.org
http://flent.org/mailman/listinfo/flent-users_flent.org


Re: [Flent-users] [tohojo/flent] testing the behavior of small queue building non-ecn'd flows (#148)

2018-08-27 Thread Dave Täht
I really do care about measuring packet loss and re-orders accurately.

I've also been fiddling with setting the tos field, to do ect(0,1) and CE. 
Doing that at a higher level would be good and noting the result. --ecn 1,2,3 ?

summary line of "Forward/backward path stripping dscp", "CE marks"
reorders and loss



-- 
You are receiving this because you commented.
Reply to this email directly or view it on GitHub:
https://github.com/tohojo/flent/issues/148#issuecomment-416317840___
Flent-users mailing list
Flent-users@flent.org
http://flent.org/mailman/listinfo/flent-users_flent.org


Re: [Flent-users] [tohojo/flent] testing the behavior of small queue building non-ecn'd flows (#148)

2018-08-27 Thread Pete Heist
Ok, well if we do go for it, so far in irtt's JSON there's just an average 
`send_rate` and `receive_rate` under stats, both of which contain an integer 
`bps` and a `string` text representation. `send_rate` ignores lost packets and 
`receive_rate` takes them into account. Let me know if anything different would 
be expected...

-- 
You are receiving this because you commented.
Reply to this email directly or view it on GitHub:
https://github.com/tohojo/flent/issues/148#issuecomment-416212785___
Flent-users mailing list
Flent-users@flent.org
http://flent.org/mailman/listinfo/flent-users_flent.org


Re: [Flent-users] [tohojo/flent] testing the behavior of small queue building non-ecn'd flows (#148)

2018-08-27 Thread Toke Høiland-Jørgensen
Pete Heist  writes:

>> On Aug 27, 2018, at 1:40 PM, flent-users  wrote:
>> 
>> Hi Pete,
>> 
>> > On Aug 25, 2018, at 19:53, Pete Heist  wrote:
>> > 
>> > 50ms wouldn't be too disruptive in most cases. At 1 Mbit, the 5% of 
>> > bandwidth threshold is crossed.
>> 
>> Would it be possible to simply also show this bandwidth use in the
>> bandwidth plots (say as a single data series accumulated over all
>> irtt probes), then the user could select the interval and still be
>> able to easily assess the effects on other bandwidth flows? I believe
>> that would also be great for the netperf UDP/ICMP streams, but
>> probably harder to implement
>
>
> We could, but I would think what might happen is that in most cases
> you’ll have a line that appears close to 0 Mbit, relative to other
> flows, and we probably wouldn’t want to change the scaling for the
> scaled bandwidth plots to accommodate that...

I think the important part of this is that it would be reflected in the
total bandwidth score. I've been meaning to implement this for a while
for netperf UDP_RR, because otherwise you can get spurious bandwidth
drops as latency decreases just because the latency measurement flows
take up more bandwidth. But, well, irtt sort of made that less urgent ;)

But I could revisit; I do believe I already capture the data from irtt
(I think?).

-Toke


-- 
You are receiving this because you commented.
Reply to this email directly or view it on GitHub:
https://github.com/tohojo/flent/issues/148#issuecomment-416208064___
Flent-users mailing list
Flent-users@flent.org
http://flent.org/mailman/listinfo/flent-users_flent.org


Re: [Flent-users] [tohojo/flent] testing the behavior of small queue building non-ecn'd flows (#148)

2018-08-27 Thread Pete Heist


> On Aug 27, 2018, at 1:40 PM, flent-users  wrote:
> 
> Hi Pete,
> 
> > On Aug 25, 2018, at 19:53, Pete Heist  wrote:
> > 
> > 50ms wouldn't be too disruptive in most cases. At 1 Mbit, the 5% of 
> > bandwidth threshold is crossed.
> 
> Would it be possible to simply also show this bandwidth use in the bandwidth 
> plots (say as a single data series accumulated over all irtt probes), then 
> the user could select the interval and still be able to easily assess the 
> effects on other bandwidth flows? I believe that would also be great for the 
> netperf UDP/ICMP streams, but probably harder to implement


We could, but I would think what might happen is that in most cases you’ll have 
a line that appears close to 0 Mbit, relative to other flows, and we probably 
wouldn’t want to change the scaling for the scaled bandwidth plots to 
accommodate that...

Pete



-- 
You are receiving this because you commented.
Reply to this email directly or view it on GitHub:
https://github.com/tohojo/flent/issues/148#issuecomment-416206974___
Flent-users mailing list
Flent-users@flent.org
http://flent.org/mailman/listinfo/flent-users_flent.org


Re: [Flent-users] [tohojo/flent] testing the behavior of small queue building non-ecn'd flows (#148)

2018-08-26 Thread Pete Heist
Yeah, I haven't thought about what it would mean to change the semantics of the 
existing tests by changing the default interval. Although, as it is, there's 
still a fallback to UDP_RR for current tests, so results can change if irtt 
isn't installed or the server isn't reachable for some reason.

I'm fine with a 20ms default interval, but that could affect folks testing on 
lower rate ADSL.

Sub 10ms intervals means `-i` needs to be passed to the server to reduce the 
min interval it will accept.

2.7ms intervals should be no problem. 200µs still functions on decent hardware, 
but below that isn't much good. There can be any number of things that could 
cause those kinds of latencies.

```
tron:~:% irtt client -q -i 400us -d 10s localhost
timer stats: 53/25000 (0.21%) missed, 2.63% error
tron:~:% irtt client -q -i 300us -d 10s localhost
timer stats: 44/4 (0.13%) missed, 3.30% error
tron:~:% irtt client -q -i 200us -d 10s localhost
timer stats: 176/5 (0.35%) missed, 7.40% error
tron:~:% irtt client -q -i 150us -d 10s localhost
timer stats: 2077/6 (3.12%) missed, 12.43% error
tron:~:% irtt client -q -i 100us -d 10s localhost
timer stats: 22136/9 (22.14%) missed, 17.79% error
```


-- 
You are receiving this because you commented.
Reply to this email directly or view it on GitHub:
https://github.com/tohojo/flent/issues/148#issuecomment-416025384___
Flent-users mailing list
Flent-users@flent.org
http://flent.org/mailman/listinfo/flent-users_flent.org


Re: [Flent-users] [tohojo/flent] testing the behavior of small queue building non-ecn'd flows (#148)

2018-08-25 Thread Pete Heist
Is there an argument for lowering the default interval for when flent calls 
irtt?

The default irtt packet length with no payload is 60 bytes, so here are 
bitrates at various intervals for IPv4+Ethernet (106 byte frames, and tripled 
for RRUL's three UDP flows):

```
200ms => 4.2 Kbit * 3 = 12.7 Kbit
100ms => 8.5 Kbit * 3 = 25.4 Kbit
50ms => 17.0 Kbit * 3 = 51 Kbit
20ms => 42.4 Kbit * 3 = 127.2 Kbit
10ms => 84.8 Kbit * 3 = 254.4 Kbit
```

50ms wouldn't be too disruptive in most cases. At 1 Mbit, the 5% of bandwidth 
threshold is crossed.

Bitrates could also be lowered by ~15% (16 bytes per packet) by passing in 
`--tstamp=midpoint` and sacrificing the server processing time stat.

I'd also like to see packet loss (up vs down separately) shown by default, 
somehow. :)

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/tohojo/flent/issues/148#issuecomment-415985999___
Flent-users mailing list
Flent-users@flent.org
http://flent.org/mailman/listinfo/flent-users_flent.org


[Flent-users] [tohojo/flent] testing the behavior of small queue building non-ecn'd flows (#148)

2018-08-18 Thread Dave Täht
@chromi @heistp @jg  @richb-hanover 

Our tests with typical sampling rates in the 200ms range are misleading. We 
(until the development of irtt) are basically pitting request/response traffic 
against heavy tcp traffic and I think it's been leading us to draw some 
conclusions that are untrue for many other kinds of traffic, particularly with 
ecn enabled and the collateral damage it might cause.

The keruffle over: https://github.com/systemd/systemd/issues/9748 and 
https://github.com/systemd/systemd/issues/9725 is a symptom of my uneasyness.

I'm probably the only one that runs flent against a 20ms sampling interval 
regularly. Queues do build in this case, finally, for voip like traffic, and we 
end up in the "slow" queue, even the "fast" queue gets more than one packet to 
deliver.

Having to prioritize arp slightly as cake does in diffserv mode  is one 
symptom, having to (as I've done for years now) ecn mark babel packets  on a 
congested router is another. Other routing protocols that don't use IP will 
also always end up in a fixed queue. 

I've long thought a "special" "1025th" queue for things like arp were possibly 
needed. Right now that maps to the "0th" queue and can collide. There are other 
protocols not handled by the flow dissector. 

* tracking packet loss better for the measurement flows would comfort me  A LOT 
(having a graph mixin that could pull that data out?)

* a rrul_v2 test that did the 20ms irtt thing always would be good

* a test that tested ecn'd flows vs non-ecn'd flows would be good.

* a fixed rate, non-ecned, but queue building flow mixin (sort of like what 
babel does to me now). Toke picks on me for using babel on workloads like this, 
I view it as a subtle reminder real networks are not like a lab.

* syn repeats?

* RTO tracking?

* A heavy flows going and squarewave tests

I was also regularly able in the latest string of extreme tests get some, out 
of the hundred flows started simultaneously - at 100mbit - to wind up in ecn 
fallback mode for some.

Using "flows 32" for fq_codel & ecn was often "not good" from the perspective 
of my (non-ecned) monitoring flow, things like "top" would have their output 
pause half screened.





-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/tohojo/flent/issues/148___
Flent-users mailing list
Flent-users@flent.org
http://flent.org/mailman/listinfo/flent-users_flent.org