Benchmarks of Several MCA Token Ring Network Interface Cards

Introduction

Like most people, I like to work with high quality tools that are made to last. Computer systems with Micro Channel Architecture (MCA) are high quality tools. They were made for professional use. With respect to network support this is true in particular.
I'm happy to say, that I own some of these systems. Now I would like to find out, how far network data transfer can be pushed using token ring hardware. Apart from that I would like to know, whether the token ring switch I use (Madge Smart Deskstream) is able to bridge data transfer to ethernet without loss. Token ring hardware is potentially more powerful than contemporary ethernet hardware. I'm curious about browsing the internet with an IBM 9595 in the year 2012 from within a token ring network.
It's astounding to see, how many operating systems the user was able to choose from in the mid nineties for his x86 micro channel system. It would be interesting to see, which operating system would make the best use of token ring hardware. Purely on my convenience, I will confine to Windows NT, the operating system I'm working with since 1997, involuntarily first (since I was a satisfied NetWare user), absolutely voluntary later. Only one more operating system is involved here: OS/2. With OS/2 IBM can demonstrate the performance of token ring technology with its own hard- and software.
(For those folks more related to Unix systems I made an addendum here.)
Testing is made with hardware from the years 1989 to 1997. The scale for the results should be technology of the same period. I know, that today's mobile phones have more processing and more networking power than an IBM 9595. But that is irrelevant for my purpose.
A project of Alfred Arnold which he made with MCA ethernet adapter cards has inspired me for this work. Since I like it, I adopt the plain style of his web site. Hopefully he has nothing against it.
For all errors you will find here, I'm the one to blame for. This inquiry was not made to clear things out for good and all. It was made to give an idea, what micro channel token ring hardware is capable of.

The Lab

In the words of Alfred Arnold, the best network card is the one you can get hold of. Token ring cards are relative easy to get hands on, at least in the year 2012. They are incompatible with dominant ethernet, so nobody wants them.
My cards are working with 16 Mb/s (megabits per second). This equals to the data throughput's theoretical maximum of 2 MB/s (megabyte per second). There is one exception: IBM Auto LANStreamer MC 32. It supports Token Transmit Immediate Access Protocol (TKI), which means it is able to send and receive data simultaneously in a dedicated connection to the Token Ring switch. In a Dedicated Token Ring (DTR) connection TKI - or Full Duplex - allows a maximal throughput of 32 Mb/s (= 4 MB/s). Having said that, it sends and receives data with 2 MB/s each. In the following Full-Duplex is used to label this feature.

Seven token ring network cards are available and will be tested:

Network Interface Card 16 Bit MCA 32 Bit MCA MCA Streaming Full Duplex ADF Options
IBM Token-Ring 16/4 MC Adapter:
16F1144, Firmware from1989
53F7748, Firmware from 1990
74F9415, Firmware from 1994

yes




32KB RAM Window Enabled

IBM LANStreamer MC 32


yes

yes


Fairness ON/Streaming ON

IBM Auto LANStreamer MC 32


yes

yes

yes

Streaming Data Enabled, Fairness ON

Madge Smart 16/4 MC Ringnode


yes



Delayed Release (Fair)
Immediate Release (Fair)

Madge Smart 16/4 MC 32 Ringnode


yes

yes


Streaming Enabled (Fair)

After the first tests I noticed a significant variation of data rates according to the device driver version in use. So I decided to test all the device driver versions I know.

Network Interface Card Microsoft IBM Madge Source
IBM Token-Ring 16/4 MC Adapter:
16F1144, Firmware from1989
53F7748, Firmware from 1990
74F9415, Firmware from 1994

4.0



Windows NT 4.0 Operating System CD

IBM LANStreamer MC 32


3.01


Windows NT 4.0 Operating System CD

IBM LANStreamer MC 32


3.04


TRPALS4.EXE

IBM LANStreamer MC 32


3.06


TRMALS2.EXE

IBM Auto LANStreamer MC 32


3.01


Windows NT 4.0 Operating System CD

IBM Auto LANStreamer MC 32


3.04


TRPALS4.EXE

