TH: The Killer NICs offloading capability definitely benefits in the realm of UDP traffic which is the method used by nearly all on-line capable PC games. We understand that UDP offloading is what sets the Killer NIC aside from other controllers — by offloading the interrupts required to process UDP traffic from systems main processor.
What sets the Killer NIC aside (FNA Excluded) from other controllers such as the Intel Pro 1000 PT and its interrupt moderation feature, and PCI-Express factor?
Harlan: I actually helped design the silicon used on the Intel Pro series when I was architect in charge of Networking Acceleration products at Intel. I know it well, and I also know other “desktop” network cards very well. Killer is so vastly different then these products it’s hard to describe. In short, it goes back to the reason I founded Bigfoot Networks. Intel, Broadcom, Marvel, Adaptec, Linksys, etc. have always been focused on three factors of network adapters
1. Link Speed (10/100/1000 etc.)
2. Form Factor (PCI, PCI-E, etc.)
3. Throughput Performance.
Bigfoot Networks and the Killer NIC exist because of a different paradigm. We believe that lag is caused by three separate entities (Client, Network, and Server), and that it’s the interplay of the three that determines overall performance of a game, not just the link speed of the NIC or what form-factor it has. Our first product, the Killer NIC, was designed to be optimized for Gaming and reducing Client Lag. This means that Killer actively avoids lag-causing features like interrupt moderation, because that’s a throughput optimized feature that increases latency (via batching). Killer interrupts the system instantly whenever there is new networking data! This is just one example of the many features of Killer that are tuned for gaming, and the overall gaming experience, over what a typical NIC can do.
Another major feature that distinguishes Killer above any other standard NIC is its ability to completely bypass the Windows Networking stack for User Datagram Protocol (UDP.) Let me explain what this means, because it is vastly different than what Intel’s Pro 1000 PT does. Intel’s Pro 1000 PT does Checksum Offload and Large Segmentation Offload, Killer does Windows Stack Bypass. Huge difference here. In order to do Stack Bypass, you need what only Killer has: a dedicated Network Processing Unit (NPU) that can track each connection and determine which application should get which data.
Checksum Offload is a ‘dumb’ NIC feature these days (and Killer can do it too, of course,) where inbound and outbound checksums are calculated by the hardware.
Large Segmentation Offload is only for large data file transfers over TCP/IP (as you point out, not the language of games)... and it is designed to optimize for throughput, and can actually hurt gaming performance for those few games (like World of Warcraft) that use TCP/IP.
Killer takes a different approach. We intercept all game function calls to the Winsock API and redirect those calls to our hardware with an immediate interrupt to, or from, our card. That’s a hardware interrupt for every send or receive, right from our card to your game. How? Because our NPU filters the traffic and knows which application gets which data, and then we send it directly to the game via the top of WinSock.
Even better than that, we’ve spent countless hours with game developers and in our own labs and optimized the entire offload system for games. Interestingly, along the way something cool started happening. We were making the games faster in frames per second (FPS) as well. The framerates were getting higher and we didn’t understand why or how! After many long weeks in our lab, we finally realized what was happening. Since the game could get a response from its Winsock function calls in only one cycle (send, receive, select, etc.) the game spent less time deep in the Windows Kernel (which is synchronous and can basically run on only one core at a time)… this meant the entire game loop could run faster. This is only possible with a dedicated NPU, and those are only available for gamers or any desktop folks via a Killer NIC. When we found this out, we understood why we loved Killer gaming: it was more responsive (lower ping), and faster (higher fps) and smoother: when the crap hit the fan, the Killer kept things sorted out.
Other features tuned just for gamers include the ability to actively determine how much bandwidth any and all applications are allowed to use and the priority between them. Another is to run an entire firewall inside Killer so that you can bypass your router’s slower solution. Another is Flexible Network Applications – anybody can write a Linux program to run on our card just like a separate computer. Another is the ability to respond instantly to game data request in user mode. And even more are available and more always coming out.