Slashdot Mirror


Intel Develops Hardware To Enhance TCP/IP Stacks

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."

23 of 271 comments (clear)

  1. Good stuff! by kernelistic · · Score: 5, Interesting

    First checksum offloading, now this... It is nice to see that hardware vendors are realizing that 10Gbit/s+ speeds aren't currently realistic without extra forms of computation support from the underlying network interface hardware.

    This is Good News.

    1. Re:Good stuff! by RatRagout · · Score: 2, Interesting

      For sending of files I'm sure this has increased performance greatly as you when sending a file might have to first read the file into userland, copy into kernel and then onto nic. Reading directly from disc to a TOE would of course be the real overhead-killer. Zero-copy techniques are also done for newer APIs like uDAPL for RDMA-operations (over InfiniBand or similar).

    2. Re:Good stuff! by acaspis · · Score: 2, Interesting

      > If the application changes the data directly after the send()-call this should not affect what is sent.

      So just don't let the application change the data (hint: single-assignment programming languages).

      > This means that the OS has to copy the data into kernel memory,

      Either that, or you could improve support for copy-on-write in the MMU (which might benefit other tasks than just networking).

      Sometimes changing the assumptions is the proper way to solve the problem.

  2. White elephant? by Toby+The+Economist · · Score: 5, Interesting

    I think in Tannenbaum's book there's a reference which states that offloading network processing normally isn't useful, because the CPU that work is offloaded to is always less powerful than the main CPU and the main CPU is normally blocked in it's task until the network processing has completed.

    --
    Toby

    1. Re:White elephant? by mr_zorg · · Score: 4, Interesting
      I think in Tannenbaum's book there's a reference which states that offloading network processing normally isn't useful, because the CPU that work is offloaded to is always less powerful than the main CPU and the main CPU is normally blocked in it's task until the network processing has completed.

      I think in xyz's book there's a reference which states that offloading graphics processing normally isn't useful, because the CPU that work is offloaded to is always less powerful than the main CPU and the main CPU is normally blocked in it's task until the graphics processing has completed.

      See how silly that sounds when you substitute network with graphics? We all know that offloading graphics processing is a good thing. Why? Because it's optimized for the task. Why couldn't the same be done for networking?

    2. Re:White elephant? by Joseph_Daniel_Zukige · · Score: 3, Interesting
      See how silly that sounds when you substitute network with graphics?

      Well, does waiting 3 milliseconds at 3 GHz outrun waiting 3 milliseconds at 300 MHz?

      The only advantage I can see to this is that it's often nice to have I/O handled in a separate process/thread running on a separate processor. But, as many have already noted, unless the I/O processor is tuned for this you've either got another expensive processor or you're running the I/O thread on a slower processor.

      If the processor _is_ tuned for this purpose, it's already been done. Most Ethernet i/f cards have a fair amount of intelligence on them already, and complete stacks have been available on cards for about as long as I've been aware of ethernet. (twenty years?)

    3. Re:White elephant? by Jeff+DeMaagd · · Score: 5, Interesting

      Graphics and networking are two very different things. Networking isn't compute intensive, it is I/O intensive. I don't think the Intel hardware network offload is for much more than basic computation.

      Besides, GPUs are more powerful than CPUs at the task of rendering polygons.

      Very often ASICs are better at a task than general purpose CPUs, just that considerations must be made as to whether the performance gain is worth the cost difference.

    4. Re:White elephant? by Anonymous Coward · · Score: 1, Interesting

      It is improper to compare, in the way you have, a linux router to a Cisco 6500.

      You are correct to say the throughput of the Cisco is much higher.

      But, and here's the thing, how much faster is that Cisco box at processing *any one socket*? I think the answer is the linux router and the Cisco box are in the same order of magnitude.

      The Cisco box reache 720 Gbps because it is highly parallel. It's like having hundreds of linux routers side by side.

      Intel are developing hardware for the desktop CPU, motherboard and NIC, which is to say, for a single machine which is going to be probably connected to the net over ethernet. There'll be one or a few cores, and most network processing will be by processes which will be blocked until they receive the data they're being sent - and this too is entirely unlike the router, which is just throwing data in and then out again.

      All in all, cheese and chalk. A big-box router operates in a different way and fufils a different task to the desktop machine Intel are working on. Comparing the two is invalid.

      --
      Toby

    5. Re:White elephant? by AaronW · · Score: 2, Interesting

      As someone who writes firmware that runs on a network processor, I can attest that the networking hardware is usually very different. For example, although the network processor runs at a lowly 133MHz it is able to forward 1.5 million packets/second when performing basic routing. I don't think there's any way a traditional processor could keep up. For one, the network processor has a massive amount of memory bandwidth and low latency, using SRAM for the tables. Other network processors use content addressable memory. To give an idea of memory bandwidth, one of the network processors I'm looking closely at has 11 separate memory interfaces to the chip, a mix of SRAM and DRAM.

      Most of the work in the router is pattern matching, with a lot of lookups of various parts of the packet. The route lookup is actually one of the least expensive operations compared to all of the other operations that need to take place. Most of the high-end network processors have dedicated pattern matching hardware to speed up these operations and do not rely on caches which break when a lot of flows are active.

      One operation we found to be very painful in a traditional processor is trying to shape traffic, i.e. using the Linux shaping options. Dedicated hardware, on the other hand, has no problems with this.

      Now, I doubt many of these features would help much in a workstation or server. The only thing I can think of that would help significantly is some of the security operations, like being able to do offload encryption or do ACL lookups in hardware, much like how NVidia does this in their new NForce chipset. ACLs tend to be very expensive in terms of CPU cycles.

      --
      This post is encrypted twice with ROT-13. Documenting or attempting to crack this encryption is illegal.
  3. the good, the bad, the ugly? by Interfacer · · Score: 1, Interesting

    It seems such an obvious thing: make a tcp/ip processor, put it on a NIC and give it a high level interface, instead of just a low level IP interface.

    makes you wonder why nobody has done it before...

    maybe this is some plan of intel to control the internet: add some secret DRM capability to it, wait until everyone until everyone is using it, and then take over the world.
    Or -door number 2- sell your services to the NSA.

    1. Re:the good, the bad, the ugly? by DietCoke · · Score: 2, Interesting

      The problem is that you're still dealing with a bottleneck at the system bus, AFAIK. I installed a CAT-6 network at home today and had to do quite a bit of reading to determine whether it was worth doing. I read in numerous places that with gigabit network that you essentially need a 1Ghz processor just to keep up with the data coming in. Now, placing that processor on the NIC might make sense, but it would seem to me that it'd still have to be at least equal to the processor to be able to handle the data in a steady stream.

      I can't claim to be an expert in this subject, but that's the situation as I've understood it.

    2. Re:the good, the bad, the ugly? by igb · · Score: 2, Interesting
      It's been done many times before. A company called CMC made a 3U VME board which provided full TCP offload to System V machines --- I ported it into an SVR3 system and ported Lachman's NFS product to run over it. Sun shipped an Omniserve (or somesuch name) product as the NC400 and NC600 for the 4/4X0 and 4/6X0 range which offloaded quite a lot of NFS and XDR protocol overhead, as well as some of TCP. Neither of these products was unique.

      Less generically, the original Auspex NFS servers had distinct boards for Ethernet, Network and File processing, which managed to do TCP offload _and_ zero copy.

      With the exception of the Auspex example, most of these cards were rapidly obsolete because the overhead of copying the network traffic to and from the offload card is greater than the work involved in doing the processing. You can't do a zero-copy without a huge amount of scaffolding in the OS.

      Anyway, 3Com had a card which did this a couple of years ago. It sank without trace.

      ian

  4. Ethernet controllers by Anonymous Coward · · Score: 3, Interesting

    What is needed more is a high-speed bus for network interfaces, as gigabit ethernet becomes more common. Even if a gigabit adapter had a whole 32-bit PCI bus to itself, it could still easily saturate it.

    It seems like most common denominator board manufacturers have put off 64-bit PCI support for too long. It's going to bite them in the ass if it doesn't become standard very soon.

  5. nvidia by Ecio · · Score: 5, Interesting

    Isnt Nvidia doing the same with his new nforce serie motherboards? lowering cpu usage by adding network management code and a SPI firewall inside the chipset?

    1. Re:nvidia by MatthewNewberg · · Score: 2, Interesting

      I've used both Nvidia, and 3com, and switched back and forth so many times(I had both unboard untill the board fired).. It doesn't seem to effect anything at all(including cpu usage). Then again I wasn't pushing more then 10mbits/sec accross the network or using a lot of connections.

  6. Will it support IPv6? by arc.light · · Score: 4, Interesting

    The article doesn't say, and I'd hate to be "stuck" with a card that only does IPv4. Yeah, I know, hardly anyone uses IPv6 today, but the nations of China and Japan, as well as the US DoD, are starting to roll out IPv6 networks in a big way.

  7. So, now hackers will target your BIOS rather than by ABeowulfCluster · · Score: 3, Interesting

    targeting the OS. I can see this technology being useful on servers which have multiple network cards and heavy traffic, but not for joe average pc user.

  8. if i were to make wildly unsubstatiated guesses... by evilmousse · · Score: 2, Interesting


    i'd guess the tcp/ip stack implementations available to intel are pretty solid. still, i'd hope it'd be flashable just in case. i can imagine only once in a blue moon would you find someone with libpcap and the patience to find holes in some of the most trusted code in the net.

  9. Re:yeah great by Anonymous Coward · · Score: 1, Interesting

    And don't forget all this extra power will be used up by the anti-virus product that will be required according to the company policy.

    No problem for the managers that run desktop's that have enough compute power to launch a space shuttle every 2 seconds, and are used to show nice screensavers, but a pain in the but for me who still tries to replace his Pentium 90 Cpu with something that is socket compatible with a "nice for home" giveaway.

    --ac for obvious reasons.

  10. And the integrated DRM? by tjlsmith · · Score: 5, Interesting
    and how much DRM are they going to build onto the motherboard, just in passing?

    Don't think for a minute the big boys aren't trying to take the Internet away from us. The missed the opportunity once, never twice.

    --
    Mumia Abu-Jamal is *laughably guilty*. Check the evidence.
  11. DoS Attacks by Gary+Destruction · · Score: 2, Interesting

    Will this technology make it easier for systems to withstand DoS Attacks?

    1. Re:DoS Attacks by Anonymous Coward · · Score: 1, Interesting

      Harder, I would have thought. Instead of just overloading the pipe maybe they'll be able to overload your processor as well. Wonderful.

  12. Similar to what Jolitzes have been up to? by Hobart · · Score: 3, Interesting
    A while ago I looked up what the original authors of BSD-on-the-386 ( 386bsd ) authors had been up to, I just searched again and found http://www.interprophet.com and http://www.telemuse.net ...
    Their new gig was putting the TCP/IP stack into the silicon for performance, the Internet Archive version says they've been at it since 1989...
    I wonder if Intel licensed their patents, or if this is similar stuff...
    --
    o/~ Join us now and share the software ...