IBM Auto LANStreamer MC 32


3.06


TRMALS2.EXE

IBM Auto LANStreamer MC 32


5.23


NDIS34.EXE

Madge Smart 16/4 MC Ringnode



2.04.30

Windows NT 4.0 Operating System CD

Madge Smart 16/4 MC Ringnode



2.21

Madge LAN Support Software 5.0(2)

Madge Smart 16/4 MC 32 Ringnode



2.04.30

Windows NT 4.0 Operating System CD

Madge Smart 16/4 MC 32 Ringnode



2.21

Madge LAN Support Software 5.0(2)

A Madge Smart Deskstream serves as the ring switch. Built-in is a link module, which connects the token ring to a 100 Mb/s full-duplex ethernet network. The tested connection between switch and token ring end station is always a Dedicated Token Ring (DTR).

NETIO version 1.3.1 from Kai Uwe Rommel will test the card's data throughput. Measurements will be given in KB/s (kilobyte per second). 2 MB/s equals 2000.00 KB/s. With six data packets of different size the transmitting capacity of the client computer will be determined. All test runs were done ten times and averaged.
Those many values will make it difficult to compare between the cards. To receive a performance succession, I have averaged the six transmitting capacity values also. You will get the point why below.

To achieve comparable preconditions, all platforms are adjusted to the following values:

  • TCP Receive Window Size (RWIN): 65535
  • Maximum Transmission Unit (MTU): 1500

Four platforms will be tested.

  • LIRA: AT&T system 3325
    486er Desktop, Pentium Overdrive 83MHz, 0KB Second Level Cache, 64MB RAM, ATI Ultra+, NCR 53C94 SCSI, 4GB IBM SCSI hard disk
    Windows NT 4.0
  • DIME: IBM 9595
    Pentium Tower, MCA Streaming, Pentium 90 MHz, 256KB Second Level Cache, 64MB RAM, ATI Graphics Ultra Pro, IBM Fast/Wide SCSI, 1GB IBM Fast SCSI hard disk
    OS/2 Warp 4
  • THALER: IBM 9595
    Pentium Tower, MCA Streaming, Pentium 90 MHz, 256KB Second Level Cache, 256MB RAM, IBM XGA2, IBM Fast/Wide SCSI, 1GB IBM Fast SCSI hard disk
    Windows NT 4.0
  • TALENT: ACER 7730
    Notebook, Intel T6570, Broadcom NetXtreme Gigabit Ethernet, 3GB RAM, 250GB SATA hard disk
    Windows 7

The NETIO server task on the ethernet side of the network will be done by TALENT. Regarding TALENT's network bandwidth, the micro channel computer's data throughput will not be braked.

I had problems to measure the CPU load of NETIO's test program accurately. The only available tools I had were Windows NT task manager and process monitor (pmon.exe) or OS/2 CPU load panel. Because of this, I will give approximated values according to the following list:

NETIO CPU Load Rating
roughly under 50%(10%-60%)

low

roughly about 50%(20%-70%)

middle

roughly under 80%(60%-90%)

high

roughly over 80% (80%-90%)

cruel

CPU load is particularly high at transmissions up to 4 KB/s. From 8 KB/s up it scales down significantly. Here, "low" rating means up to 60% CPU load at 1 KB/s, 2 KB/s and 4 KB/s and up to 20% CPU load at 8 KB/s, 16 KB/s and 32 KB/s transmissions. "Cruel" rating means, that almost every network access claims the whole CPU's processing power.

Test Scores

I. Data Transfer Rates on the Token Ring Network

First we need a reference value of the token ring network segment's data throughput. For that purpose I will use (since it supports Token Transmit Immediate Access Protocol) the most capable network card of IBM's streamer family - AutoLANStreamer MC32 - inside the most capable x86 micro channel computer I can offer - IBM 9595. The first attempt will be a test of OS/2 against Windows NT. The OS/2 device driver is part of the OS/2 Warp 4 Convenience Pack 2.

NETIO client: DIME (OS/2, token ring segment)
NETIO server: THALER (WinNT, token ring segment)

