VOGONS


First post, by Grzyb

User metadata
Rank Oldbie
Rank
Oldbie

Once upon a time I've run into this video - https://www.youtube.com/watch?v=3cCznB4KkMY
...in which a VLB NIC turns out to be considerably slower than an ISA one.

But the comparision isn't perfect: the ISA NIC was tested in pure DOS, while the VLB one - in Windows.
Also, the data was downloaded onto a disk - actually, a CF card, very fast by VLB-era standards - but I'm still not convinced...
My preferred procedure when benchmarking the network is to completely avoid any disk I/O - so I'm either downloading to RAM-drive, or to a "/dev/null" kind of device.

Recently I aquired a VLB Ethernet card, based on the same chipset as the one in that video, so let me run benchmarks my way...

Client machine:
CPU: Intel 486DX2-S, 66 MHz
board: Socket 3, 256 KB cache, ISA+VLB
RAM: 16 MB
NIC: D-Link DE-510CAT, based on Am79C965 a.k.a. PCnet-32
OS: MS-DOS 6.20
driver: DEPCNPD.COM 1.10
FTP: mTCP 2020-03-07

Server machine is a modern PC, running Linux.

The procedure is to download a 100 MB file in BINARY mode, using "get test100m.bin nul" command, three times.

BNC port results [KB/s]:

991
989
991

RJ45 port results [KB/s]:

992
993
992

Conclusion:
This card isn't bad at all - it pretty much hits the theoretical limit of 10 Mbps Half Duplex Ethernet.
And its only weakness seems to be the "Half Duplex" part - there's no Full Duplex support.

On the other hand, this card isn't any better than ISA cards, either - any decent 16-bit ISA NIC hits the 10 Mbps limit as well.
And some ISA cards - like the ubiquitous 3C509B - do support Full Duplex, so they can approach the limit somewhat closer.
And there are 100 Mbps cards for ISA, but not for VLB...

Nie tylko, jak widzicie, w tym trudność, że nie zdołacie wejść na moją górę, lecz i w tym, że ja do was cały zejść nie mogę, gdyż schodząc, gubię po drodze to, co miałem donieść.

Reply 1 of 15, by dionb

User metadata
Rank l33t++
Rank
l33t++

Nice write-up - and shame about the lack of 10/100 chipset VLB cards.

I suspect the added value of VLB for Ethernet would be when multi-taksing: ISA can also hit 10Mbps. but only if there's nothing else going on in that ISA bus. VLB should be much more forgiving. Then again, how many people were running true multitasking OSs on VLB systems and actually needing reliable 10Mbps Ethernet throughput back in the day? The rarity of these cards shows how far-fetched that use case is, particularly as the few people doing that in the early 1990s were probably running MCA or EISA system, not VLB 'toys'.

Given all the nice homebrew stuff being made, a 10/100 (or who knows, even Gb?) NIC would be amazing, but given how within the already small retro community the people interested in networks and prioritizing performance over period-correctness is a minority within a minority within a minority, the chances of getting something affordable (even assuming it is theoretically possible with the available chipsets) is slim indeed.

Reply 2 of 15, by Deksor

User metadata
Rank l33t
Rank
l33t

