Date: Mon, 23 Sep 2013 06:52:57 +0200 From: Luigi Rizzo <rizzo@iet.unipi.it> To: Adrian Chadd <adrian@freebsd.org> Cc: "Alexander V. Chernikov" <melifaro@yandex-team.ru>, Luigi Rizzo <luigi@freebsd.org>, Andre Oppermann <andre@freebsd.org>, "Andrey V. Elsukov" <ae@freebsd.org>, FreeBSD Net <net@freebsd.org> Subject: Re: Network stack changes Message-ID: <CA%2BhQ2%2BirPxdBW%2BHScbnXi3p134HC2pnPSPMj=UAmHDGY_dV7PA@mail.gmail.com> In-Reply-To: <CAJ-VmokmaVds-DVj6yYAWSSwg=RBYJLeFfg8ae-Oj3_bOdcRyA@mail.gmail.com> References: <521E41CB.30700@yandex-team.ru> <CAJ-Vmo=N=HnZVCD41ZmDg2GwNnoa-tD0J0QLH80x=f7KA5d%2BUg@mail.gmail.com> <523F4F14.9090404@yandex-team.ru> <CAJ-VmokmaVds-DVj6yYAWSSwg=RBYJLeFfg8ae-Oj3_bOdcRyA@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Sep 23, 2013 at 6:42 AM, Adrian Chadd <adrian@freebsd.org> wrote: > Hi! > > > > On 22 September 2013 13:12, Alexander V. Chernikov < > melifaro@yandex-team.ru> wrote: > > >> I'm thinking the same way, but we're stuck with 'forwarding lookup' due >> to problem with egress interface pointer, as I mention earlier. However it >> is interesting to see how much it helps, regardless of locking. >> >> Currently I'm thinking that we should try to change radix to something >> different (it seems that it can be checked fast) and see what happened. >> Luigi's performance numbers for our radix are too awful, and there is a >> patch implementing alternative trie: >> http://info.iet.unipi.it/~**luigi/papers/20120601-dxr.pdf<http://info.iet.unipi.it/~luigi/papers/20120601-dxr.pdf> >> http://www.nxlab.fer.hr/dxr/**stable_8_20120824.diff<http://www.nxlab.fer.hr/dxr/stable_8_20120824.diff> >> >> > So, I can make educated guesses about why this is better for forwarding > workloads. I'd like to characterize it though. So, what's it doing that's > better? better locking? better caching behaviour? less memory lookups? etc. > > locking affects scalability; but dxr and similar algorithms have much fewer memory lookups, not to mention the huge memory footprint of the freebsd radix tree code. Anyways i'd really encourage you to read the dxr paper, it is short and hopefully can give you a better idea of the details (and with data supporting them) than these short notes. cheers luigi
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CA%2BhQ2%2BirPxdBW%2BHScbnXi3p134HC2pnPSPMj=UAmHDGY_dV7PA>