Network Interface Card Device Driver Full Duplex 1K Packets (KB/s) 2K Packets (KB/s) 4K Packets (KB/s) 8K Packets (KB/s) 16K Packets (KB/s) 32K Packets (KB/s) CPU Load
IBM Auto LANStreamer MC 32

IBM 4.54

yes

1712.22

1711.52

1718.31

1724.13

1724.03

1721.65

low

Average is 1.718,64 KB/s. That is 85.9% of the theoretical maximum throughput.

Now vice versa: Windows NT against OS/2

NETIO client: THALER (WinNT, token ring segment)
NETIO server: DIME (OS/2, token ring segment)

Network Interface Card Device Driver Full Duplex 1K Packets (KB/s) 2K Packets (KB/s) 4K Packets (KB/s) 8K Packets (KB/s) 16K Packets (KB/s) 32K Packets (KB/s) CPU Load
IBM Auto LANStreamer MC 32

IBM 3.01

yes

1859.80

1869.28

1863.81

1868.71

1869.29

1873.70

middle

Average is here 1876.43 KB/s or 93.4% of the theoretical maximum throughput. Both tests are made using the out of the box device drivers.

II. Data Transfer Rates on a Token Ring to Ethernet Bridge Network

Now we will check the Smart Deskstream's ability to bridge data transfer to ethernet without loss.

NETIO client: DIME (OS/2, token ring segment)
NETIO server: TALENT (Win7, ethernet segment)

Network Interface Card Device Driver Full Duplex 1K Packets (KB/s) 2K Packets (KB/s) 4K Packets (KB/s) 8K Packets (KB/s) 16K Packets (KB/s) 32K Packets (KB/s) CPU Load
IBM Auto LANStreamer MC 32

IBM 4.54

yes

1717.00

1717.54

1719.27

1720.12

1720.27

1720.06

low

NETIO client: THALER (WinNT, token ring Segment)
NETIO server: TALENT (Win7, ethernet segment)

Network Interface Card Device Driver Full Duplex 1K Packets (KB/s) 2K Packets (KB/s) 4K Packets (KB/s) 8K Packets (KB/s) 16K Packets (KB/s) 32K Packets (KB/s) CPU Load
IBM Auto LANStreamer MC 32

IBM 3.01

yes

1871.48

1871.19

1871.76

1871.71

1871.53

1876.54

middle

Madge Smart Deskstream transfers data from OS/2 with 86.0% (1719.04 KB/s), from Windows NT with 93.6% (1872.37 KB/s) of the theoretical maximum throughput. With that said, Smart Deskstream bridge function gains slightly at the data transfer rate. From now on TALENT will do the task as NETIO server.
In relation to Windows NT OS/2 has a lower data throughput at the token ring interface but it has the lower CPU load too. In several aspects a computer system benefits from a lower CPU load. It allows the processor to compute other tasks faster and accelerates other system devices. For that reason the average of OS/2 will be the reference value of the token ring network data throughput: 1719.04KB/s.

III. Data Transfer Rates on a 486 Class Platform

The third test checks the token ring data throughput on LIRA, a 486 AT&T system.

NETIO client: LIRA (WinNT)

Network Interface Card Device Driver Full Duplex 1K Packets (KB/s) 2K Packets (KB/s) 4K Packets (KB/s) 8K Packets (KB/s) 16K Packets (KB/s) 32K Packets (KB/s) CPU Load
IBM Token Ring 16/4 Adapter /A 16F1144

Microsoft 4.0


543.71

549.79

556.53

568.76

574.51

577.86

high

IBM Token Ring 16/4 Adapter /A 53F7748

Microsoft 4.0


623.29

632.85

642.36

656.38

660.52

668.97

high

IBM Token Ring 16/4 Adapter /A 74F9415

Microsoft 4.0


660.57

672.14

679.08

694.61

701.54

705.65

high

IBM LANStreamer MC 32

IBM 3.01


1168.45

1263.60

1650.50

1796.21

1820.30

1825.97

cruel

IBM LANStreamer MC 32

IBM 3.04


1182.06

1299.97

1371.96

1391.56

1396.36

1417.65

high

