Welcome, Guest. Please login or register.

Author Topic: X-Surf 100 - Best TCP/IP for Speed?  (Read 9027 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline matt3kTopic starter

X-Surf 100 - Best TCP/IP for Speed?
« on: October 03, 2013, 05:41:28 PM »
Currently I own Ariandne with MNI drivers in Miami, and working for the big speed increase...

Getting funds together to buy this awesome card and was wondering:

Is roadshow the fastest for the card?
What is the best TCP/IP stack for multitasking and system performance?
Anyone using roadshow with this card?


Appreciate the feedback...
 

Online amigakit

Re: X-Surf 100 - Best TCP/IP for Speed?
« Reply #1 on: October 03, 2013, 06:42:16 PM »
Hi

We provide EasyNet free with the X-Surf 100 card.  This should provide really good performance with more developments coming.
www.AmigaKit.com - Amiga Reseller | Manufacturer | Developer

New Products  --   Customer Help & Support -- @amigakit
 

Offline olsen

Re: X-Surf 100 - Best TCP/IP for Speed?
« Reply #2 on: October 03, 2013, 08:23:37 PM »
Quote from: matt3k;749330
Currently I own Ariandne with MNI drivers in Miami, and working for the big speed increase...

Getting funds together to buy this awesome card and was wondering:

Is roadshow the fastest for the card?
What is the best TCP/IP stack for multitasking and system performance?
Anyone using roadshow with this card?


Appreciate the feedback...

Funny you should ask, as I recently did a little testing to answer just that question. Courtesy of Jens Schönfeld, who loaned me a sample for testing. For the record, the "X-Surf 100" is the fastest Amiga Ethernet card ever made (if used in Zorro III mode, and connected to a 100 MBit/s or 1 GBit/s switch). You can quote me on that.

First thing, any TCP/IP stack you can buy today is going to be faster than "Miami", even with MNI drivers. That goes for both "AmiTCP Genesis" and "Roadshow".

If you have an A3000 or A4000 then the "X-Surf 100" will send and receive data faster than your Amiga will be able to process. With the "Ariadne", it's the other way round: the computer is faster than the Ethernet card. The "Ariadne" limits how fast you can send and receive data.

But that's not the case with the "X-Surf 100". No matter which TCP/IP stack you use ("Miami" probably being the exception, because its SANA-II network support limits how fast it can go), you're probably not going to see much of a difference between "Roadshow" and "AmiTCP Genesis" in terms of speed: the "X-Surf 100" is the great leveler.

"Roadshow" plays to its strengths when it comes to make the most of available memory and CPU power, especially if you don't have a high end Amiga or a high end Ethernet card. If you have lots of memory, and a very fast CPU (say, 68060@50MHz), "Roadshow" won't provide more punch than "AmiTCP Genesis", when using the "X-Surf 100" in Zorro III mode, and you transmit data under full load. I do believe, however, that "Roadshow" does well enough with modest means, i.e. you don't have to throw a lot of memory at it in order to get it up to speed.

What I found interesting is how much the CPU power matters in terms of TCP/IP stack performance. In my TCP transmission tests (in the local network) I got about 1.700 MByte/s out of the "X-Surf 100", on my test machine which I used for benchmarking "Roadshow". (Note that I did not conduct tests between the A3000T and the Internet, since measuring network performance for this application is very hard to do reliably. You're not just pushing data around between a source and a destination, but a lot of intermediary systems, too. Talk about reproduceability...)

Both "Roadshow" and "AmiTCP Genesis" ran about exactly as fast in my tests. My test machine is an A3000T, with a WarpEngine 68040@40 MHz. I read about a CyberStorm Mk II, with a 68060@50 MHz, getting about 2 MByte/s out the "X-Surf 100", and I believe that's a realistic figure.

Note that when the "X-Surf 100" is transmitting data at this speed, your CPU load will be at 96%, if not higher. This is because no currently existing Amiga TCP/IP stack supports offloading tasks such as checksum calculation/verification or data transfer to the networking hardware. Whenever an Ethernet frame enters or leaves the "X-Surf 100", it will be your computer's CPU pushing it along. Whatever CPU cycles are still left, while the "X-Surf 100" is running under full steam, so to speak, your networking software may put to good use. Both the TCP/IP stack and your networking software will be competing aggressively for the CPU.

Because so far Amiga networking hardware was very slow, we never had a case of the CPU power being the limiting factor when it comes to network I/O performance. Bottom line is, if your CPU is very fast, then the network I/O performance will be high. If not, then performance will be proportionately lower.

In my personal tests of the card and its driver software, I found that it was almost twice as fast as the original "Ariadne", which is the fastest Zorro II Amiga Ethernet card I know of. With a high end Amiga configuration, I reckon that it the "X-Surf 100" will be a bit more than twice as fast as the "Ariadne". I think sustained transmission rates of more than 2.2 MByte/s may be possible.

That's as much as I found out, during my own personal testing (your mileage may vary). If anybody's interested in doing their own test, I'm happy to share the source code of the benchmarking programs which I used for testing, and the test methods.
« Last Edit: October 03, 2013, 08:30:46 PM by olsen »
 

Offline matt3kTopic starter

Re: X-Surf 100 - Best TCP/IP for Speed?
« Reply #3 on: October 03, 2013, 09:18:23 PM »
@Olsen

Thanks!

I'm using a 3000D with a CS MKIII 060-50.

I will use the easynet front end and hope they update it to work with lpr.device in the near future for printing.

One issue I had with the Ariandne and my Delfina Plus, is that if I copied large files from my NAS and played "insane" mp3's, (If I copy smaller files and/or played normal mp3's there is no issue) I would get stuttering playback.  The Delfina Plus only uses 2% CPU, so I thought it was bus related.  Perhaps this may be CPU, and will not go way with the X-100.

Guess I will have to test that one...

Again thanks for sharing...
 

Offline olsen

Re: X-Surf 100 - Best TCP/IP for Speed?
« Reply #4 on: October 04, 2013, 07:19:52 AM »
Quote from: matt3k;749346
@Olsen

Thanks!

I'm using a 3000D with a CS MKIII 060-50.


Looks like you've got the right gear to make the most of the X-Surf 100 then.

Quote

I will use the easynet front end and hope they update it to work with lpr.device in the near future for printing.


Well... should you ever get curious, the free "Roadshow" demo will still be available for evaluation. Plugging in "lpr.device" in the services configuration file should not be too hard. Come to think of it, I'll make a note to add a sample entry for it.

Quote

One issue I had with the Ariandne and my Delfina Plus, is that if I copied large files from my NAS and played "insane" mp3's, (If I copy smaller files and/or played normal mp3's there is no issue) I would get stuttering playback.  The Delfina Plus only uses 2% CPU, so I thought it was bus related.  Perhaps this may be CPU, and will not go way with the X-100.


