mailing list archives
Re: GigE performance on BSD
From: "Richard A. Steenbergen" <ras () e-gerbil net>
Date: Sun, 18 Jun 2000 15:19:03 -0400 (EDT)
On Sun, 18 Jun 2000, Richard A. Steenbergen wrote:
The last time I tried it with standard userland transfers was on back to
back p3 500s which pulled about 450Mbps between a GA620 and an Intel GE.
This is consistent with what I would have expected from a normal
user application on a modern UNIX over BSD Socket API for that speed
of Intel CPU. Folks using CPUs with correct byte-ordering (e.g.
non-DEC MIPS, SPARC) get about 1 Mbps/MHz under UNIX. Folks seem
to get about 0.8 Mbps/MHz under NT/Intel (assuming a ~1518 byte MTU).
sendfile(2) is a current off-the-shelf method to improve things
dramatically. The other question is what you do with the data once you
receive it (in the example of an ftp, there is no equivilent recvfile(2)
to do zero copy transfers). And of course, mbufs and checksums are the
rest of the problem (for BSD derivatives, linux has its own very special
brand of problems :P).
I highly recommend you check out http://people.freebsd.org/~ken/zero_copy/
if you're interested in zero copy, page flipping, and performance
benchmarks as it relates to FreeBSD. And with that I'll let this subject
drop, before too many people without GigE decide to turn against me. :P
Richard A Steenbergen <ras () e-gerbil net> http://www.e-gerbil.net/humble
PGP Key ID: 0x138EA177 (67 29 D7 BC E8 18 3E DA B2 46 B3 D8 14 36 FE B6)