IBM LANStreamer MC 32

IBM 3.06


1173.74

1274.91

1378.99

1392.30

1399.62

1415.32

high

IBM Auto LANStreamer MC 32

IBM 3.01


1207.85

1310.36

1709.54

1816.88

1820.36

1827.02

cruel

IBM Auto LANStreamer MC 32

IBM 3.01

yes

1127.56

1225.22

1625.16

1804.94

1866.91

1874.82

cruel

IBM Auto LANStreamer MC 32

IBM 3.04


1181.99

1281.50

1371.97

1392.65

1399.85

1415.45

cruel

IBM Auto LANStreamer MC 32

IBM 3.04

yes

1082.45

1235.28

1222.23

1264.88

1275.37

1289.06

cruel

IBM Auto LANStreamer MC 32

IBM 3.06


1161.80

1271.93

1374.10

1392.51

1369.82

1411.41

high

IBM Auto LANStreamer MC 32

IBM 3.06

yes

1078.99

1246.30

1219.51

1261.65

1273.30

1288.41

high

IBM Auto LANStreamer MC 32

IBM 5.23


1022.32

1042.24

1075.30

1118.72

1126.25

1147.74

cruel

IBM Auto LANStreamer MC 32

IBM 5.23

yes

1139.48

1171.90

1205.19

1244.44

1213.54

1245.93

cruel

Madge Smart Ringnode 16/4 MC
Immediate Release (Fair)

Madge 2.04.30


813.42

871.12

998.56

1044.47

1083.90

1110.92

cruel

Madge Smart Ringnode 16/4 MC

Madge 2.21


766.25

814.65

937.66

977.34

1007.93

1035.36

high

Madge Smart Ringnode 16/4 MC 32

Madge 2.04.30


1266.86

1385.65

1709.45

1767.44

1798.62

1784.51

cruel

Madge Smart Ringnode 16/4 MC 32

Madge 2.21


1223.44

1285.79

1606.98

1744.12

1766.77

1769.02

cruel

CPU load is very high for all network cards, particularly for 1 KB/s and 2 KB/s data packets. 486 system environment seems to be the data rate bottleneck. Even a Pentium Overdrive processor cannot compensate for that. The close relation between CPU load and data throughput is clearly recognizable for the busmaster network cards. 1 KB/s and 2 KB/s packets require the whole CPU power. When packet size reaches 8 KB/s and more the cards are working with higher data rates. IBM's device driver development becomes more understandable against this background. At first sight data throughput seems more worse the later the driver is. Effectively, the later device drivers increase data throughput for 1 KB/s and 2 KB/s data packets.
Madge seems to suffer from device driver problems too but - as against IBM - it leads only to a moderate cut down of the data throughput. Smart Ringnode 16/4 MC will not work with device driver version 2.04.30 if burst mode is set to "Delayed Release (Fair)" (default) and has to be adjusted to "Immediate Release (Fair)".
To my surprise data throughput is poor for the 16Bit network cards. 560 KB/s transmission performance is good for a 1989 network card, but the 1994 network card is clearly below contemporary ethernet network card's transmission performance.

And now sequenced (index 100.0= 1719.04 KB/s, IBM Auto LANStreamer MC 32, OS/2):

Network Interface Card Device Driver Full Duplex CPU Load Average (KB/s) Index
IBM Token Ring 16/4 Adapter /A 16F1144

Microsoft 4.0


high

561.86

32.7

IBM Token Ring 16/4 Adapter /A 53F7748

Microsoft 4.0


high

647.40

37.7

IBM Token Ring 16/4 Adapter /A 74F9415

Microsoft 4.0


high

685.60

39.9

Madge Smart Ringnode 16/4 MC

Madge 2.21


high

923.20

53.7

Madge Smart Ringnode 16/4 MC
Immediate Release (Fair)

Madge 2.04.30


cruel

987.07

57.4

IBM Auto LANStreamer MC 32

IBM 5.23


cruel

1088.76

63.3

IBM Auto LANStreamer MC 32

IBM 5.23

yes

cruel

1203.41

70.0

IBM Auto LANStreamer MC 32