Yeah not to mention that vlb's specification probably deviates a lot from more modern (PCI ?) implementations of a network chip, so I don't know how such a thing could be implemented (unless you want to include a FPGA ? But then it'll increase the complexity of the thing)

Trying to identify old hardware ? Visit The retro web - Project's thread The Retro Web project - a stason.org/TH99 alternative

Reply 3 of 15, by mbbrutman

User metadata
Rank Member
Rank
Member

Interesting .. I'm confused on the half duplex part, as I would expect the card to support full duplex. VLB cards were not cheap, and PCNet32 derived cards should support full duplex.

The BNC and RJ-45 results should always be the same, as it is just a matter of the transceiver that is being used. The RJ-45 port might do better if you connect it to a switch (not a hub) as collisions are impossible with a switch, where they are expected on ThinNet. But that's a feature of the switch that improves the performance, not the connector of the card that is in use.

A good Ethernet card on a fast machine can will saturate the wire ... 10Mb/sec is only 1250KB/sec. I've done the detailed calculations the past, but basically you have the following on the wire:

  • Ethernet preamble and start frame byte: 8 bytes
  • Ethernet header: 14 bytes
  • IP header: 20 bytes w/ no options
  • TCP header: 20 bytes w/ no options
  • Data payload: 1460 (max size)
  • Ethernet CRC: 4 bytes
  • Gap for the next packet: 12 bytes

So you've got 1460 bytes of max payload in 1538 bytes worth of data and framing, for an efficiency of 94.9%. That should get you to around 1186KB/sec, assuming you manage to stuff every bit perfect on the wire. And you need the occasional 64 byte ACK packet back from the other machine, which further reduces your available time on the wire.

One last point about DOS packet drivers - they are primitive. I would expect a VLB card to have a better API for receiving packets, improving the efficiency of the card. It wouldn't be able to drive more data on a 10Mb/sec connection, but it would reduce the load on the machine.

Reply 4 of 15, by BitWrangler

User metadata
Rank l33t++
Rank
l33t++

Considering the era and zeitgeist, probably windows drivers were a lower priority for these than Netware drivers, which would be the target market for local bus NICs at the time.

Unicorn herding operations are proceeding, but all the totes of hens teeth and barrels of rocking horse poop give them plenty of hiding spots.

Reply 5 of 15, by Grzyb

User metadata
Rank Oldbie
Rank
Oldbie
mbbrutman wrote on 2021-11-06, 18:55:

PCNet32 derived cards should support full duplex.

The Am79C965 datasheet only mentions full duplex in loopback mode, for test purposes.
No FD during normal operation.
Same story with its PCI counterpart - Am79C970
Real full duplex was introduced with the second generation of PCnet chips - PCnet-ISA II (Am79C961A), PCnet-PCI II (Am79C970A)

So you've got 1460 bytes of max payload in 1538 bytes worth of data and framing, for an efficiency of 94.9%. That should get you to around 1186KB/sec, assuming you manage to stuff every bit perfect on the wire. And you need the occasional 64 byte ACK packet back from the other machine, which further reduces your available time on the wire.

There's also some FTP overhead, so the file download speed must be a little lower.
I don't have exact results - and I wouldn't trust them too much anyway, as units like KB/KiB/MB/MiB are commonly abused - but, on a fast enough machine, FTP download speeds in Full Duplex are always above 1100 KB/s for 10 Mbps, and above 11 MB/s for 100 Mbps.

Half Duplex results are around 900..1000 KB/s and 9..10 MB/s, and they vary depending on the OS and/or drivers.
Linux obviously doesn't like HD, as shown in another thread - Re: Fast Ethernet on ISA
mTCP seems more tolerant.

Nie tylko, jak widzicie, w tym trudność, że nie zdołacie wejść na moją górę, lecz i w tym, że ja do was cały zejść nie mogę, gdyż schodząc, gubię po drodze to, co miałem donieść.

Reply 6 of 15, by chinny22

User metadata
Rank l33t++
Rank
l33t++

I remember someone else here compared ISA to VLB, I think using cards using the same or at least very similar chip.
I can't remember the exact details, or find the post but they came to the same conclusion, no real difference in speed compared to ISA.

But of course today just the fact it's an "interesting" VLB card rather then a "boring" ISA card is enough of a reason to have one.

Reply 7 of 15, by BitWrangler

User metadata
Rank l33t++
Rank
l33t++

I guess it answers the question. Why do some boards have 3 VLB slots; i/o, VGA and ???

Unicorn herding operations are proceeding, but all the totes of hens teeth and barrels of rocking horse poop give them plenty of hiding spots.

Reply 8 of 15, by Intel486dx33

User metadata
Rank l33t
Rank
l33t

BNC and Coax cables are actually very reliable.
When I was working at a computer education center we had a network technology classroom filled with computers about 30 .
On a Coax network using BNC network connections.

We use to load these computers over the network using hard drive images.
So we would push out hard drive images over the network to 30 computers at once over the Coax network.
The installations completed fine with no failures. So the Coax network is very reliable.

These were about 1gb hard drive images so ( 1gb x 30 = 30gb ).
It took about 1 hour to complete because these are old slow hard drives.
Seagate 2gb 5400rpm drives and the CPU’s in these computers were old too 50mhz. and 75mhz.
With only about 32mb RAM. I think the slow computers were the bottle neck and not the network.

Last edited by Intel486dx33 on 2021-11-10, 14:41. Edited 2 times in total.

Reply 9 of 15, by dionb

User metadata
Rank l33t++
Rank
l33t++
Intel486dx33 wrote on 2021-11-10, 12:20:
BNC and Coax cables are actually very reliable. When I was working at a computer education center we had a network technology cl […]
Show full quote

BNC and Coax cables are actually very reliable.
When I was working at a computer education center we had a network technology classroom filled with computers about 30 .
On a Coax network using BNC network cards.

We use to load these computers over the network using hard drive images.
So we would push out hard drive images over the network to 30 computers at once over the Coax network.
The installations completed fine with no failures. So the Coax network is very reliable.

Very reliable until one of the cables in the middle gets slightly damaged and you start getting intermittent packet loss. Good luck tracing the fault... bus topoligies are awful when it comes to isolating problems. There's a reason everybody uses star topology for LANs.

Reply 10 of 15, by Intel486dx33

User metadata
Rank l33t
Rank
l33t
dionb wrote on 2021-11-10, 12:30:
Intel486dx33 wrote on 2021-11-10, 12:20:
BNC and Coax cables are actually very reliable. When I was working at a computer education center we had a network technology cl […]
Show full quote

BNC and Coax cables are actually very reliable.
When I was working at a computer education center we had a network technology classroom filled with computers about 30 .
On a Coax network using BNC network cards.

We use to load these computers over the network using hard drive images.
So we would push out hard drive images over the network to 30 computers at once over the Coax network.
The installations completed fine with no failures. So the Coax network is very reliable.

Very reliable until one of the cables in the middle gets slightly damaged and you start getting intermittent packet loss. Good luck tracing the fault... bus topoligies are awful when it comes to isolating problems. There's a reason everybody uses star topology for LANs.

Well. It depends on what type of computers, network cards and protocols you are using too.
Apple talk
IBM Token ring.
IPX/SPX
Etc….

When you are teaching a network technology class of the 1990’s you are teaching all types of physical network media, topologies, and protocols. These computers also had an 10-base-t Ethernet star topology network connection.

Reply 11 of 15, by Grzyb

User metadata
Rank Oldbie
Rank
Oldbie
Intel486dx33 wrote on 2021-11-10, 12:20:

These were about 1gb hard drive images so ( 1gb x 30 = 30gb ).
It took about 20 minutes to complete because these are old slow hard drives.

Must be some mistake...
30 GB / 1200 s = 25 MB/s
Coax was used for 10 Mbps = 1.25 MB/s in theory, in practice... see earlier posts, and know that they were about ideal conditions - only two stations in the collision domain.
With more stations transmitting, actual LAN throughput is much lower due to collisions.

The original Ethernet was based on collision detection, not collision avoidance.
On the other hand, Token Ring did avoid collisions, which resulted in much better performance under heavy load.
I reckon Arcnet did some token passing as well.

Nie tylko, jak widzicie, w tym trudność, że nie zdołacie wejść na moją górę, lecz i w tym, że ja do was cały zejść nie mogę, gdyż schodząc, gubię po drodze to, co miałem donieść.

Reply 12 of 15, by Grzyb

User metadata
Rank Oldbie
Rank
Oldbie
Intel486dx33 wrote on 2021-11-10, 12:20:

These were about 1gb hard drive images so ( 1gb x 30 = 30gb ).
It took about 1 hour to complete because these are old slow hard drives.

Still can't believe it...
That would be 8.333 MB/s...
well, maybe all those disks were actually mostly empty?

Nie tylko, jak widzicie, w tym trudność, że nie zdołacie wejść na moją górę, lecz i w tym, że ja do was cały zejść nie mogę, gdyż schodząc, gubię po drodze to, co miałem donieść.

Reply 13 of 15, by Intel486dx33

User metadata
Rank l33t
Rank
l33t

Yes, theses were new installs on 2gb hard drive disk.
The image was about 1gb.

It depended on the class that was being taught.
Some hard drive images were only about 500mb.
Also IPX/SPX is faster and lighter on the network so it may provide for faster transfer speeds.

Attachments

Last edited by Intel486dx33 on 2021-11-10, 14:21. Edited 1 time in total.

Reply 14 of 15, by Grzyb

User metadata
Rank Oldbie
Rank
Oldbie

Perhaps there was some compression, at least simple skipping of all-zero sectors?
A disk image may be 1 GB, but if the files within only occupy 100 MB, then a good imaging software can save a lot on network usage...

Nie tylko, jak widzicie, w tym trudność, że nie zdołacie wejść na moją górę, lecz i w tym, że ja do was cały zejść nie mogę, gdyż schodząc, gubię po drodze to, co miałem donieść.

Reply 15 of 15, by Intel486dx33

User metadata
Rank l33t
Rank
l33t
Grzyb wrote on 2021-11-10, 13:39:

Perhaps there was some compression, at least simple skipping of all-zero sectors?
A disk image may be 1 GB, but if the files within only occupy 100 MB, then a good imaging software can save a lot on network usage...

Yes, For Windows installs we used a Computer with Pentium 100 CPU, 32mb ram, and external SCSI Disk array with 48gb of storage.
This is where we stored the hard drive images and used this computer to push out the images.

But you are right. A good file compress software and package script could save on image size and network traffic.