can a x86 PC saturate a gigabit ethernet link

D

dpnsw

I am looking at doing some testing on gigabit ethernet links and need a way
to saturate the link. On the hardware side I can buy optical or electrical
gigabit Ethernet cards but what sort of hardware is required to get a full
1 Gigabit per second out of a PCI card?

Do I have to use a 64 bit PCI bus rather than a 32 bit one? I am guessing
that the saturate a Gig E card on a 64 bit PCI slot the bus would have to
do better than 16 Meg per second and on a 32 bit bus it would have to do
better than about 23 Meg per second. Is this correct? Is the main question
then what type of CPU you are running as to whether it can pump enough data
out?

I am looking at using the iperf package to generate the gig E data so I
believe that my main problem is likely to be hardware firstly and software
secondly. Does anyone have any experience with something like this?


thankyou
 
E

Eric Gross

Under Windows XP on a 2.4Ghz P4 I can push about 600mbit of UDP traffic
through an Intel Pro/1000F card (in a 32-bit PCI slot). Under TCP it is
obviously much worse due to the limitation of latency between any two hosts.

However, this is using the standard frame size of 1500 bytes. For optimum
gigabit performance you need to go to larger frame sizes (like ~9KB or even
larger in some cases). If you are on a homogeneous network with only hosts
speaking the larger frame size, then the increase in performance can be
huge. Because of the low frame size of 1500 bytes, the card needs to send
~67 thousand packets/sec to saturate a gigabit connection. Imagine the
receiving computer having to process an interrupt for every single packet...
If you switch to so-called jumbo frames of 9KB, then you cut the number of
packets needed by a factor of 6.

The other factor to consider is the PCI bus the card is sitting on. The
33Mhz 32-bit PCI bus only has enough bandwidth to push about 1gbit/sec
total, so filling a full-duplex connection is out of the question. You have
a few options in this regard:

a) Switch to 64-bit or 66Mhz (or both) PCI gigabit cards. Only a few server
chipsets have that support, so on most off-the-shelf computers its not much
of an option.

b) The new Intel 875/865 chipsets have support for a seperate data-path to a
built-in gigabit network interface. This is dedicated and seperate from the
PCI bus, so you can get full-duplex gigabit performance without saturating
the PCI bus. Now, adding this option is a manufacturer's decision, and so
not all boards have this (in fact, I don't think I've seen any 865 [the
lower end model] with them). In a lot of cases, it is apparently cheaper for
manufactuers to put a seperate gigabit interface on the board (sitting on
the PCI bus, unfortunately), so you have to read closely to make sure it is
using Intel's dedicated interface. The good news is that there is a decent
selection of high-end consumer boards that do have the dedicated gigabit
interface. The only limiting factor is that all the boards I have seen only
offer a copper gigabit interface. If you were interested in fiber, you'd
have to get a media converter.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top