IBM 3.06

yes

high

1228.03

71.4

IBM Auto LANStreamer MC 32

IBM 3.04

yes

cruel

1228.21

71.4

IBM LANStreamer MC 32

IBM 3.01


cruel

1283.18

74.6

IBM Auto LANStreamer MC 32

IBM 3.06


high

1330.26

77.4

IBM LANStreamer MC 32

IBM 3.06


high

1339.15

77.9

IBM Auto LANStreamer MC 32

IBM 3.04


cruel

1340.57

78.0

IBM LANStreamer MC 32

IBM 3.04


high

1343.26

78.1

Madge Smart Ringnode MC 32

Madge 2.21


cruel

1566.02

91.1

IBM Auto LANStreamer MC 32

IBM 3.01

yes

cruel

1587.44

92.3

IBM Auto LANStreamer MC 32

IBM 3.01


cruel

1615.34

94.0

Madge Smart Ringnode MC 32

Madge 2.04.30


cruel

1618.76

94.2

IV. Data Transfer Rates on a Pentium Class Platform

The fourth test checks the token ring data throughput on an IBM Pentium system.

NETIO client: THALER (WinNT)

Network Interface Card Device Driver Full Duplex 1K Packets (KB/s) 2K Packets (KB/s) 4K Packets (KB/s) 8K Packets (KB/s) 16K Packets (KB/s) 32K Packets (KB/s) CPU Load
IBM Token Ring 16/4 Adapter /A 16F1144

Microsoft 4.0


598.73

600.04

595.48

600.52

598.96

601.04

low

IBM Token Ring 16/4 Adapter /A 53F7748

Microsoft 4.0


688.10

695.71

675.79

704.39

698.74

698.69

low

IBM Token Ring 16/4 Adapter /A 74F9415

Microsoft 4.0


867.09

877.34

884.52

904.44

855.71

858.99

low

IBM LANStreamer MC 32

IBM 3.01


1821.91

1822.15

1822.65

1822.10

1821.56

1826.95

middle

IBM LANStreamer MC 32

IBM 3.04


1600.05

1590.64

1581.34

1599.02

1523.14

1520.40

low

IBM LANStreamer MC 32

IBM 3.06


1592.38

1583.53

1609.67

1596.41

1534.65

1519.34

low

Madge Smart Ringnode 16/4 MC

Madge 2.04.30


1587.98

1495.02

1591.80

1601.77

1582.67

1551.24

low

Madge Smart Ringnode 16/4 MC

Madge 2.21


1512.34

1518.61

1532.02

1537.66

1547.32

1501.43

low

Madge Smart Ringnode MC 32

Madge 2.04.30


1816.67

1815.87

1811.90

1816.81

1811.82

1790.84

low

Madge Smart Ringnode MC 32

Madge 2.21


1816.34

1814.95

1805.69

1815.28

1811.97

1759.18

low

IBM Auto LANStreamer MC 32

IBM 3.01


1821.75

1821.31

1822.09

1821.17

1822.36

1827.25

middle

IBM Auto LANStreamer MC 32

IBM 3.01

yes

1871.48

1871.19

1871.76

1871.71

1871.53

1876.54

middle

IBM Auto LANStreamer MC 32

IBM 3.04


1588.68

1591.43

1606.61

1596.55

1526.17

1509.48

low

IBM Auto LANStreamer MC 32

IBM 3.04

yes

1447.59

1478.25

1500.23

1560.40

1485.71

1459.53

low

IBM Auto LANStreamer MC 32

IBM 3.06


1601.04

1601.57

1619.61

1606.93

1534.24

1520.59

low

IBM Auto LANStreamer MC 32

IBM 3.06

yes

1476.86

1496.45

1489.99

1576.09

1490.20

1466.91

low

IBM Auto LANStreamer MC 32

IBM 5.23


1333.60

1361.81

1399.61

1433.95

1399.03

1362.93

low

IBM Auto LANStreamer MC 32

IBM 5.23

yes

1483.15

1513.27

1525.43

1584.92

1504.93

1450.91

low

