Skip site navigation (1)Skip section navigation (2)
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>