An Intel spokesperson has contacted Techworld and provided clarification on Intel's position regarding its I/O AT concept and TCP/IP Offload Engines. Here is what Intel said:-
"Concerning your article comparing Intel I/O Acceleration Technology and TOE, we want to clarify a couple of points on how Intel I/OAT works in a storage environment.
"Latency is incurred during memory accesses to retrieve packet information and data payload movement. These are the primary culprits causing higher CPU utilization, not TCP processing. For the most part, the CPU spends time waiting for data to be moved in order to be available to applications.
"A TOE NIC does reduce CPU utilization by offloading the TCP/IP stack onto an I/O device, but it also increases latency through additional CPU interrupts and I/O-to-memory bus transitions. These operations actually slow an application's access to data.
"This is particularly true in applications with smaller payloads because the I/O requests cause many CPU interrupts and BUS transitions from the I/O device, consuming a disproportionate share of system overhead. Intel I/OAT uses an optimized protocol stack to take efficient advantage of a CPU. It further reduces latency by turning over memory accesses and data movement tasks to the chipset and network controller, enabling many networking steps to be accomplished in parallel. During this time, the CPU can be performing other tasks.
"This process makes an important distinction: Intel I/OAT accelerates TCP processing, not offloads it.
"Our analysis demonstrates that TOE-based NICs are best suited for applications with consistently large I/O requirements, 64KB and larger, especially if the connections are long lived. Such systems can justify proprietary TCP stacks and silicon components to achieve maximum I/O performance.
"However, in addition to improving performance for applications with small I/O requirements, Intel I/OAT will perform within a few CPU utilization percentage points of TOE in applications with large I/O requirements. In the typical datacenter, 80 percent or more of the applications have requirements between 4KB and 16KB.
"Intel I/OAT has the clear advantage here. Because Intel I/OAT provides near-TOE performance for applications with larger I/O requirements, it also will have the advantage in environments that have a mix of applications with both small and large I/O requirements. To be honest, the graph in our whitepaper is confusing on this point and it's easy to draw the wrong conclusion."
Thanks to Intel for providing this clarification. What strikes me here is that TOE vendors have been measuring CPU utilisation with and without TOE cards in use. CPU usage drops significantly when the TOEs kick in. But does this mean applications get data faster? They should, intuitively, but do they? Intel is looking at data availability time to applications, not CPU utilisation. It would be interesting if the TOE suppliers ran fresh tests and saw whether the addition of TOEs did reduce data access time for applications in servers when fetching the data from IP SANs. This would allow an easier comparison between the claims of TOE suppliers and those of Intel.