Data throughput at different packet size is at par now, which means, the Pentium 90 MHz CPU is powerful enough to saturate the busmaster adapter's CPU load. But that's not good enough for IBM. Its Streamer Family device drivers performance lag far behind Madge Smart Ringnode device driver performance.
Both of the 16 bit long token ring adapters have reached their performance limit on the 486 platform already. The short 16 bit token ring gains nearly 200 KB/s, but still remains behind contemporary ethernet adapter performance.
Madge's non streaming Ringnode does a 500 KB/s leap. Its burst mode now reaches the performance level of the micro channel streaming capable cards.

Again sequenced (index 100.0= 1719.04 KB/s, IBM Auto LANStreamer MC 32, OS/2):

Network Interface Card Device Driver Full Duplex CPU Load Average (KB/s) Index
IBM Token Ring 16/4 Adapter /A 16F1144

Microsoft 4.0


low

599.13

34.9

IBM Token Ring 16/4 Adapter /A 53F7748

Microsoft 4.0


low

693.57

40.3

IBM Token Ring 16/4 Adapter /A 74F9415

Microsoft 4.0


low

874.68

50.9

IBM Auto LANStreamer MC 32

IBM 5.23


low

1381.82

80.4

IBM Auto LANStreamer MC 32

IBM 3.04

yes

low

1488.62

86.5

IBM Auto LANStreamer MC 32

IBM 3.06

yes

low

1499.42

87.2

IBM Auto LANStreamer MC 32

IBM 5.23

yes

low

1510.44

87.8

Madge Smart Ringnode 16/4 MC

Madge 2.21


low

1524.90

88.7

Madge Smart Ringnode 16/4 MC

Madge 2.04.30


low

1568.41

91.2

IBM LANStreamer MC 32

IBM 3.04


low

1569.10

91.3

IBM Auto LANStreamer MC 32

IBM 3.04


low

1569.82

91.3

IBM LANStreamer MC 32

IBM 3.06


low

1572.66

91.5

IBM Auto LANStreamer MC 32

IBM 3.06


low

1580.66

92.0

Madge Smart Ringnode MC 32

Madge 2.21


low

1803.90

104.9

Madge Smart Ringnode MC 32

Madge 2.04.30


low

1810.65

105.3

IBM Auto LANStreamer MC 32

IBM 3.01


middle

1822.66

106.0

IBM LANStreamer MC 32

IBM 3.01


middle

1822.89

106.0

IBM Auto LANStreamer MC 32

IBM 3.01

yes

middle

1872.37

108.9

Conclusions

And the winner is ... ?

... for me Madge Smart Ringnode MC 32 for the half-duplex cards. Its latest device driver's data rate is 20% higher than IBM streamer family's at the same low CPU load. For workstation use, the higher CPU load of IBM's device driver version 3.01 shouldn't be a big problem.

There is is a lack of competition for the full-duplex cards. So nothing exceeds IBM's Auto LANStreamer MC 32.

Compared with 10 Mb/s ethernet network interface cards, data throughput of the busmaster token ring cards is 40% higher. To make use of this advantage effectively you will need a Pentium system. For me this is all the more surprising, considering busmaster adapter cards are made to take off the CPU load.

Collision free transmission in a half-duplex network is the most important advantage of token ring in relation to ethernet networking. Higher CPU load seems to be the price for it. Today a half-duplex ethernet segment can be separated from a full-duplex ethernet segment with the help of a network switch. So collisions of data packets shouldn't be a big problem any more. Looked at it that way, I wouldn't make use of a token ring network card inside 486 or weaker computer system.
If - for certain reasons - token ring is a must, my choice for a 486 system would be IBM LANStreamer MC32 together with device driver version 3.04, because it has a little less CPU load than Madge Smart Ringnode MC32. For a Pentium system any Streamer Family adapter or Smart Ringnode is perfect.

There is one thing I'm sure about. If you have the choice between an ethernet card and an IBM Token Ring 16/4 Adapter/A, take the ethernet card.

And yes, the IBM 9595 works snappier on the internet with a working Auto LANStreamer inside... ;-)


© 2016 Wolfgang Gehl


9595 Main Page