Slashdot Mirror


FastEther NICs for UNIX?

Patrick Darden asks: "Alacritech has a series of high performance FastEther NICs that offload the IP stack onto ASICs. They call it Session Layer Interface Card technology (SLIC) and claim that it increases TCP performance tremendously. PC Magazine has reviewed this card twice (the latest here) and shows 16-400% speed boosts over other NICs. They have a single port, dual port, and quad port. These are for NT only right now, but Linux drivers are in the pipe. Intel has a NIC geared towards servers that they claim decreases CPU usage tremendously. But only for NT. 3Com has a similar NIC, also only for NT (afaik). What is the best FastEther NIC for Linux? Are there any performance roundups? Any studies based on real criteria? Any real performance figures?" What about FastEther drivers for the other Unicies out there? There was a similar Ask Slashdot about this about two months ago. Is this a substantially different technology, or just more of the same under a different name?

"I'm also curious about Gigether and ATM? Until now, I have always chosen NICs for Linux by compatibility and driver maturity. At this point, it seems reasonable to grab the better NICs and have a shootout, if someone else hasn't already. If anyone is interested in helping, or knows of a similar study, please send me an email."

2 of 10 comments (clear)

  1. Hardware checksums by bbk · · Score: 5

    Some of the newer cards are able to do IP checksums in hardware, a feature required for the newly introduced zero copy networking code to function at full speed. This saves a noticeable amount of processor time for servers or other heavily network loaded systems. And supposedly your quake ping is a bit better ;-).

    A list of drivers and more information is availible here: http://lwn.net/2001/0111/a/zero-copy.php3

    BBK

    1. Re:Hardware checksums by AntiBasic · · Score: 5
      About damn time I say. Solaris and *BSD, of course, have had this capability for ages.

      Adding support for zero copy transmit in Linux has been a major chore since all of the networking stacks and drivers are designed for skbuffs which contain only a single linear buffer per packet, whereas other implementations (i.e. BSD, Solaris, NT) allow fragmented packets where the header is in one fragment and the payload is in the other fragments (the payload can be fragmented if it crosses a page boundary). In short, it allows the Linux tcp/ip stack to forego the user space to kernel space transition before transmitting it (a server's ratio of tx to receive is roughly 10:1).

      It looks like not all of the drivers have replaced those skbuffs yet. Its a start...