From: Dave Taht <dave.taht@gmail.com>
To: Michael Richardson <mcr@sandelman.ca>
Cc: "cerowrt-devel@lists.bufferbloat.net"
<cerowrt-devel@lists.bufferbloat.net>
Subject: Re: [Cerowrt-devel] Ubiquiti QOS
Date: Thu, 29 May 2014 17:36:09 -0700 [thread overview]
Message-ID: <CAA93jw4=bRaOTgeG=PsN56mU3kC=gOLzmEoU4gLyPdY1TOPNvA@mail.gmail.com> (raw)
In-Reply-To: <30541.1401406850@sandelman.ca>
On Thu, May 29, 2014 at 4:40 PM, Michael Richardson <mcr@sandelman.ca> wrote:
>
> David P. Reed <dpreed@reed.com> wrote:
> > ECN-style signaling has the right properties ... just like TTL it can
> > provide
>
> How would you send these signals?
>
> > A Bloom style filter can remember flow statistics for both of these local
> > policies. A great use for the memory no longer misapplied to
> > buffering....
>
> Well.
>
> On the higher speed dataflow equipment, the buffer is general purpose memory,
> so reuse like this is particularly possible.
>
> On routers built around general purpose architectures, the limiting factor
> in performance is often memory throughput; adding memory rarely increases
> total throughput. Packet I/O is generally quiet sequential and so makes
> good use of wide memory data paths and multiple accesses per address cycle.
> Updating of tables such as Bloom filter or any other hash has a big impact
> due to the RMW and random access nature.
In hardware using a parallel memory layout makes sense.
I had always envisioned the per flow fq_codel table to be on a lookaside cache,
much like how mac and route lookups happen today in hw. In a general purpose
architecture with fat amounts of cache (like ivy bridge) you can set aside
some main cache if you like.
It needent be big (64k for 1024 flows but you can shrink the structure some
if you want) - and it needent be fast, just fast enough to be accessed on
a per packet basis.
There are other ways to do it of course. you could set it up as 1024 8
32 bit register register banks, for example, in the asic or fpga, and eliminate
the concept of using ram for it entirely.
This is not a lot of gates (quite a lot when you consider the invsqrt
dependency
in codel alone is 3k gates or so - or "free" in a FPGA with dsp multipliers)
I've never thought that pure "drop head" was possible in high speed hardware
- the various operations need to be pipelined, the timestamp needs to go
at the head of the packet for codel to operate on them, etc, etc...
> All I'm saying is that quantity of memory is seldom the problem, but access
> to it, is.
Concur. I keep hoping my parallela arrives. You can write your own ethernet
device with that...
> I do like the entire idea; it seems that it has to be implemented at the
> places where the flow converge, which is often in the DSL line card, or
> CTMS...
The elephant in the room on those devices is the per user rate shaper.
In software this
accounts for 95% of the cpu time and scheduling headaches, and that's without
dealing with ipv6 pools.
> --
> ] Never tell me the odds! | ipv6 mesh networks [
> ] Michael Richardson, Sandelman Software Works | network architect [
> ] mcr@sandelman.ca http://www.sandelman.ca/ | ruby on rails [
>
> _______________________________________________
> Cerowrt-devel mailing list
> Cerowrt-devel@lists.bufferbloat.net
> https://lists.bufferbloat.net/listinfo/cerowrt-devel
--
Dave Täht
NSFW: https://w2.eff.org/Censorship/Internet_censorship_bills/russell_0296_indecent.article
next prev parent reply other threads:[~2014-05-30 0:36 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-25 6:17 Dane Medic
2014-05-25 14:23 ` Valdis.Kletnieks
2014-05-25 15:42 ` Mikael Abrahamsson
2014-05-25 20:00 ` dpreed
2014-05-26 0:18 ` Mikael Abrahamsson
2014-05-26 4:49 ` dpreed
2014-05-26 13:02 ` Mikael Abrahamsson
2014-05-26 14:01 ` dpreed
2014-05-26 14:11 ` Mikael Abrahamsson
2014-05-26 15:31 ` David P. Reed
2014-05-27 21:19 ` David Lang
2014-05-27 22:00 ` Dave Taht
2014-05-27 23:27 ` David Lang
2014-05-28 2:12 ` Dave Taht
2014-05-28 3:21 ` David Lang
2014-05-28 15:52 ` dpreed
2014-05-28 16:34 ` David Lang
2014-05-27 15:23 ` Jim Gettys
2014-05-27 17:31 ` Dave Taht
2014-05-28 15:33 ` dpreed
2014-05-28 15:20 ` dpreed
2014-05-28 18:33 ` David Lang
2014-05-29 12:11 ` David P. Reed
2014-05-29 15:29 ` dpreed
2014-05-29 19:30 ` David Lang
2014-05-29 23:40 ` Michael Richardson
2014-05-30 0:32 ` David P. Reed
2014-05-30 0:36 ` Dave Taht [this message]
2014-05-25 18:39 ` Sebastian Moeller
2014-05-25 19:33 ` Dave Taht
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/cerowrt-devel.lists.bufferbloat.net/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CAA93jw4=bRaOTgeG=PsN56mU3kC=gOLzmEoU4gLyPdY1TOPNvA@mail.gmail.com' \
--to=dave.taht@gmail.com \
--cc=cerowrt-devel@lists.bufferbloat.net \
--cc=mcr@sandelman.ca \
/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