[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lwip-users] Re: [lwip] Gigabit Ethernet and LWIP
From: |
Adam Dunkels |
Subject: |
[lwip-users] Re: [lwip] Gigabit Ethernet and LWIP |
Date: |
Wed, 08 Jan 2003 23:16:29 -0000 |
Hi!
On Saturday 04 May 2002 13.02, Kieran Mansley wrote:
> > Have you thought about Gigabit Ethernet and LWIP. Will the timer
> > interval have to be decreased due to the increased volume of packets?
> >
> > Do you have an idea of performance of LWIP, and if it will be able to
> > keep up with Gigabit speeds?
>
> I'm working on something similar. Not Gigabit Ethernet, but a gigabit
> rate network. lwIP in it's current form isn't targetted at this, and so
> is unlikely to give the performance you require. This will be especially
> true if you use the sockets interface as the amount of thread switching
> and message passing is just too great an overhead. I'm creating a
> somewhat different version for which the path for normal data delivery and
> transmission is in a single thread, and which isn't so concerned about low
> memory usage. This should improve things.
I don't fully agree with this - when using the raw API (which is single
threaded), the performance of lwIP in terms of CPU cycles is really good
because no copying or thread switching is being made. As you point out, the
socket API is really bad, however. Also, the checksum computation should be
rewritten in assembler for speed.
I would say that the main problem with running lwIP with gigabit speeds isn't
CPU performance, but rather throughput issues. With gigabit speeds, the
bandwidth*delay product becomes so large that the standard TCP mechanisms
that lwIP implements cannot "fill the pipe". The TCP extensions defined in
RFC1323, "TCP Extensions for High Performance", should really be implemented
if high throughput is desired.
Still, interfacing lwIP with gigabit Ethernet is doable, but it will not be
able to take full advantage of the gigabit speeds.
Kieran, since you are writing a new API, you might be interested in looking at
the new event based API for 0.6, by the way.
/adam
--
Adam Dunkels <address@hidden>
http://www.sics.se/~adam
[This message was sent through the lwip discussion list.]
- [lwip-users] Re: [lwip] Gigabit Ethernet and LWIP, Kieran Mansley, 2003/01/08
- [lwip-users] Re: [lwip] Gigabit Ethernet and LWIP, Kieran Mansley, 2003/01/08
- [lwip-users] Re: [lwip] Gigabit Ethernet and LWIP, Paul Sheer, 2003/01/08
- [lwip-users] Re: [lwip] Gigabit Ethernet and LWIP,
Adam Dunkels <=
- [lwip-users] Re: [lwip] Gigabit Ethernet and LWIP, Kieran Mansley, 2003/01/09
- [lwip-users] Re: [lwip] Gigabit Ethernet and LWIP, Adam Dunkels, 2003/01/09
- [lwip-users] Re: [lwip] Gigabit Ethernet and LWIP, Mumtaz Ahmad, 2003/01/09
- [lwip-users] Re: [lwip] Gigabit Ethernet and LWIP, Adam Dunkels, 2003/01/09