It probably will not get worse either. How you describe it, it seems to me that the issue may be with the size of the mp3 decoding buffer.

If the file to be played is small, it will transfer quickly over the network while the player can either still keep up with decoding, or will decode it just in time for the network access not to have a negative impact on it. But if the file is large enough, decoding, playback and reading more data off the network will happen in parallel. Because the decoder and the TCP/IP stack are competing for the CPU, playback quality inevitably suffers.

I had the same problem with the "Concierto" add-on for the Picasso IV. Because the "Concierto" hardware was interrupt-driven and could not use DMA (on top of that the sound chip had its own quirks), playback always consumed CPU time. Playing back mp3 files on the "Concierto" left little CPU time to other tasks. You could either listen to the music or do something else, but not both.

Now if you had a larger decoding/playback buffer, it might be that the player will be able to feed audio data to the Delfina Plus more easily while it's reading more data from the network. Increasing the buffer size, if that is possible, would be the classic remedy for this kind of problem.
 

Offline danbeaver

Re: X-Surf 100 - Best TCP/IP for Speed?
« Reply #5 on: October 04, 2013, 02:01:39 PM »
Using RoadshowPPC and the X-Surf 100 in OS4.1 shows not more than 24% CPU utilization with the overhead browser (IBrowse) or 18% with the overhead of AmiFTP transfers. Like all of the referenced numbers in this thread, this is Anecdotal and has no statistical validity. Test Bed numbers apply only to the testing hardware, software and network at hand and thus have no more than a casual relationship to Real World numbers.  I feel you have to ignore the numbers unless you perform quite extensive real world testing and then calculate a meta-analysis of those results to get a generalized pictured of the throughput "in the wild."  

