Intel Develops Hardware To Enhance TCP/IP Stacks 271
RyuuzakiTetsuya writes "The Register is reporting that Intel is developing I/OAT, or I/O Acceleration Technology, which allows the CPU, the mobo chipset and the ethernet controller to help deal with TCP/IP overhead."
Re:White elephant? (Score:3, Informative)
Qlogic TOE cards (Score:5, Informative)
Re:White elephant? (Score:5, Informative)
Also remember that a well implimented TCP/IP stack runs at about 90% of the speed of a memcpy() (Tannenbaum's book again).
For hardware TCP/IP processing to be useful, you need to be say 2x the speed of the CPUs memcpy() function!
Given that the main performance bottleneck is memory access, since you're basically copying buffers around and so caching isn't going to help you, I don't see how any sort of super-duper hardware is going to give you anything like a 2x speed up, let alone at an economic price.
--
Toby
Re:White elephant? (Score:3, Informative)
--
Toby
Re:Good stuff! (Score:5, Informative)
Lots of people agree, including AC and DM (Score:4, Informative)
AC being Alan Cox, DM being Dave Miller.
Read Alan's opinion here [theaimsgroup.com].
Read Dave's opinion here [theaimsgroup.com].
There has been discussion of this specific Intel announcement here [theaimsgroup.com].
Re:Good stuff! (Score:5, Informative)
FreeBSD for example, has a kernel option called ZERO_COPY_SOCKETS, which dramatically increases network throughput of syscalls such as sendfile(2). With this option enabled, as the name entails, data is no longer copied from userland to kernel space and then passed onto the network card's ringbuffers. It is copied in one swoop!
Re:Ethernet controllers (Score:2, Informative)
a) Gigabit/sec = 1000 Mbit/sec = 125MByte/sec
b) Gigabit/sec = 1024 Mbit/sec = 128MByte/sec
True, even these speeds don't completely saturate the PCI bus, though because of how the PCI bus is shared (each device gets a few clock cycles to do it's thing before passing control off to the next device) no single device could anyway unless it's the ONLY thing on the PCI bus. It certianly will saturate (or come dang close to it) when it has it's moment of control though.
Old news (Score:5, Informative)
Of course it couldn't last, what with nVidia doing firewalls and NICs and all sorts of other things, Intel is a big company and they know when they need to compete. MS has also lost a bit of their clout when it comes to things like pressuring the bigger companies (intel, HP, Dell)
Re:White elephant? (Score:5, Informative)
You cannot accelerate networking very much because the problem is highly serial.
It is improper to compare the two because they are fundamentally different problems.
You can throw tons of hardware at 3D graphics and get good results, because just by having more and more pipelines, you go faster and faster.
Processing a network packet is quite different; the data goes through a series of serial steps and eventually reaches the application layer. The only way you can really make it go faster is to up the clock rate, and you find it's uneconomic to try to beat the main CPU, which remember has *already* been paid for. You have all that CPU for free; to then spend the kind of money you'd need to outpace the CPU makes no sense, let alone the money you'd need to spend to outpace the CPU by a decent margin.
--
Toby
Re:White elephant? (Score:5, Informative)
Simply put, software on general purpose processors sucks for doing heavy computational work. Hardware tuned especially for a task has, and always will, be where it's at. However, the costs involved in creating ICs specific to a task usually mean that ASICs are only created where there is a need. Modern graphics cards are a great example. The on-board graphics processors are designed especially to create graphics, something that, if offloaded onto the GP CPU, would crush even the highest of the high end.
Also, offloading the TCP/IP stack on a normal workstation probably isn't going to be a huge performance boost. Where this will be useful is in situations where there is a need for high-throughput, low-latency network I/O processing.
Re:Security updates (Score:2, Informative)
Re:Qlogic TOE cards (Score:2, Informative)
Re:Ethernet controllers (Score:3, Informative)
gigabit is full duplex - double your figures.
But new motherboards are already starting to come with gigabit attached to PCI Express. For the last few years any decent board has had them on fast PCI-X, at least 64 bit 66 MHz.
Re:nvidia (Score:4, Informative)
Yes. The nForce4 chipsets offload most TCP/IP processing and firewall [nvidia.com] from the main CPU.
If you go with a Athlon64 Socket 939 nForce4 board, you get PCI Express, lower power consumption, a ton of great features, good Linux support, and plug-compatible dual core upgrades down the road. Intel's offerings just seem anemic by comparison.
(Personally, I'd also do an NVIDIA graphics board for the excellent Linux driver support. And no, I don't work for NVIDIA, I'm just a satisfied customer.)
Re:White elephant? (Score:4, Informative)
I used to work at a company that did Fibre Channel.
One of the things we had was an ASIC that did network processing in hardware, allowing us to do all sorts of interesting stuff at wire speed (2Gbps). If we had to load into memory we would have been at least an order of magnitude slower.
Re:side effects? (Score:4, Informative)