Mixing Gigabit, Copper, and Linux
iampgray writes: "With copper-based gigabit cards selling for less than $36 these days, what kind of performance can you expect -- especially in the often-overlooked Linux market? We sought out to test exactly what you could expect from copper-based gigabit solutoins for the desktop interface through the cluster-targeted products. Name brands and off-brands were put through the wringer. How'd they fare? Interesting results to say the least."
Between 2 Tyan/AMB 1.2Ghz machines I was able to pull 800 mega bits per second on old copper.
Are we even to the point when a normal PC could handle Gigabyte? And if so, why not use optical? I mean, saying I've got a fiber optic home network is a lot cooler then saying I've got a gigabyte eth home network. I mean to a geek, (to anyone else, that would just be lame... er...)
How much more expensive is the optical stuff for GigE? I'm mostly using optical audio connections from my home sterio, and that's not to much money
autopr0n is like, down and stuff.
I checked out the cards, and yes you can get them cheap, but what about switches? You figure they're still uber-pricey too, right?
:)
Nope... apparently Pricewatch.com has D-Link 8-port 10/100/1000baseT auto-detect switches listed for under $150! (I've been most happy with my D-Link DI-804 Router/firewall/switch for $79.)
Is this the normal "cheaper as tech gets more widespread and easier to manufacture," and do you think maybe Apple making gigabit ethernet a standard feature had something to do with it?
SlashSigTheorem: Humorous, Political, Critical, Constructive- If you have a
How'd they fare?
/. effect.
/.ed to oblivion? That's not interestng, that's anti-climatic - I know what happens before I get to the story. Oh well...
Not terribly well against the
Interesting results to say the least.
Lessee, a story about increasing bandwidth on a server
Soko
"Depression is merely anger without enthusiasm." - Anonymous
Could you post a summary? That must be about the fastest /.-ing I've seen. What'd that take, about 5 minutes?
D-Link DGE-500T
.0002 seconds.
/((192.21+172.21) / 2) = $.25>
.0002 seconds.
.0002 seconds on both test platforms.
D-Link DGE-500T was the first of the gigabit cards tested. This card is based on SMC's dp83820 chipset and is designed for a 32bit bus. The chipset in this card turned out performance nearly identical to the two Ark cards and the GigaNIX cards tested in our test suite, since all utilize the dp83820 chipset from SMC. The Linux driver used was the ns83820 as included in the 2.4.17 kernel. Latency on both platforms was
Peak throughput while operated in a 32bit bus was 192.21 Mbps. This was achieved in the Dell systems. The Athlon systems only obtained a peak of 172.21 Mbps when these cards were inserted into the 32-bit bus. Both systems show a slight drop in throughput but eventually level out. Peak throughput while operated in a 64bit bus running at 33Mhz was 315.96 Mbps.
When the bus was jumpered to autoselect 66/33Mhz, the performance increase was negligible. Peak throughput was 316.40 Mbps. Comparing the plots of the 66Mhz and 33Mhz run reveals that they are essentially identical.
For complete testing results, click here.
Price: $45
The cost per Mbps is as follows:
32bit 33Mhz: $45
64bit 33Mhz: $45 / 315.96 = $.14
64bit 66Mhz: $45 / 316.40 = $.14
Ark Soho-GA2500T
The Ark Soho-GA2500T is also a 32-bit PCI card design. Like the D-Link DGE-500T and the Asante GigaNIX cards, this card is based on the SMC dp83820 chipset. With that in mind the performance was estimated to be close to the D-Link DGE500T. The driver used was the generic ns83820 included the 2.4.17 kernel. The latency for both test systems was
The peak throughput achieved while in a 32bit 33Mhz bus was in the Dell system: 192.62 Mbps. While the Athlon system in the same bus setup only reached 172.19 Mbps. As before, there is a performance drop at the 1Kb and 5-10Kb packet sizes.
Peak throughput while operated in a 64bit bus running at 33Mhz was 610.83 Mbps and 609.98 Mbps when running at 66Mhz respectively. As with the Soho-GA2000T, there is no noticeable difference between a 33Mhz and a 66Mhz bus.
For complete testing results, click here.
Price: $44
The cost per Mbps is as follows:
32bit 33Mhz: $44 / ((192.62+172.19) / 2) = $.24
64bit 33Mhz: $44 / 610.83 = $.07
64bit 66Mhz: $44 / 609.98 = $.07
Ark Soho-GA2000T
Our transition into cards designed for a 64-bit PCI bus began with the Ark Soho-GA2000T. Like it's 32-bit counterpart, this card was designed around the ns83820 chipset, which will allow us to examine the performance benefits, if any, in moving from a 32-bit As
Designed to run in a 64bit 66Mhz slot, this card is backwards compatible to 32bit and 33Mhz slots. This card is based off of SMC's dp83820 chipset so performance was expected to be similar to the DGE500T and the Soho-GA2500T. The driver used was the generic ns83820 included in the 2.4.17 kernel. Latency was
Peak throughput for a 32bit 33Mhz slot was 189.93 Mbps in the Dell system. The Athlons were only able to reach 172.26 Mbps.
Peak throughput for 64bit 33Mhz was 665.06 Mbps with an MTU of 6000. Peak throughput while running at 66Mhz was 640.60 Mbps. With the exception of the 6000MTU tests, there is no noticeable difference between bus speeds of 33 and 66Mhz.
For complete testing results, click here.
Price: $69
The cost per Mbps is as follows:
32bit 33Mhz: $69 / ((172.26+189.93)/2) = $.38
64bit 33Mhz: $69 / 665.06 = $.10
64bit 66Mhz: $69 / 640.60 = $.11
Asante GigaNIX
.0002 seconds on both systems.
.000048 on the Dells and .000025 seconds on the Athlons. Of all the 64bit cards tested, the SK9821 is the first to have a noticeable difference in performance between the two bus speeds.
.000123 seconds.
.000103 in the Dells and .000078 in the Athlons.
.000091 seconds. Due to time constraints, we have yet to test this card in the Dell testbed.
.4 Mbps for several TCP packet sizes. At an MTU of 6000 and at 9000 the same problem occurred as before in the 64-bit 33Mhz test.
The second 64bit card tested was Asante's Giganix. This card is designed for a 64bit bus but, is backwards compatible to 32bit and 33Mhz configurations. Giganix is based off of the dp83821 chipset. The driver supplied by Asante was unable to compile due a bug in the code. In order to get the card to work the generic ns83820 driver was used again. Performance was expected to be similar to the GA2000T. Latency was
Peak throughput for a 32bit 33Mhz configuration was 238.75 Mbps in the Dell systems, with a peak of 172.19 in the Athlons. When comparing to the GA2000T, the Athlon results stay about the same whereas the Dell systems increase by 50Mbps.
Peak throughput for 64bit 33Mhz 641.02 Mbps with an MTU of 6000. When running at 66Mhz, the peak is 651.51 Mbps with the MTU at 6000.
An interesting spike in throughput on the 64bit 66Mhz tests was when the MTU was set to 3000. Aside from the 40Mbps difference between the two bus speeds, the plots look very similar. The main difference is the spike at 8KB packets.
For complete testing results, click here.
The cost per Mbps is as follows:
32bit 33Mhz: $138 / ((238.75+172.19) / 2) = $.67
64bit 33Mhz: $138 / 641.02 = $.22
64bit 66Mhz: $138 / 651.51 = $.21
Syskonnect SK9821:
The first of the Syskonnect cards tested was the SK9821. This card is designed for a 64bit bus. The SK9821's are backwards compatible to 32bit and 33Mhz configurations. The driver used was sk98lin from the kernel source. Latency was
Of all cards tested, the Syskonnect SK9821 gave the most consistent throughput over all packet sizes, and was far-and-away the overall performance leader.
In the server-class testing environment, peak throughput in our 64 bit 33Mhz setup was 782.27Mbps with the MTU set to 9000. The peak for 66Mhz tops off at roughly 940Mbps with jumbo frame MTU sizes of 6000 and 9000.
Peak throughput on 32bit 33Mhz was 365.27 Mbps on the Dells. After the peak, is reached there is a noticeable drop in throughput as it levels off to the 330Mbps range.
For complete testing results, click here.
Price: $570
The cost per Mbps is as follows:
32bit 33Mhz: $570 / ((365.27+163.97) / 2) = $2.15
64bit 33Mhz: $570 / 782.27 = $.73
64bit 66Mhz: $570 / 938.97 = $.61
Syskonnect SK9D21:
The second card tested from Syskonnect was the SK9D21. The SK9D21 is aimed at the desktop/workstation market. While support for this card under Windows environments appears to be solid, there were too many technical issues. The testing environment's mix of kernel, motherboard, Athlon chipset, and Syskonnect drivers made for too many components to successfully debug the problems with this card thoroughly. This card is designed for a 64bit bus the card is backwards compatible with 32bit and 33Mhz configurations. While an exhaustive analysis of the cards was unavailable, it should be noted that the latency was successfully determined at
Our difficulties with this card were limited to the 64-bit bus. Our tests were successful in analyzing the performance in both the QLITech Linux Computers Athlon-based systems and the Pentium-based systems in 32-bit busses.
When drivers issues for this card are resolved, performance evaluations in this section will be amended.
Peak throughput in the Dell system was 377.53 Mbps. As with the SK9821, there is a drop off after the peak is reached.
For complete testing results, click here.
Price: $228
The cost per Mbps is as follows:
32bit 33Mhz: $228 / 377.53 = $.60
3Com 3c996BT:
The next card in the test suite was the 3Com's 3c996BT. This card is designed as a 64bit 133Mhz card, but is backwards compatible to 32 bit, 33 and 66Mhz configurations. The driver used was the bcm5700, version 2.0.28, as supplied by 3Com. Latency was
The peak throughput achieved in this card while in a 32bit 33Mhz slot was 436.23 Mbps in the Dell systems. In the Athlon system, the same bus configuration only reached 184.02 Mbps.
Peak throughput while running in a 64bit 33Mhz slot was 884.09 Mbps this was with an MTU of 4000. While running at 66Mhz, the peak was only 546.16 Mbps with an MTU of 6000. These plots are all relatively smooth when compared to the other plots for this card.
Performance in a 66Mhz slot is actually lower for all MTU sizes as compared to a 33Mhz slot.
For complete testing results, click here.
Price: $138
The cost per Mbps is as follows:
32bit 33Mhz: $138 / ((436.23+184.02) / 2) = $.44
64bit 33Mhz: $138 / (884.09) = $.16
64bit 66Mhz: $138 / (546.16) = $.25
Intel Pro 1000/XT:
The final 64bit card tested was Intel's E1000 XT. As with the 3c996BT this card is designed for future PCI-X bus speeds running at 133Mhz. It is compatible with a variety of configurations running at 33 and 66Mhz as well as 32bit. The card uses Intel's e1000 module, version 4.1.7. Latency in the Athlon systems was
Peak throughput achieved was 743.14 Mbps while running in a 64-bit 66Mhz slot with the MTU set to 9000. Performance in a 32-bit configuration turned out the lowest throughput for all cards tested coupled with the most erratic throughput. During the throughput tests, the card would drop 100% of packets for extended lengths of time. Initial testing in the 64-bit setup showed performance similar to the Giganix card with regards to a 64-bit bus. Once the MTU was set to 9000 performance became very erratic, stagnated several times, then stabilized once the packet size reached an upper threshold peak. Note that the drop in performance was not associated with the (expected) phenomena of packet reassembly when the TCP packet size exceeds the MTU.
As testing continued the the 66Mhz phase things only got worse. Once the MTU exceeded 3000, performance was no longer predictable. During the 4000 MTU tests, the throughput plummeted to around
For visual clarity of this phenomena, see the ''Complete Test Results'' link for the Intel Pro 1000/XT below.
For complete testing results, click here.
Price: $169
The cost per Mbps is as follows:
32bit 33Mhz: $169 / 142.02 = $1.18
64bit 33Mhz: $169 / 624.41 = $.27
64bit 66Mhz: $169 / 743.14 = $.22
Mutually Exclusive? Nope, just limited range. Fiber can go 1000km or more.
Still, sometimes you only want to go a few feet between two servers or something and there you can't really argue with the price.
-WolfWithoutAClause
"Gravity is only a theory, not a fact!"Just fyi, Macintosh 1000BaseT ethernet controllers go directly to the memory controller, bypassing PCI altogether..
Care about electronic freedom? Consider donating to the EFF!
Stay away from cards that don't have PXE and cards in which the driver won't compile into the kernel (as opposed to a module) if you plan to do easy installations or mount root off the network. In other words, stay away from Netgear and some 3Com cards (I haven't tested others), and play it safe with Intel.
Well, check out the docs first off. It's hard to get much out of GBit, since most of the utilities don't call the socket open with properly sized buffers/window/whatever.
/* 8192 */
I set up optical gigabit for some NAS type things at work, and out of the box, GBit performed maybe 30% better than 100 Mbit. We are talking about 110Mbit peaks, compared to 80Mbit peaks with 100Mbit switched.
Setting the MTU to 6144 (max that I could set it to with the ns83820.o) I started to get peaks around 300Mbit/sec.
I tried recompiling the module for higher limits, since in the source it has:
#define RX_BUF_SIZE 6144
But if I put in 8192, or 9000 like I wanted it to be, it would crask or lock up.
Anyway, it's not trivial to get good performance out of GBit, and definitely don't expect anywhere near 10X gain.
I've had enough abrasive sigs. Kittens are cute and fuzzy.
Comparisons and Observations
In this section, we compare performance differences between cards in like environments , provide some general performance observations, and examine the cost per megabit as determined by the operating environment.
Head-to-head throughput results
While the results obtained in this study clearly show that peak performance is not a complete indicator of peak performance, in this section we examine the peak performance results amongst all cards under common environments.
32-bit, 33MHz PCI Bus, 1500 MTU
64-bit, 33MHz PCI Bus, 1500 MTU
64-bit, 66MHz PCI Bus, 1500 MTU
64-bit, 33MHz PCI Bus, 3000 MTU
64-bit, 66MHz PCI bus, 3000 MTU
64-bit, 33MHz PCI bus, 4000 MTU
64-bit, 66MHz PCI bus, 4000 MTU
64-bit, 33MHz PCI bus, 6000 MTU
64-bit, 66MHz PCI bus, 6000 MTU
64-bit, 33MHz PCI bus, 9000 MTU (Note: Drivers for the dp83820 chipset were limited to around 6000 MTU)
64-bit, 66MHz PCI bus, 9000 MTU (Note: Drivers for the dp83820 chipset were limited to around 6000 MTU)
General Observations
Of the eight cards tested, the clear performance champion was the SK9821 with regard to throughput and consistency. The 3Com 3c996BT has a modest price tag and respectable performance for the entry-level server configuration. If price per megabit is the main concern, the Ark Soho-GA-2500T has the lowest cost per Mbps, making it a viable solution for entry-level systems requiring higher throughput than fast ethernet.
The D-Link DGE500T and the Soho-GA2500T show nearly identical peaks, which is to be expected since the drivers and the chipsets were the same.
The 3Com 3C996BT has results when compared to the 64-bit 33MHz results were surprising inasmuch as these cards showed better performance at 33MHz bus than at the higher 66MHz bus.
Of all of the cards tested, the Intel E1000 TX proved to be comparable to the comparable to the Asante GigaNIX card in peak performance, but the erratic overall performance proved too much to overcome.
In referring to the Complete Test Results sections for the 3C996BT and the SK9821 cards, one sees a very consistent and smooth transition to the peak throughput of the cards over the complete range of packet sizes.
Some general comparisons that can be derived from the above results include the notion of ''cost per peak megabit. Depending upon the environment that the network device is to be installed, the cost per peak megabit varies greatly. For example, if one would wish to upgrade their P-III-based desktop system with a 32-bit, 33MHz PCI, the GA25000T is the clear cost-effective solution, but would not be able to provide throughput at the level of the 3Com 3C996BT.
In an HPC environment, where sustained throughput is critical and the switch is capable of Jumbo frames, the SK9821 would be the best performer. In light of gigabit switching hardware that lacks Jumbo Frame support, a comparison of the 1500MTU results shows the SK9821 is still a viable choice, as is the 3Com 3C996BT which provides a more cost-effective solution.
Paul Gray
323 Wright Hall
University of Northern Iowa
apparently Pricewatch.com has D-Link 8-port 10/100/1000baseT auto-detect switches listed for under $150!
;).
These are for 8x100-base-T with a gigabit uplink. I researched this a while ago, when speccing out my dream network
The cheapest full-gigabit switch D-link sells is about $1500.
I knew that actualy, and even flamed someone for typing "MB" when he meant "Mb". Oh well...
autopr0n is like, down and stuff.
you, sir, are taking a huge slurp from the karma tit today. Congratulations to you! Cheerio.
Wow, you are paying way to much. a 12ft optical cable I had used to connect my PC to my sound system broke a couple of days ago, and I thought it was gonna cost me $40 to replace it. Radio shack sold em for $44, but sears had a 12footer for just $20.
autopr0n is like, down and stuff.
The same site lists several 8 port switches for gigibit copper. Those with ONE 1000mhz port and 8 10/100 are low cost ($150) but those with 8 1000mhz ports are a bit more (about $600). Add the cost of the switch to your cards and it's probably not cost effective for the HO yet. I'm happy with my 100base T network, my 8 port switching hub was less than $40. I AM using CAT 5E so I can upgrade to 1000baseT someday, just not today!
The cards are well priced for home use, and CAT5E cabling is cheap too. The problem with gigabit ethernet is not the cards, it is the lack of switches or even plain hubs at an affordable price point. There are lots of switches out there with a single gigabit port, but even those are a couple of hundred dollars. If you want multiple gigabit ports, you are looking at more than $600 for the bottom rung products.
When information is power, privacy is freedom.
Someone needs to learn the difference between a gigabit and a gigabyte....
Doing Math we can calculate that a full gigabit of transfer is 125 Megabytes a second. I think this is possible with high end hard drive technologies like SCSI RAID and speeds like this will probably show up in the desktop in a few years.
And, of course, not all data has to be written on Hard Drives. You could have a router or switch that will pass along a gigabit of packets a seconds but it certainly doesn't write them to the hard drive. You could for example but in a Gigabit Ethernet connection between two nearby buildings.
Tim
Omnia vestra castrorum habetur nobis.
and I took Networking from him last semester. He did a preliminary demo for the class, and I think that on the 32 bit PCI Gigabit cards, the effective throughput was around 250Mbps. Of course, the PCI bus was the limitation.
A 64 bit PCI card was getting significantly higher throughput. I don't remember the exact numbers, but it was much closer to 1000Mbps (maybe 800?).
I dont mean to be a nitpicking fucktard, but it is 128MB/s. 1 Gb/s == 1024Mb/s, divide that by 8 and you get 128MB/s. Of course, you would never get 128MB/s nor would you get 125MB/s either...... damn theoretical limits not living up to the real world.
Buying a Dell computer is equivalent to dropping the soap in a prison shower.
I got about 32 MByte/s one-way with `ttcp` [UDP] between a 1.2GHz K7 and 2*500 Celeron (BP-6) through a plain crossover cable.
Not bad, but only 25% of wirespeed (125 MByte/sec). I figured the main limit was the PCI bus, which would only burst at 133 MByte/s, and I strongly suspected that the bursts were too short to achieve anything like this speed. I have yet to play with the PCI latency timer.
One thing for sure -- it isn't the CPU speed or Linux network stacks. The K7 will run both ends of ttcp through the localhost loopback at 570 MByte/s, and the BP6 around 200 MB/s.
You got it all wrong dude, it's the LINPACK 1000x1000 double precision benchmarks that count.
Did you know you can fertilize your lawn with used motor oil?
Get a cheaper brand of cable, something tells me you really won't be able to hear the difference. All that regardless, the kind of fibre used for eithernet is not nearly so expensive. I can get 12-strand (6 single mode, 6 multi mode) fibre at around $1.00-$1.50/foot. That has enough for 6 different connections, three of them single mode (which costs more). For a short run of premade multi-mode fibre with the ends on it I'd think you shouldn't pay much more than $1/foot and perhaps less. At a length of 50 metres it should be around $0.50/foot.
IF Eithernet fibre was as expensive as you suggest, the university I work at would be bankrupt. Just last week I laid about 50 30-metre patch cables in a closet. This is not to mention the thousands already in place and the millions of metres of fibre that connects the buildings together.
Anybody out there running Linux on a G4 using 1000BaseT ethernet?
There was another review of GigE performance in the IEEE Network Magazine last year.
hoe often is data written to the hd? not as often as you would think... your computer does NOT stream right to the hardrive... most of the time your transfers are done using ram which is up to 5x times the speed of your network depending on your ram...
unzip; strip; touch; finger; mount; fsck; more; yes; unmount; sleep
Are there any NICs using the AGP? Not many boards have 64bit PCI yet, let alone PCI-X, but every board has an AGP slot. This would be great for cheap 1U cluster nodes, with an appropriate riser card of course.
Did you know you can fertilize your lawn with used motor oil?
Wow, that is the best fucking karma whoring mess I've ever seen. Drink it up dude...
SIG: HUP
First, you can't just stick a gigabit card in a machine and expect it to work at full capacity. The basic design of ethernet was not really designed for gigabit speeds, but we've managed to squeeze it out - barely.
With 10 mbit cards, having the card generate an interrupt with ever incoming frame wasn't too bad. And on 100-mbit, it's still managable - but at a full gigabit, it really, really starts to bog down the machine. Some cards get around that by using interrupt coalescing, where they buffer up a few frames before they trigger an interrupt. That has a drawback, though: It increases latency. The trade-off has to be at some point, and not choosing the RIGHT point can affect either throughput or latency.
Furthermore, to get the full benefit out of your card, you generally need to enable jumbo-frames on both the card and the switch - and of course, your switch has to support that feature.
To make matters even worse, you can't always pump out (or receive) a full gigabit in any other than testing situations. Say you're receiving a large incoming file via FTP, NFS, or the protocol of your choice. Can your machine *really* write data to the disk at over 100 megabytes per second? And if it can, can it really handle both receiving a gigabit from the card, processing it, and writing the gigabit out to the disk? Unless you've got a very large amount of money in the machine, it probably won't.
steve
Oh, you're not stuck, you're just unable to let go of the onion rings.
one can make decent gains with a good managed switch and optimizing the workstations. i'm not really ready to invest in gig-e as of yet, since the internal transfer speeds are so determinent on the result. by the time general pc i/o speeds are up to par, 10gig-e will be the cost of gig-e today. a much better scenario. now, we simply ensure that certain workstations have precedence over the general pc population. hypertransport... yummy!
Technically we are both "right". However, when you use the term "bits" you mean binary digits. emphasize binary. We are not using base 10, but base 2.
The Free On-line Dictionary of Computing (13 Mar 01)
prefix
1. The standard metric prefixes used in the SI
(Syst`eme International) conventions for scientific
measurement. With units of time or things that come in powers
of 10, such as money, they retain their usual meanings of
multiplication by powers of 1000 = 10^3. When used with bytes
or other things that naturally come in powers of 2, they
usually denote multiplication by powers of 1024 = 2^(10).
Here are the SI magnifying prefixes, along with the
corresponding binary interpretations in common use:
prefix abr decimal binary
yocto- 1000^-8
zepto- 1000^-7
atto- 1000^-6
femto- f 1000^-5
pico- p 1000^-4
nano- n 1000^-3
micro- * 1000^-2 * Abbreviation: Greek mu
milli- m 1000^-1
kilo- k 1000^1 1024^1 = 2^10 = 1,024
mega- M 1000^2 1024^2 = 2^20 = 1,048,576
giga- G 1000^3 1024^3 = 2^30 = 1,073,741,824
tera- T 1000^4 1024^4 = 2^40 = 1,099,511,627,776
peta- 1000^5 1024^5 = 2^50 = 1,125,899,906,842,624
exa- 1000^6 1024^6 = 2^60 = 1,152,921,504,606,846,976
zetta- 1000^7 1024^7 = 2^70 = 1,180,591,620,717,411,303,424
yotta- 1000^8 1024^8 = 2^80 = 1,208,925,819,614,629,174,706,176
------
BINARY BINARY BINARY! WE USE BINARY! Take a look to the right under "mega". mega- M 1000^2 1024^2 = 2^20 = 1,048,576. Therefor, 2^30 / 2^20 = 2^10 = 1024 megabits in 1 gigabit.
Now, what part of that dont you understand?
Buying a Dell computer is equivalent to dropping the soap in a prison shower.
Coolness aside, the market for gigabit ethernet is a lot larger for the corporate user than it is for the home user. One of the primary drivers for the fast adoption of gig-e in corporate environments is the ability to use the existing copper infrastucture by using an additional 2 pairs (copper gig-e uses 4 pairs).
The problem with fiber vs copper isn't really the cost of the medium, it is the cost of laying the infrastructure. If I remember correctly, the cost of the cable is about 1/10 of the total cost.
Part of the reason gig-e has become so cheap so quickly is that it has been able to ride the ethernet adoption curve to make the MACs and copper transcievers cheap because of the huge volumes. These volumes will never be reached by fiber.
-tpg
Seems like every graph I look at these days in research papers are the same styles and colors (Microsoft Excel defaults).
Too bad the open-source community doesn't have a better alternative. I've tried Grace...the learning curve was a little steep. Guppi is not ready, not is KChart. The best I've found so far is Octave, a open-source Matlab clone . That's because it provides an interface to GNU plot and Matlab is very familiar to me.
When I hear the word hub, I think of half duplex shared medium. Although the gig-e spec (802.3z) contains support for half duplex, I don't know of any vendor that has implemented and tested it, espicially in a hub product.
-tpg
The problem is integration of multiple MACs and PHYs into a single chip. If you take apart a 4 or 8 port 10/100 switch, you will find that you have a singe chip product with some small components surrounding it. If you take a multiport 10/100/1000 switch apart, you will find many more chips because the integration hasn't happened there yet. Give it a few more years for the technology to mature.
-tpg
You make a good point about interrupt coalescing affecting latency, but that was mostly on first generation gig-e products. It also had a lot to do with how the products were built. Newer NIC architectures have learned to balance this better.
During heavy loads, with interrupt coalescing enabled, latency is not an issue, getting the most throughput per cpu cycle is. If the NIC and driver together can determine system and network load, then it can make an intelligent decision when to delay presenting an interrupt to the host and when it should do so right away. To do this correctly, the NIC should also be able to determine when the host is in the interrupt service routine, so work can just be placed on the queue without requiring any interrupt. In cases like this, the work gets done almost for free.
A similar thing occurs in TCP with delayed ACKs.
-tpg
Idiot moderators. The parent of this post had a disguised link. Next time I'll let you have a large open anus in your mind forever. :)
I recently bought a pair of the DLink DGE-500T gigabit ethernet cards. I knew not to expect anywhere near the full gigabit speeds, but the performance I actually got was horrible. I'm not sure what the cause was, but connecting a Linux box to a Windows 2000 box directly with a 3 foot cable, all I got was right around 12MB/sec from Samba. I was quite disappointed with this because that isn't even twice the performance I get with 100mbps cards. It's not even giving me another 50% performance.
I tried tweaking all sorts of stuff, with no luck whatsoever. Samba performance settings, MTU sizes, but nothing helped at all. I couldn't seem to pinpoint any bottlenecks in the systems either.
One of the main reasons that these cards are so cheap is that they have a very small cache on them. The more expensive cards come with much more, but at much more cost also.
If anyone has any suggestions as to how to get any reasonable performance out of these cards, please let me know, but from my experience with these cards, I'd not recommend them at all.
Gigabit optical network cards a only a little
over a 100$ now, are full duplex and faster
than copper in most cases. We've just installed
4 Dual Athlon 2000MP linux boxes, with gigabit
optical cards, pretty damn fast as you can
imagine.
Wow... ethernet cards are on sale from 100 bucks to 36 bucks.... but a gigabit switch is around 1,600 bucks!
You go ahead and buy that NIC, but it'll be a while before some l33t h4x0r geek buys that $1600 switch for his lan party...... well.... i do know a couple morons....
Wow. That makes any analysis tough, when performance measures fail to satisfy the Reflexive Property!
Brian
The much nicer interface would be to have a living room box join my ethernet LAN. The box would just receive uncompressed audio and video from the computer over gig ethernet. That way, all the decompressing would be done by the fancy CPU in my bedroom, and the box would not become obsolete when new/more CPU-intensive codecs came out. (Because the alternative is, of course, to have the box do the decompression, but I don't like that.) Somebody please make one of these (or explain why it would be a bad idea).
For those of you who don't know how this works, here's a bit of a primer: basically, you set the port on your big data center grade switch to "trunk" and then you enable 802.1q on your Linux box. Then you don't just have one Ethernet interface with one address --- you have up to 4096 virtual ones, each on its own VLAN and each with an IP address that's valid on that VLAN. So you'd have eth0.1, eth0.2, eth0.3, etc... each talking to the machines on that VLAN.
Once you've got that running, you can do all sorts of neat stuff, including:
As you can see, it's limited only by your imagination. And with that much stuff potentially running through the box, you're going to need that 1 Gbps of speed. Happy hacking!
Tired of FB/Google censorship? Visit UNCENSORED!
So I also ran a netpipe test to see what it thought of my NICs.
It gives you a NetPIPE.out. According to the man page, they contain: "time to transfer the block, bits per second, bits in block, bytes in block, and variance."
First of all, the manpage is wrong because the second column gives a number much closer to megabits per second, and after numerical verification, I found that it's giving the value of 1024*1024 bits per second and not 1000*1000 bits per second.
In NIC-talk, when we say gigabit, we mean 1000,000,000 bits, not 1000*1024*1024 bits.
So when benchmarking your gigabit network card with netpipe, please remember that you're looking at speed results "1024*1024"-megabits, so your NIC is really only 953.6 megabits, which immediately gives a much better insight into the speed achieved by the Syskonnect card.
--- Hindsight is 20/20, but walking backwards is not the answer.
I was noticing that the pentium platform consistently outperformed amd. Does anyone know of a good reason why this would happen? I'm currently in the process of building my first dual athlon machine, and would like to run linux on it.
Pretend I have 3 cheap Athlon based systems in one building. Assume one is acting as a server, and the other two are clients that aren't talking to each other. Because these are the cheaper cards, I only expect 300Mbps when one client is active. What happens when both clients are active?
Ideally, throughput would be no worse than 150Mbps/per card. I suspect it would be much worse.
If multiple cards did work well, then you could buy 6 cards to directly connect 3 machines. Much cheaper than 3 cards and a GigE switch.
I think I'll have to wait until even cheap machines have 64bit/66Mhz PCI busses. I know I'll have to wait until I get all my machines into one building.
Examples of this are: Kilograms, Megalitres, Gigawatts.. none of these things are 1024 times anything.
Not Meta-modding due to apathy.
Y'AI 'NG'NGAH, YOG-SOTHOTH H'EE-L'GEB F'AI THRODOG UAAAH!
Yeah, I know it's off topic, but hey, I don't care.
Not Meta-modding due to apathy.
I am somewhat tired and sleep deprived so take my comments with a grain of salt.
"Can't sleep. Clowns will eat me"
We've just setup up a gigabit cluster with new
u pe rServer6012P-6.htm
:-} I havn't been able to test how much more CPU headroom they give me.
1u servers from supermicro:
http://www.supermicro.com/PRODUCT/SUPERServer/S
I've tested it using a CISCO catalyst 3500XL switch. Our new 4000 switch goes online this week.
I can get a fully saturated link using a program I wrote:
http://mxtraf.sf.net
I'm using a 2.4.18 kernel with the latest drivers from Intel.
BTW, anybody know how to enable jumbo frames in IOS?
-- Buck
Why hasn't the PCI bus been gradually upgraded like MB memory?
read this and learn how kiB means 1024 bytes, kB means 1000 bytes, etc.
#define X(x,y) x##y
Peter Cordes ; e-mail: X(peter@cordes ,
Because the hardware on the cards themselves have a maximum MTU.
Error: PANTS NOT FOUND. Press <F1> to continue.
There must be something wrong with the graphs for the e1000 packet size vs. throughput plot, I believe the axis are reversed.-
Also Intel acknowledges that their e1000 adapter have driver issues under linux. This text is from: ftp://aiedownload.intel.com/df-support/2897/ENG/re adme.txt
Known Issues
============
Driver Hangs Under Heavy Traffic Loads
Intel is aware that previously released e1000 drivers may hang under very
specific types of heavy traffic loads. This version includes a workaround
that resets the adapter automatically if a hang condition is detected. This
workaround ensures network traffic flow is not affected when a hang occurs.
This is for the driver verion 4.1.7, released 3/23/2002 (ie. quite new). Older versions had even bigger problems. This might explain why the Intel adapter does so bad in this test. I wish that Intel gets a clue and releases all card specs and GPLs the existing driver so that a true (stable) open source driver could be written and included in the linux kernel. I think the hardware is OK, but the drivers sucks.
RFC1925
Does Intel's desktop cards support PXE (or rather, have the correct support so as not to be lumped in with Netgear's cards (bleh.. when I first got into networking I bought some Netgear cards because I had such great success with their switches/hubs-- NEVER AGAIN; this is the company that accidentally setup their PCI ID (or whatever it is that allows Win9x to autodetect and load drivers for devices) incorrectly as ANOTHER card, thus allowing Windows to load the WRONG driver for the card-- nightmare!)?
I've had really good experiences with Intel NIC's, and in fact have two Pro 100/S Server Adapters and two Pro/1000 T Server Adapters (the forefather to the newer 'server' class models) for use in my systems-- Intel's driver support is absolutely amazing, and incredibly stable/friendly. The fact that they offer up alternate platform drivers is just another bonus.
All I know about Bush is I had a good job when Clinton was president.
but according to the IEC it's better to say "Gibibit" or "Gibibyte", etc. when referring to binary numbers.
Look at the national institute of standards' web page dealing with base-2 units.
So the hard-drive makers are right, but can still be flamed for a lot of other reasons:)
When in doubt, have a man come through a door with a gun in his hand.
As many have said, Gigabit switches are priced WAY out of proportion to the price of Gigabit NICs.
So how about filling up a cheap PC with cheap NICs and using it as a switch?
Granted as others have said, the PCI bus is a limiting factor. But it will certainly blow away any 100mbit switch.
Another possibility is to put two Gigabit NICs in every machine, and run a daisy chain or even a ring type network.
Sounds like a fun project!
I cant wait to download this and start sending in sites like amazon and microsoft.com!! w00t!
The DLink Gigabit ethernet cards I threw into the small file storage machine that hangs off of my computer don't care what cable you stick in them. As long as the wires come out, it figures out what's the correct 'routing' - crossover or regular.
:P
So does that mean my $99 Gigabit Ethernet Card is at least as special as your $3000 Mac?
IIRC gigabit ethernet and fibre channel use 10-bit bytes giving just 100MB/second.
This space left intentionally non-blank.
I needed gigabit bandwidth at work because I am moving 100GB files.
:). If you can afford to do power cycling once and a while and it's not a buisness server with critical uptime, it's not all bad.. (like for a little renderfarm).
I went on reading about it on the net, on sites like www.3wire.com for example, and to make a long story short, Fiber optic yeilds the best results (obviously) but are way to expensive. Next are some 1000T copper cards that are almost doing the job, but then again, after getting 5 different cards, I can tell you right away that you can have a BIG difference from a board to another.
The best card I've got so far performance-wise are the Intel Pro 1000T-based adapters, with no optimization card to card running netcps, I'd get twice as much speed out than with the Dlink counterpart (DGE500T). They are a bit more expensive, but if you want more than 3x increase over 100Mbits, you need something a tad more expensive.
The other thing is you see card with 70Megs/second bandwidth tests on some websites, with jumbo packets turned on. You need a jumbo-frame capable switch (read: Expensive) to be able to turn that on. The cheapest gigabit switch I've found that could take an aweful lot of load without costing me an arm was the Netgear GS508T, but if you are used to managed switch, that one isn't.
Also you might be tempted to get a Gigabit card as upling with let's say 8 ports @ 100Mbits, that way you won't waste bandwidth to the server and the 8 of them can crunch it. Well good idea on paper but don't get the Dlink DES-1009G, I had to return 2 of them, and the firmware on that thing truely SUCKS. You can't just leave it there and forget it, you need to cycle the power sometimes so it can "read properly" on the ports wether 100 or 10 or half or full duplex. It's miserable and poor performing. It's cheap though
For the Intel pro cards, I got both the workstation and server ones, server being 64bits PCI.
There's one thing you want to consider, if you use Gigabit ethernet, you need also to be able to feed it, 50megs/second on the board requires a drive being able to deliver 50 megs a second to the card, and requires a PCI bus able to take the load as well (remember, it's 50megs x 2 bandwidth on the bus that on pci32/33mhz saturates at 128 but in real world 100).
--- Metamoderating abusive downgraders since my 300th post.
Gig-E seems to me like it's DOA. Ethernet is much too complicated to sustain such high speeds. We need something totally redesigned that will take out some of the excess baggage that's been dragged along since the days of 2Mbps glory.
My main gripe is that NICs have always been the most bus-abusive device in a system, unless you pay 5x more for a high-end 3Com card. Heck, we've got Firewire-p2p running circles around 100base-T, partly because the low-level protocol is simpler.
The other catch is that bandwidth is usually inversely proportional to latency. On paper it sounds absurd, since more speed equates to smaller packets that arrive faster. Indeed they do get 'here' faster, but they take longer to process because the CPU is constantly being harassed by the network card running 10x faster than typical 100bT. To cope with this we need fatter packets.
My temporary solution : have two NICs, one Gig-E, the other 100bT or even 10bT, and have them on separate PCI buses. The Gig-E can handle fileserving and other heavy tasks, while the 100bT will take care of low-latency low-throughput tasks, that way you can crank up the MTU size on the Gig-E side to an absurd number on your LAN, and keep your sub-1500 MTU on the internet side for fast pings in Q3A.
The hard part is finding an affordable motherboard with dual PCI buses.
-Billco, Fnarg.com
How much of the CPU was used during the benchmarks? It would be nice if the benchmark reported it. I don't know if netpipe can do this, but if it cannot, measuring it externally will have to do.
Knowing this value can help measure the efficiency of the hardware and the device driver. For all things equal (data throughput / price ) -- a solution that uses the least amount of CPU is the most attractive to me. In a server environment this may be even more important than the raw throughput #'s.
When it was all said and done,
I lost karma posting this.
It was posted in sections because the
article was huge and I could only format
the HTML to text after working on it for
a bit, so in order to get it up as fast
as possible....
I would work on a section and post it...
so readers could see (the site was slashdotted)
So much for trying to help.