My current project that involves hundreds of mini-ITX Atom machines and we are testing the performance difference between Infiniband and Intel Gigabit NICs.
In my testing the overhead of processing TCP is too high for a dual-core Atom. There is simply not enough processing power to handle the capabilities of the Intel NICs.
A possible solution is to replace TCP by using SDP (RDMA and Zerocopy) over Infiniband. Infiniband equipment has come down significantly in price (dual port 4xSDR card for around $50), which makes it attractive to high-performance and cost-sensitive applications like mine.
In theory we can get 4xSDR speeds (8 Gigabit/s), but the tested result is 1.5 Gigabit/s speeds because of TCP processing over Infiniband. This is almost exactly the performance we achieved using the Intel NICs. We then replaced TCP with SDP over Infiniband. With the switch we saw 4.2 Gigabits/s performance on one process. With two processes, one for each core of the Atom, we saw 7.8 Gigabit/s which is close to the theoretical limit of the Infiniband NIC.
X-Swat has not updated their ati packages in a long time which means that Natty users and Maverick users with 2.6.38 (64-bit) cannot run with fglrx video drivers.
In order to get the latest 2.6.38 kernel and fglrx playing nicely together you will need to build these packages yourself.
Custom build procedure:
Cisco’s new line of equipment now use a mini-USB cable for console configuration. There is no longer a need for a USB to serial adapter or a roll-over cable.
Connecting the USB cable on Linux should give you a new ACM device that looks something like this: “/dev/ttyACM0″.
To verify, you can also look through your dmesg or /var/log/messages :
Written by Bret Curtis
[265430.720082] usb 4-1: new full speed USB device using uhci_hcd and address 4
[265430.914246] cdc_acm 4-1:1.0: This device cannot do calls on its own. It is not a modem.
[265430.914305] cdc_acm 4-1:1.0: ttyACM0: USB ACM device
If you want the latest (read bleeding edge) kernel that the Ubuntu developers are working, then have a look here:
Be sure to download the 3 files matching your architecture and install.
I am currently using 2.6.37-rc3-natty which will be the kernel that Natty Narwhal (11.04) will be based on. It just works, everything is detected and there is a noticeable increase in responsiveness.
The Feather or the Anvil?
First a bit of background: I was tasked with created a high level tester for my company’s system. The idea is create 1 or more monkeys to pound away at the company’s product for a very long time. A concurrent parallel programming project with the requirement that it needed to be compatible with 2.6.2 version of Python.
With threading, you get real posix threads (pthread) which works pretty well. They implicitly share state with the parent thread and do not use IPC or messaging. They have low latency and low overall resource footprint.
However there are drawbacks that made further development using threads a real problem. that is the use of signals. Such as threads not handling signals, working with the global interpreter lock (GIL, only one thread allowed to run at a time), and more. Read moreWritten by Bret Curtis