Welcome, Guest. Please login or register.

Author Topic: Expected network throughput on Mediator?  (Read 5273 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline olsen

Re: Expected network throughput on Mediator?
« on: January 05, 2015, 09:47:23 AM »
Quote from: Heiroglyph;781022
I found something of use on eab, a netio benchmark from matthey using an 060/75 and Mediator.



I'm not sure my setup will actually complete the test, it seems to stop, but not lock up.

With the tweaks given here http://www.amiga.org/forums/showpost.php?p=751014&postcount=48 it just stops after giving Packet size 1k bytes:  923.34 KByte/s Tx and never seems to finish Rx.

Removing all the tweaks gives:
1K bytes: 901.88  KByte/s Tx,  946.49 KByte/s Rx.
2K bytes: 1067.00  KByte/s Tx,

Then it just stops again.

Edit: it seems that after running netio, Roadshow is no longer functional. GetNetStatus looks good, but not even ping will complete, it just sits there with no crash.

It can be dangerous to change the memory usage settings for the TCP/IP stack. Given enough traffic at a sustained high rate, the TCP/IP stack may end up consuming most available and usable memory (with respect to fragmentation, etc.).

I first saw this with AmiTCP V4, when I tested it with the X-Surf 100, and given that the underlying TCP/IP stack architecture is the same, right down to how the memory management works, Roadshow must be susceptible to the same issues.

Did you read the entire thread on which you found the tweaking information (there's some information on this subject in the Roadshow documentation, too)? There is more information to be found there, including how fast the X-Surf 100 can be expected to be, and under which circumstances.

In my own tests I found that 2.2 MBytes/s should be possible if you don't actually use the data transmitted. In reality with a web browser or an ftp client using the data transmitted you might get more than half of the 2.2 MBytes/s, and that's still a lot more than the Zorro II Ethernet cards can deliver. The X-Surf 100 is the fastest Amiga Ethernet card there is.
 

Offline olsen

Re: Expected network throughput on Mediator?
« Reply #1 on: January 05, 2015, 11:16:27 AM »
Quote from: Oldsmobile_Mike;781064
Probably a dumb question, but how is it that a RapidRoad connected to an X-Surf 100 in ZIII can get up to 6-7MB/sec (source:  http://www.fitzstevesamigaworld.co.uk/?p=253 ), but Ethernet only 2.2MB?  Is it all just protocol overhead?  Seems like 2.2MB/sec isn't a bus limitation if RapidRoad can do so much faster through basically the same pipeline. ???
I know very little about how USB actually works, so this is a bit of speculation.

I reckon that the differences come about due to how much work the USB hardware does (as opposed to how much work the CPU has to do in addition to processing the incoming/outgoing data on Ethernet), how much freedom the implementors of the USB stack have (as opposed to the abstract "one size fits all" approach which the Amiga SANA-II network driver standard imposes) and how complex the underlying data transmission protocols are.

The type of Ethernet hardware we have to use for the Amiga is basically a data transport device, which sends or receives data which then has to be processed by software that, for example, has to verify or recalculate checksums, pick the structure of the data apart and make sense of it. This is by design, and not a side-effect. The CPU not only spends time on looking at the data, it also has to copy that data around 2-3 times between the network device and the application software using it. This adds up quickly.

In addition to shuffling the data around that comes and goes through the Ethernet device, the set of protocols which govern how the data flow is adjusted to the available bandwidth, and which detects and handles retransmission of missing data, is performed by the CPU as well. These protocols add a substantial layer of complexity, which is required by the fact that the data has to be able to travel a long way through several intermediate systems if necessary. So there is a lot of slack and elastiticy in these protocols to provide for this robustness, and that is just the opposite of what you would want in a fast data transmission system.

USB only has to cater for a local data bus which attaches peripheral devices such as hard disks or mice to your computer. There is no need to support mice connected to your computer by 10 km cables ;)  Getting the data where it needs to be is also a lot simpler: the source/targets are all located on the same bus, whereas for TCP/IP the source and target could be anywhere on the local network or even the Internet.

Also, USB is likely designed so that the heavy lifting (more than just the basic work of doing error detection, retransmission, etc.) can be handled completely in hardware, with the computer tending only to the mandatory operations, such as handling device detection/removal, changes in the topology of the setup, and of course exchanging data between the computer and whatever is dangling out there.

Because there is nothing like the SANA-II networking standard for the USB stacks, and which today forces Ethernet hardware drivers to ignore all technical advances of the past 25 years, the USB stacks available for the Amiga can talk to the underlying hardware in any manner which they see fit, and which is likely best suited to the task at hand.

Now if you hooked up an Ethernet device to your USB setup, you might see that the overall throughput won't be in the same league as the basic USB data throughput. It would probably be a lot worse than what the X-Surf 100 can do all by itself.
« Last Edit: January 05, 2015, 11:24:36 AM by olsen »
 

Offline olsen

Re: Expected network throughput on Mediator?
« Reply #2 on: January 05, 2015, 03:19:06 PM »
Quote from: Heiroglyph;781074
I read the thread and the documentation carefully, although I may have missed something.
There are two aspects which I hope to have made clear in the documentation: 1) Roadshow ships with reasonably safe defaults which do not necessarily provide best performance and 2) tweaking Roadshow to improve performance is possible and recommended, but it has its limits and drawbacks.

