Review: Intelligent Multiport Serial Boards
This board truly lives up to its name. The RocketPort gave a very solid performance across all ports and at all speeds, even at 115.2 Kbps. CPU usage in raw and cooked mode were the lowest of all boards, except at 115.2 Kbps (where the throughput was still the highest). Throughput ranked near the top at all speeds, sometimes getting slightly less than the Stallion board, and was the absolute best by a margin of 500-1100 CPS at 115.2 Kbps.
The Cyclom-8Yo gave a somewhat lower performance than the equally-equipped Stallion board. The throughput was nearly always lower, and the CPU usage nearly always higher, compared to the competitors, except at 115.2 Kbps in cooked mode, where the Cyclom bested all boards in CPU usage (but not in throughput) at a surprisingly low 44%. A new version of the driver has been released, in which the CPU handling is improved, but we were unable to test it in time for publication. Throughput also varied irregularly with different port configurations.
The performance of this board was poor at high speeds. CPS throughput was acceptable at 9600 bps, and at 38400 bps in raw mode. At 38400 bps in cooked mode, throughput degraded quickly as more ports were tested. However, Digi does state in their sales literature that 38400 bps is the maximum usage rate for an 8 port board (even though you can run the rate up to 115.2 Kbps) so the results weren't all that surprising. At all speeds, the CPU usage in cooked mode was unusually high, and at high speeds, the board ground the CPU to a screeching halt. In raw mode, CPU usage was actually quite good, but the throughput degraded to unacceptable levels at speeds greater than 38400 bps.
Because of the design similarity of the EasyIO/8 and EasyConnection 8/32, and the fact that my tests on the EasyIO/8 were very close to similar tests done by the driver's developer on an EasyConnection 8/32, the EasyConnection 8/32 was not benchmarked. It is reasonable to assume that results for both boards will be nearly identical in an 8 port configuration.
Overall, the EasyIO/8 did quite well. Throughput at 9600, 38400 and 57600 bps was comparable to the Comtrol RocketPort, sometimes winning by a slight margin. Even at 115.2 Kbps, the board performed quite well in throughput, although CPU usages were higher than the RocketPort's at all speeds. Compared to the Cyclades board, which uses the same UART technology, the EasyIO/8 did higher throughput and generally used less CPU time, except at 115.2 Kbps. The driver must be amazingly tuned to get such high throughput with 12 byte FIFOs. CPS throughput did begin to vary slightly at 115.2 Kbps, but remained steady at other speeds.
Input tests are much harder to do than output tests. Output tests only require one computer, and it's not even necessary to connect any cables. To do input tests properly, you need more equipment. Two computers are needed, each equally equipped and each with the same serial board, of course. These two systems must then be cabled together. One system is then designated as the “producer” system and outputs data, while the other system is designated the “consumer” system and inputs data.
Unfortunately, we lacked sufficient resources to do a good job at this, and so the input tests that were run do not give a worthwhile and reliable indication of the cards' capabilities. We do not want to give questionable test results due to less-than-ideal test conditions, so input test results are not reported here. In future reviews, perhaps we will be able to do meaningful input tests; please tell us if you would find this useful.
1) How much performance do you get for your money?
Throughput and CPU usage are important statistics to consider, besides the price. The Comtrol RocketPort RA boards are hard to beat, both in price and performance. They have the lowest price if you buy the octopus cable version of the board and offer the best overall performance. However, using the connector box makes the RocketPort less price-competitive. The Stallion boards are not bad performance-wise, but the EasyIO/8 is slightly more expensive than the Cyclades and Comtrol boards. The EasyConnection 8/32 is also slightly more expensive, but is a modular board, so the higher price is to be expected. Cyclades boards are quite competitive in the price ranges and are consistently lower-priced than the similar Stallion, but their performance is also slightly lower. The DigiBoard PC/8e is expensive, and performed poorly in our tests. We can only recommend using this board if you have already purchased it.
2) Who supports the driver?
And who can you call when it won't work and you've tried everything? If you are worried about having someone that absolutely has to listen to and fix your problem, then Comtrol and Cyclades have what you need. Cyclades has been backing their Linux drivers for their Cyclom line of boards for almost a year now, and Comtrol is very eager to support their hardware under Linux. In fact, while doing my benchmarking with the Comtrol driver, I discovered a serious performance problem at high speeds. After I contacted the Comtrol engineer with my problem, he immediately began to examine the driver code and confirmed my suspicions. Later that afternoon, he found the driver problem. I had a fixed version of the driver by the next day.
Even though the other engineers and sales personnel at Digi and Stallion were very helpful, there is no substitute for technical support backed by the vendor.
Free DevOps eBooks, Videos, and more!
Regardless of where you are in your DevOps process, Linux Journal can help!
We offer here the DEFINITIVE DevOps for Dummies, a mobile Application Development Primer, and advice & help from the expert sources like:
- Linux Journal
- Users, Permissions and Multitenant Sites
- New Products
- Flexible Access Control with Squid Proxy
- Security in Three Ds: Detect, Decide and Deny
- High-Availability Storage with HA-LVM
- DevOps: Everything You Need to Know
- Tighten Up SSH
- Solving ODEs on Linux
- March 2015 Issue of Linux Journal: System Administration
- Non-Linux FOSS: MenuMeters