My conclusion is that it "feels" fast, in the same ballpark (but not over the fence) as a USB 10/100/1000 dongle off a Deneb in Z3 PIO under OS4.1.
 

Offline matt3kTopic starter

Re: X-Surf 100 - Best TCP/IP for Speed?
« Reply #6 on: October 17, 2013, 06:15:26 PM »
Thanks Olsen,

I increased the buffer in AmigaAmp to 'File' and it works perfectly now!  No more stuttering playback.  Works perfect with the Ariandne.  

My X-Surf 100 arrives today, so the only outstanding issue is the update of Easynet for V4 so I can print.

Again thank you for the help.

Will let you know the speed comparison between the Ariandne and the X-surf.  Initially I will just use Miami until the updates to Easynet take place.

What test do you recommend for calculating speeds of the cards?

Quote from: olsen;749383
Looks like you've got the right gear to make the most of the X-Surf 100 then.



Well... should you ever get curious, the free "Roadshow" demo will still be available for evaluation. Plugging in "lpr.device" in the services configuration file should not be too hard. Come to think of it, I'll make a note to add a sample entry for it.



It probably will not get worse either. How you describe it, it seems to me that the issue may be with the size of the mp3 decoding buffer.

If the file to be played is small, it will transfer quickly over the network while the player can either still keep up with decoding, or will decode it just in time for the network access not to have a negative impact on it. But if the file is large enough, decoding, playback and reading more data off the network will happen in parallel. Because the decoder and the TCP/IP stack are competing for the CPU, playback quality inevitably suffers.

I had the same problem with the "Concierto" add-on for the Picasso IV. Because the "Concierto" hardware was interrupt-driven and could not use DMA (on top of that the sound chip had its own quirks), playback always consumed CPU time. Playing back mp3 files on the "Concierto" left little CPU time to other tasks. You could either listen to the music or do something else, but not both.

Now if you had a larger decoding/playback buffer, it might be that the player will be able to feed audio data to the Delfina Plus more easily while it's reading more data from the network. Increasing the buffer size, if that is possible, would be the classic remedy for this kind of problem.
 

Offline matt3kTopic starter

Re: X-Surf 100 - Best TCP/IP for Speed?
« Reply #7 on: October 18, 2013, 03:34:18 AM »
OK, installed the x-surf 100.

Using Miami right now and it is barely faster than the Ariandne.

Ariandne with MNI gives 155,000 cps and 25% cpu.
X-Surf with SANA2 gives 170,000 cps and 15% cpu.

Oh well.  Hopefully when I figure out how to install AmiTCP with Easynet, the results will double...
 

Offline danbeaver

Re: X-Surf 100 - Best TCP/IP for Speed?
« Reply #8 on: October 18, 2013, 03:41:37 AM »
Quote from: matt3k;750369
OK, installed the x-surf 100.

Using Miami right now and it is barely faster than the Ariandne.

Ariandne with MNI gives 155,000 cps and 25% cpu.
X-Surf with SANA2 gives 170,000 cps and 15% cpu.

Oh well.  Hopefully when I figure out how to install AmiTCP with Easynet, the results will double...


