* Re: [Cake] [RFC PATCH 4/5] q_netem: support delivering packets in delayed time slots [not found] <mailman.1042.1510953593.3609.cake@lists.bufferbloat.net> @ 2017-11-18 13:18 ` Pete Heist 2017-11-18 19:02 ` Dave Taht 2017-11-20 2:56 ` [Cake] Cleaning up cake Dave Taht 0 siblings, 2 replies; 7+ messages in thread From: Pete Heist @ 2017-11-18 13:18 UTC (permalink / raw) To: Dave Taht; +Cc: cake [-- Attachment #1: Type: text/plain, Size: 1252 bytes --] > On Nov 17, 2017, at 11:55 PM,dave.taht@gmail.com wrote: > > Slotting is a crude approximation of the behaviors of shared media such > as cable, wifi, and LTE, which gather up a bunch of packets within a > varying delay window and deliver them, relative to that, nearly all at > once. Nice… One of the things I also notice in my LAN tests is latencies for different flows staying at more or less fixed (and different) positions relative to the mean in flent results. Those positions, and the mean, can change with each test run. Do you think this could result from the hashing to different hardware queues (four in my case) changing between test runs? And is it worth trying to simulate this effect, or not really? Just for info, in my case (Intel i210) the hashing is documented starting on page 254 of the specs: https://www.intel.com/content/dam/www/public/us/en/documents/datasheets/i210-ethernet-controller-datasheet.pdf <https://www.intel.com/content/dam/www/public/us/en/documents/datasheets/i210-ethernet-controller-datasheet.pdf> (7.1.2.10.1 RSS Hash Function). For TCP/UDP it uses source and destination addresses and ports. I suppose this could be smoothed over in testing by using a spread of ports for the latency test. [-- Attachment #2: Type: text/html, Size: 1853 bytes --] ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Cake] [RFC PATCH 4/5] q_netem: support delivering packets in delayed time slots 2017-11-18 13:18 ` [Cake] [RFC PATCH 4/5] q_netem: support delivering packets in delayed time slots Pete Heist @ 2017-11-18 19:02 ` Dave Taht 2017-11-19 18:48 ` Pete Heist 2017-11-20 2:56 ` [Cake] Cleaning up cake Dave Taht 1 sibling, 1 reply; 7+ messages in thread From: Dave Taht @ 2017-11-18 19:02 UTC (permalink / raw) To: Pete Heist; +Cc: Cake List On Sat, Nov 18, 2017 at 5:18 AM, Pete Heist <peteheist@gmail.com> wrote: > > On Nov 17, 2017, at 11:55 PM,dave.taht@gmail.com wrote: > > > Slotting is a crude approximation of the behaviors of shared media such > as cable, wifi, and LTE, which gather up a bunch of packets within a > varying delay window and deliver them, relative to that, nearly all at > once. > > > Nice… Meh. It really is "crude", and I keeping kicking about ways to somehow emulate half (or less) duplex, variable rates around a mean, mcast, etc. it IS very nice to have a rate limiter that actually behaves a bit more like wifi, and I hope to also add the new ack fitering stuff to it. > > One of the things I also notice in my LAN tests is latencies for different > flows staying at more or less fixed (and different) positions relative to > the mean in flent results. Those positions, and the mean, can change with > each test run. Do you think this could result from the hashing to different > hardware queues (four in my case) changing between test runs? yes if you are using bql probably. Is it sch_mq on top? > And is it > worth trying to simulate this effect, or not really? Dunno. There are a couple ways to turn it off. > Just for info, in my case (Intel i210) the hashing is documented starting on > page 254 of the specs: > https://www.intel.com/content/dam/www/public/us/en/documents/datasheets/i210-ethernet-controller-datasheet.pdf > (7.1.2.10.1 RSS Hash Function). For TCP/UDP it uses source and destination > addresses and ports. I suppose this could be smoothed over in testing by > using a spread of ports for the latency test. -- Dave Täht CEO, TekLibre, LLC http://www.teklibre.com Tel: 1-669-226-2619 ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Cake] [RFC PATCH 4/5] q_netem: support delivering packets in delayed time slots 2017-11-18 19:02 ` Dave Taht @ 2017-11-19 18:48 ` Pete Heist 2017-11-19 20:41 ` Dave Taht 0 siblings, 1 reply; 7+ messages in thread From: Pete Heist @ 2017-11-19 18:48 UTC (permalink / raw) To: Dave Taht; +Cc: Cake List > On Nov 18, 2017, at 8:02 PM, Dave Taht <dave.taht@gmail.com> wrote: > > On Sat, Nov 18, 2017 at 5:18 AM, Pete Heist <peteheist@gmail.com> wrote: >> >> On Nov 17, 2017, at 11:55 PM,dave.taht@gmail.com wrote: >> >> Slotting is a crude approximation of the behaviors of shared media such >> as cable, wifi, and LTE, which gather up a bunch of packets within a >> varying delay window and deliver them, relative to that, nearly all at >> once. >> >> Nice… > > Meh. It really is "crude", and I keeping kicking about ways to somehow > emulate half (or less) duplex, variable rates around a mean, mcast, > etc. > > it IS very nice to have a rate limiter that actually behaves a bit > more like wifi, and I hope to also add the new ack fitering stuff to > it. I guess there may never be a way to make this perfect, only to try to reproduce the behavior that matters enough to make it usable for testing. >> One of the things I also notice in my LAN tests is latencies for different >> flows staying at more or less fixed (and different) positions relative to >> the mean in flent results. Those positions, and the mean, can change with >> each test run. Do you think this could result from the hashing to different >> hardware queues (four in my case) changing between test runs? > > yes if you are using bql probably. Is it sch_mq on top? Yep with bql. I hadn’t thought about mq before. What my qos setup scripts are doing though is replacing the root qdisc (which now I see defaults to mq) with a single cake instance. With bql, should rather be leaving mq and putting four cake instances underneath it? >> And is it >> worth trying to simulate this effect, or not really? > > Dunno. There are a couple ways to turn it off. Fair enough... ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Cake] [RFC PATCH 4/5] q_netem: support delivering packets in delayed time slots 2017-11-19 18:48 ` Pete Heist @ 2017-11-19 20:41 ` Dave Taht 2017-11-20 9:02 ` Pete Heist 0 siblings, 1 reply; 7+ messages in thread From: Dave Taht @ 2017-11-19 20:41 UTC (permalink / raw) To: Pete Heist; +Cc: Dave Taht, Cake List Pete Heist <peteheist@gmail.com> writes: >> On Nov 18, 2017, at 8:02 PM, Dave Taht <dave.taht@gmail.com> wrote: >> >> On Sat, Nov 18, 2017 at 5:18 AM, Pete Heist <peteheist@gmail.com> wrote: >>> >>> On Nov 17, 2017, at 11:55 PM,dave.taht@gmail.com wrote: >>> >>> Slotting is a crude approximation of the behaviors of shared media such >>> as cable, wifi, and LTE, which gather up a bunch of packets within a >>> varying delay window and deliver them, relative to that, nearly all at >>> once. >>> >>> Nice… >> >> Meh. It really is "crude", and I keeping kicking about ways to somehow >> emulate half (or less) duplex, variable rates around a mean, mcast, >> etc. >> >> it IS very nice to have a rate limiter that actually behaves a bit >> more like wifi, and I hope to also add the new ack fitering stuff to >> it. > > I guess there may never be a way to make this perfect, only to try to reproduce > the behavior that matters enough to make it usable for testing. > >>> One of the things I also notice in my LAN tests is latencies for different >>> flows staying at more or less fixed (and different) positions relative to >>> the mean in flent results. Those positions, and the mean, can change with >>> each test run. Do you think this could result from the hashing to different >>> hardware queues (four in my case) changing between test runs? >> >> yes if you are using bql probably. Is it sch_mq on top? Only if you want unlimited mode, and birthday problems, and don't have cpu to burn. > > Yep with bql. I hadn’t thought about mq before. What my qos setup scripts are > doing though is replacing the root qdisc (which now I see defaults to mq) with a > single cake instance. With bql, should rather be leaving mq and putting four > cake instances underneath it? > >>> And is it >>> worth trying to simulate this effect, or not really? >> >> Dunno. There are a couple ways to turn it off. > > Fair enough... > _______________________________________________ > Cake mailing list > Cake@lists.bufferbloat.net > https://lists.bufferbloat.net/listinfo/cake ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Cake] [RFC PATCH 4/5] q_netem: support delivering packets in delayed time slots 2017-11-19 20:41 ` Dave Taht @ 2017-11-20 9:02 ` Pete Heist 2017-11-21 18:52 ` Dave Taht 0 siblings, 1 reply; 7+ messages in thread From: Pete Heist @ 2017-11-20 9:02 UTC (permalink / raw) To: Dave Taht; +Cc: Dave Taht, Cake List [-- Attachment #1: Type: text/plain, Size: 647 bytes --] > On Nov 19, 2017, at 9:41 PM, Dave Taht <dave@taht.net> wrote: > >> Yep with bql. I hadn’t thought about mq before. What my qos setup scripts are >> doing though is replacing the root qdisc (which now I see defaults to mq) with a >> single cake instance. With bql, should rather be leaving mq and putting four >> cake instances underneath it? > Only if you want unlimited mode, and birthday problems, and don't have > cpu to burn. Ok, if I compare the two, latency under load for rrul_be looks “better” (~1-1.5ms instead of ~3ms) with a single “cake unlimited besteffort lan” instance instead of four of them underneath mq. [-- Attachment #2: Type: text/html, Size: 2291 bytes --] ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Cake] [RFC PATCH 4/5] q_netem: support delivering packets in delayed time slots 2017-11-20 9:02 ` Pete Heist @ 2017-11-21 18:52 ` Dave Taht 0 siblings, 0 replies; 7+ messages in thread From: Dave Taht @ 2017-11-21 18:52 UTC (permalink / raw) To: Pete Heist; +Cc: Dave Taht, Cake List Pete Heist <peteheist@gmail.com> writes: > On Nov 19, 2017, at 9:41 PM, Dave Taht <dave@taht.net> wrote: > > > > Yep with bql. I hadn’t thought about mq before. What my qos setup scripts > are > doing though is replacing the root qdisc (which now I see defaults to > mq) with a > single cake instance. With bql, should rather be leaving mq and putting > four > cake instances underneath it? > > Only if you want unlimited mode, and birthday problems, and don't have > cpu to burn. > > > Ok, if I compare the two, latency under load for rrul_be looks “better” > (~1-1.5ms instead of ~3ms) with a single “cake unlimited besteffort lan” > instance instead of four of them underneath mq. Yep. Adding more unmanaged queues doesn't help. However it should spread the load across more cpus. ^ permalink raw reply [flat|nested] 7+ messages in thread
* [Cake] Cleaning up cake 2017-11-18 13:18 ` [Cake] [RFC PATCH 4/5] q_netem: support delivering packets in delayed time slots Pete Heist 2017-11-18 19:02 ` Dave Taht @ 2017-11-20 2:56 ` Dave Taht 1 sibling, 0 replies; 7+ messages in thread From: Dave Taht @ 2017-11-20 2:56 UTC (permalink / raw) To: cake I just finished a brutal exercise in making the cobalt branch of cake vastly more checkpatch compliant. (I haven't checked it in yet) What I am inclined to do next is move it to sch_cobalt.c, and reimport (somehow) sch_cake.c from the stable commit that is currently shipping in lede (?), and move that forward to also gain ack filtering. Then add a q_cobalt equivalent to my iproute2 so we can build, test, and compare the two versions, sanely. I'd call this new branch "kobold". Or I'd find some way to fix head. ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2017-11-21 18:53 UTC | newest] Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- [not found] <mailman.1042.1510953593.3609.cake@lists.bufferbloat.net> 2017-11-18 13:18 ` [Cake] [RFC PATCH 4/5] q_netem: support delivering packets in delayed time slots Pete Heist 2017-11-18 19:02 ` Dave Taht 2017-11-19 18:48 ` Pete Heist 2017-11-19 20:41 ` Dave Taht 2017-11-20 9:02 ` Pete Heist 2017-11-21 18:52 ` Dave Taht 2017-11-20 2:56 ` [Cake] Cleaning up cake Dave Taht
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox