January 16, 2001, 3:15 PM — Smart network interface cards that off-load network transactions from server CPUs are drawing interest as vendors claim that giving servers more power is as simple as swapping your NIC.
We tested this performance boosting theory by taking a look at one of these smart cards from Alacritech.
To measure the gains the Alacritech smart card yields, we ran our standard server performance tests with and without the Alacritech NIC. There was an improvement of between 2.5% and 16% when the Alacritech four-port NIC was stacked up against four Intel Pro100+ NICs. Not a bad improvement, but whether the improvement is worth the extra money -- the Alacritech cards cost twice as much as the Intel cards that came with our server -- depends on how you use your server and how badly you need better performance.
The biggest performance gain occurred with large file server transfers; while there was virtually no gain when we tested lots of small, database transactions.
The Alacritech NIC comes in two- or four-port configurations -- the Alacritech 100x2 and 100x4, respectively. We tested the Alacritech 100x4. Both products support 10M or 100M bit/sec Ethernet in half- or full-duplex mode. At the time of testing, the Alacritech NICs supported Windows NT, with Windows 2000 and Linux drivers in the works.
The Alacritech NIC implements TCP in hardware on an Application Specific Integrated Circuit the company calls an Internet Protocol Processor (IPP). This IPP sends a processed TCP stream directly to the server RAM, reducing the amount of work handled by the server's processor.
Because the code to implement TCP is complicated, Alacritech reduced the code to handle only TCP sessions once they were set up. The server's CPU handles all other TCP processing, including TCP session setup and teardown, timeouts and error conditions. Alacritech justifies the smart card not off-loading all TCP processes by noting the TCP exceptions make up as little as 5% of network traffic.
The Alacritech NIC does nothing to help User Datagram Protocol (UDP) or any other non-TCP transaction performance. For example, the Alacritech card won't help your server with most streaming video, multicast or voice-over-IP applications.
Nonetheless, Alacritech claims this architecture improves server performance by significantly reducing the number of CPU interrupts.
Although most of our performance testing showed little or no improvement in server performance with the addition of the smart NIC, a couple of our tests -- those that simulate large file server transactions -- did show a significant performance gain. If your server operates under the conditions represented by these tests, the additional cost of the Alacritech may be justified.