Technology behind the Killer NIC

We will not be spending several pages and displaying numerous charts in an attempt to explain in absolute detail how the networking architecture and technology operates. Instead we will provide a high level technology overview in our explanations, which will hopefully provide the basic information needed to show why there are advantages in offloading the data packet processing from the CPU to a dedicated processing unit. Other technologies such as RDMA and Onloading are available but in the interest of space and keeping our readers awake we will not detail these options.

The basic technology the Killer NIC utilizes has been in the corporate server market for a few years. One of the most prevalent technologies utilized and the one our Killer NIC is based upon is the TCP/IP Offload Engine (TOE). TOE technology (okay that phrase deserves a laugh) is basically designed to offload all tasks associated with protocol processing from the main system processor and move it to the TOE network interface cards (TNIC). TOE technology also consists of software extensions to existing TCP/IP stacks within the operating system that enable the use of these dedicated hardware data planes for packet processing.

The process required to place packets of data inside TCP/IP packets can consume a significant amount CPU cycles dependent upon the size of the packet and amount of traffic. These dedicated cards have proven very effective in relieving TCP/IP packet processing from the CPU resulting in greater system performance from the server. The process allows the system's CPU to recover lost cycles so that applications that are CPU bound are now unaffected by TCP/IP processing. This technology is very beneficial in a corporate server or datacenter environment where there is a heavy volume of traffic that usually consists of large blocks of data being transferred, but does it really belong on your desktop where the actual CPU overhead is generally minimal? Before we address this question we need to take a further look at how the typical NIC operates.

The standard NIC available today usually processes TCP/IP operations in software that can create a substantial system overhead depending upon the network traffic on the host machine. Typically the areas that create increased system overhead are data copies along with protocol and interrupt processing. When a NIC receives a typical data packet, a series of interactions with the CPU begins which will handle the data and route it to the appropriate application. The CPU is first notified there is a data packet waiting and generally the processor will read the packet header and determine the contents of the data payload. It then requests the data payload and after verifying it, delivers it to the waiting application.

These data packets are buffered or queued on the host system. Depending upon the size and volume of the packets this constant fetching of information can create additional delays due to memory latencies and/or poor buffer management. The majority of standard desktop NICs also incorporate hardware checksum support and additional software enhancements to help eliminate transmit-data copies. This is advantageous when combined with packet prioritization techniques to control and enhance outbound traffic with intelligent queuing algorithms.

However, these same NICs cannot eliminate the receive-data copy routines that consume the majority of processor cycles in this process. A TNIC performs protocol processing on its dedicated processor before placing the data on the host system. TNICs will generally use zero-copy algorithms to place the packet data directly into the application buffers or memory. This routine bypasses the normal process of handshakes between the processor, NIC, memory, and application resulting in greatly reduced system overhead depending upon the packet size.

Most corporate or data center networks deal with large data payloads that typically are 8 Kbit/sec up to 64 Kbit/sec in nature (though we fully understand this can vary greatly). Our example will involve a 32 Kbit/sec application packet receipt that usually results in thirty or more interrupt-generating events between the host system and a typical NIC. Each of these multiple events are required to buffer the information, generate the data into Ethernet packets, process the incoming acknowledgements, and send the data to the waiting application. This process basically reverses itself if a reply is generated by the application and returned to the sender. This entire process can create significant protocol-processing overhead, memory latencies, and interrupt delays on the host system. We need to reiterate that our comments about "significant" system overhead are geared towards a corporate server or datacenter environment and not the typical desktop.

Depending upon the application and network traffic a TNIC can greatly reduce the network transaction load on the host system by changing the transaction process from one event per Ethernet packet to one event per application network I/O. The 32 Kbit/sec application packet process now becomes a single data-path offload process that moves all data packet processing to the TNIC. This eliminates the thirty or so interrupts along with the majority of system overhead required to process this single packet. In a data center or corporate server environment with large content delivery requirements to multiple users the savings in system overhead due to network transactions can have a significant impact. In some instances replacing a standard NIC in the server with a TNIC almost has the same effect as adding another CPU. That's an impressive savings in cost and power requirements, but once again is this technology needed on the desktop?

BigFoot Networks believes it is and we will see what they have to say about it and their technology next.

Index Killer NIC Technology
Comments Locked

87 Comments