The whole point of EasyNet is the ease of installation, given a few router parameters; although Roadshow lacks a GUI, it is pretty much a dead simple install: install the software, copy one file (the NIC card settings from storage to device), make sure the correct driver is in the Devs:Networks folder, and reboot.
 

Offline freqmax

  • Hero Member
  • *****
  • Join Date: Mar 2006
  • Posts: 2179
    • Show only replies by freqmax
Re: X-Surf 100 - Best TCP/IP for Speed?
« Reply #9 on: October 18, 2013, 05:15:59 AM »
Quote from: matt3k;750369
Ariandne with MNI gives 155,000 cps and 25% cpu.
X-Surf with SANA2 gives 170,000 cps and 15% cpu.


Is the difference DMA usage? it seems like a significant difference.
 

Offline olsen

Re: X-Surf 100 - Best TCP/IP for Speed?
« Reply #10 on: October 18, 2013, 09:31:34 AM »
Quote from: matt3k;750329
What test do you recommend for calculating speeds of the cards?


I use "synthetic" tests to gauge performance, which as danbeaver pointed out, have little relevance for real world applications. Still, these tests can be easily repeated, the results are reproduceable and comparable.

For my recent tests, I ported the NetIO program to the Amiga and reworked the TcpSpeed program, which I believe was written by Holger Kruse, who also wrote Miami/Miami Deluxe. Both programs require Kickstart 2.04 and a plain 68000 Amiga (i.e. they both work on an A600).

The reworked TcpSpeed program tries to measure the throughput more accurately by resorting to timer.device measurements and using floating point numbers to calculate the figures.

Both NetIO and TcpSpeed perform data throughput tests, i.e. they transmit fixed amounts of data between a sender and a receiver and measure how long it takes for the last byte to arrive. From these figures they calculate the average data throughput.

For the tests to work you need two computers. One acts as the test server, the other as the test client. The test server in my case was a Mac Mini, and the client was an A3000T. Both were connected by a Gigabit Ethernet switch.

Programs and source code are available from me only for now. I have not yet uploaded them to Aminet. If you are interested, please contact me via PM.
 

Offline olsen

Re: X-Surf 100 - Best TCP/IP for Speed?
« Reply #11 on: October 18, 2013, 09:33:55 AM »
Quote from: matt3k;750369
OK, installed the x-surf 100.

Using Miami right now and it is barely faster than the Ariandne.

Ariandne with MNI gives 155,000 cps and 25% cpu.
X-Surf with SANA2 gives 170,000 cps and 15% cpu.

Oh well.  Hopefully when I figure out how to install AmiTCP with Easynet, the results will double...


The Miami SANA-II support leaves much to be desired in terms of performance. Considering how fast the X-Surf 100 actually is, seeing that with Miami it runs faster than the Ariadne, even when using SANA-II drivers, should tell you something :)
 

Offline olsen

Re: X-Surf 100 - Best TCP/IP for Speed?
« Reply #12 on: October 18, 2013, 09:38:06 AM »
Quote from: freqmax;750383
Is the difference DMA usage? it seems like a significant difference.


Neither the Ariadne nor the X-Surf 100 support DMA.

If X-Surf 100 did support DMA, and the TCP/IP stack would so, too, then the figures would be much, much higher.

The problem here is that the Miami SANA-II support is not as good as it ought to be, and obscures how fast the X-Surf 100 really is.
 

Offline freqmax

  • Hero Member
  • *****
  • Join Date: Mar 2006
  • Posts: 2179
    • Show only replies by freqmax
Re: X-Surf 100 - Best TCP/IP for Speed?
« Reply #13 on: October 18, 2013, 10:52:44 AM »
This just tells me that AmigaOS need a new network driver infrastructure..
 

Offline danbeaver

Re: X-Surf 100 - Best TCP/IP for Speed?
« Reply #14 on: October 18, 2013, 01:47:39 PM »
Quote from: freqmax;750416
This just tells me that AmigaOS need a new network driver infrastructure..


It already has that in OS 4.1.