Quote
You do realize that I don't have an X-Surf 100, right? I'm asking about an A4000 Mediator tower with Realtek 8139D 10/100 card.
Yes, I am aware of it. However, the limitations of both the X-Surf 100 and the Realtek card that can be used with the Mediator are sufficiently similar: it's not the network interface, but what surrounds them ;)

TCP/IP network performance on the Amiga is limited by CPU speed, memory performance, network interface performance and TCP/IP stack architecture.

With the older Zorro II based Ethernet cards the limitations imposed by CPU and memory performance were not the bottleneck: the Zorro II bus and the capabilities of the interface (10 MBit/s) were. The TCP/IP stack architecture's limitations were practically irrelevant because the Zorro II bus and the 10 MBit/s Ethernet masked them. With a sufficiently fast CPU and high performance memory you could squeeze as much out of the 10 MBit/s Ethernet interface as the hardware allowed: I've tested this on an A3000T with an 68040 WarpEngine, for which Roadshow delivers almost 10 MBit/s with an Ariadne card.

With the X-Surf 100 and the Mediator the situation changed. The network interface no longer was the bottleneck, but the TCP/IP stack architecture became the limiting factor. All Amiga TCP/IP stacks which trace their lineage back to 4.2/4.3/4.4BSD Unix use intermediate buffers to move data between the application software and the network devices, and that involves up to three copying operations before the data is where it is supposed to be. This impacts the "CPU time budget", restricting how much data you can actually consume or produce in application software. On my test machine (that A3000T with the WarpEngine) I managed to obtain a raw transmission rate of 1.7 MBit/s with both Roadshow and AmiTCP Genesis, at 100% CPU load. If the CPU were faster, the transmission rate would have been higher.

Quote
I have never seen anything stating what can be expected from a Mediator like mine until I found Matt's netio output that I listed above.
I ported the netio tool natively to the Amiga, and rewrote the older tcpspeed tool (written by Holger Kruse for Miami/Miami Deluxe)  so that their measurements would be more accurate, and to cut down on transmission overhead. When I was testing the X-Surf 100 I wanted to be able to reproduce the netio test results I had read about. It turned out that the netio test results vary greatly, up to 40% between subsequent runs, so I would advise caution if you wanted rely exclusively upon them.

If you are using the original netio version, you are using ixemul.library for network operations, so there could be a bit more overhead involved than would be necessary. The netio port I made runs fine without depending upon anything other than bsdsocket.library.

If you are curious how these tools are measuring performance, please contact me via PM. I could send you the tools, with source code, if you like.
« Last Edit: January 05, 2015, 03:27:54 PM by olsen »
 

Offline olsen

Re: Expected network throughput on Mediator?
« Reply #3 on: January 07, 2015, 08:28:03 AM »
Quote from: duga;781153
http://en.wikipedia.org/wiki/Ethernet_frame#Maximum_throughput

http://packetpushers.net/tcp-over-ip-bandwidth-overhead/

"If you add Ethernet (and VLAN tagging) into the mix (see the calculations from Wikipedia here) then the throughput of a 100Mb link is 100 X 0.9733 (TCP/IP efficiency) x 0.9728 (Ethernet (with tagging) efficiency) which equals 94.68Mbps, which I assume means the combined efficiency is 94.68%."
The figures quoted refer to efficiency in terms of bandwidth used by and available for the payload (as opposed to the protocol overhead), and they specifically exclude the work needed to get the data from one place to another, which would also have to account for the effects of memory management in the TCP/IP stack and whatever the operating system has to do at the time.

That is to say the 97% efficiency figure probably does not translate into practical throughput of 97 MBit/s on Fast Ethernet. It's likely a bit lower.
 

Offline olsen

Re: Expected network throughput on Mediator?
« Reply #4 on: January 07, 2015, 03:12:20 PM »
Quote from: psxphill;781184
The question asked was what is the expected network throughput on Mediator, the answer he gave is a theoretical maximum you can push through an Ethernet PHY when you don't have annoying things like a cpu/ram/bus/os to get in the way.
You should include "physics" in that list, too ;)  Signal propagation speed and latency need to be taken into account as well.