View All Comments

  • LoneWolf15 - Tuesday, October 31, 2006 - link

    Almost forgot my one other point: As others have said, Vista's TCP stack is completely different. If the Killer NIC is designed largely around the way previous versions of Windows work, even with Vista drivers it could turn out to be a high-priced piece of hardware that functions no better than a regular PCI nic.
  • TonyB - Tuesday, October 31, 2006 - link

    Instead of paying $300 to improve your World of Warcraft PIng Times you can simply do a little research. find out which WoW server is located in your geographic zone. If you live in California, look for a West coast server, if you're in New York, look for a East coast server , if you're in Chicago look for a Central server. Pay the $25 character transfer fee and move your account to the new server, viola!! decreased ping times.

    ps: this only works if you aren't playing in a server thats in your geographic zone already.
  • VooDooAddict - Tuesday, October 31, 2006 - link

    Because to you... Free = $25 transfer fee and no longer playing with the same group of friends?? Not an option for most people.

    I aplaud BigFoot for targeting this need with thier product. Riding the coat tails of something like WoW is a tried and true buisness practice. However, it's a failed execution and from the looks of it due mainly to the price. Everyone else agree that if priced for $49 or less they could start enjoying part of that big pile of money called WoW?

    $49 for a card that could help keep things running smoothly in large raids with teamspeak running full tilt? They could drop the giant K and the embedded linux to help reduce costs as 95% of the WoW target wouldn't care about those features.
  • Spacecomber - Tuesday, October 31, 2006 - link

    I'll try not to repeat what has already been said about this NIC and Anandtech's review of it; I did have a few random thoughts after skimming through the article.

    I felt like I had to give BigFoot credit for apprarently seeking out this review from Anandtech. Although they had a lot to gain from a good review, because of the extent of Anandtech's readership and reputation, they must have known that their card would have to deliver on what was advertised in order to get any sort of positive grade (and in the end it did fail to deliver on all but a insignificant fraction of what it promised).

    On the other hand, this gets us to the meat of the article. Besides the issue of price, the main problem with this card is that it just isn't ready for prime-time, yet. This means that anyone who does spend $280 on this card is essentially signing up as a beta tester for a product this is still in development. Although gamers probably are familiar with this role (being the first to own some new hardware or new game means being the first to encounter unresolved and frustrating bugs), it still seems a bit perverse to have to pay so much money for this dubious honor.

    Given that this seems to be current state of affairs with "cutting edge" games and hardware, I couldn't help imaginging how it would make more sense to put the (presumably) free products into the hands of users who know that they are expected to beta test and work with tech/support staff to make a potentially good product better, rather than the apparent current practice of putting new products into the hands of people who are only required to evangelize for the company.

    I guess somewhere along the way the marketing people won out, and comapnies now find their money better spent on marketing rather than product development. Personally, I can't believe that viral marketing is going to be more helpful at making this product a success than would money spent on further testing and development.


    Essentially, this is what BigFoot got by their providing a card to Anandtech for testing (constructive feedback and a willing partner to test out potential fixes - in the form of new drivers). But, I suppose BigFoot has bills to pay, now, before they can even worry about getting this card fully up to specification, and this means that someone has to pay.
  • WileCoyote - Tuesday, October 31, 2006 - link

    Review was too wordy! Just large paragraphs of text without any type of organization. Dullest Anandtech article ever.
  • goinginstyle - Wednesday, November 1, 2006 - link

    quote:

    Review was too wordy! Just large paragraphs of text without any type of organization. Dullest Anandtech article ever.


    Dullest response ever and it did not take a PhD to write my response. The article flowed from an introduction, with understandable technology descriptions that were not in other reviews, to results with a subjective/objective based ending. It had a couple of wordy sections but it was a lot better than most of the one line sentence descriptions you see in articles today. So please go buy a card, test it, and then provide us your perfect review. If you are unwilling to do this then at least tell us how it should be organized so anthropologists from around the world can understand it. I am sure Eric R. Wolf is turning over in his grave today because an anthropologist did not like the organization of an article.
  • WileCoyote - Thursday, November 2, 2006 - link

    Chill out! Don't get so stressed out over 3 sentences and someone else's opinion. Big deal, I think it's a poorly written article when compared to previous ones at Anandtech. And I'm not questioning the author's education or net worth. I have left dozens of positive comments for previous Anandtech articles/authors so I'm not trolling either.

  • goinginstyle - Thursday, November 2, 2006 - link

    quote:

    Chill out! Don't get so stressed out over 3 sentences and someone else's opinion.


    The fact is you have not offered an opinion on how to improve the article. You bash it but have not replied as to how you would have written it. If you think it is poorly written and have no issue critizing the author then at least leave a few comments on how you would have changed it. He at least asked for your opinion and others on how to improve the article. If you cannot respond in a professional manner to that request then you are trolling. Tell us how you would have organized the article? Better yet, test the card, and post your own review. You could simply take the time and email Gary with your revisions. He has already edited the article and the sections I thought were a little wordy are gone. Of course I emailed him and relayed my thoughts about the subject instead of dropping a one line dump in the forums.
  • WileCoyote - Friday, November 3, 2006 - link

    Based on your replies I have learned the following:
    1. If you think an article is poorly written, buy the item and review it yourself.
    2. If you do not write in a "professional manner" do not write anything at all. Ha!
    3. If you say an article is "too wordy" people will not understand that the solution is to write less words.
    4. Talking with people here is a big waste of time. They think they are always right and smarter than you.
    The article was boring to me and I dropped a note to say that. I'm sorry for any hurt feelings as a result. If you know me better than I do and want to argue that the article was not boring to me, then feel free. Everything else you have said has nothing to do with what I originally said. I don't know, maybe you had a bad day at work and need to take it out here? Or maybe you want to aim at the easiest target in a thread... say, mine? Go find something challenging and worth spending time on. Unless this is the only way you feel smart? By the way, this post was too wordy. Boring even...yawn.
  • goinginstyle - Wednesday, November 29, 2006 - link

    You must work in a really small cube. Yawn......

Log in

Don't have an account? Sign up now