Server Products
Data Center Products including boards, integrated systems, Intel® Xeon® Processors, RAID Storage, and Intel® Xeon® Processors
4778 Discussions

Intel I/OAT DMA and latency

idata
Employee
5,539 Views

I have received new Dell R320 with E5-1410. I am going to run low latency application on it. I bought E5 specifically to use Intel Integrated IO.

However I found option in BIOS to enable I/OAT.

My question is - what is relation between enabling/disabling I/OAT and IO latency. What is relation between I/OAT and Integrated IO?

 

I dont want one feature to nulify the other by wrong setup.

 

P.S. the priority is low-latency networking. I have Solarflare 10GBe card on this server.
0 Kudos
1 Solution
AP16
Valued Contributor III
3,826 Views

Integrated IO mainly mean PCI-E hub-to-CPU integration. There is no need for special support from software. I/OAT by itself is also responsible for acceleration technologies support on software side (in OS/driver level). Main idea behind I/OAT is a direct-to-memory passing of IP packets from NIC and backward, freeing CPU from memory transfers arbitration. There are also some other techs, like memory transfers tagging to increase CPU cache hit/miss ratio. Support is present in Windows Server OSes, starting from Win 2003 R2 (called NetDMA and DCA) and in main Linux kernel since 2.6.18 (IOATDMA module), if using Intel-provided drivers with ANS.

 

You need nothing to use Intel Integrated IO - it 'always on' and helps to reduce latency and increase throughput on hardware level. I/OAT helps for this on OS/protocol level, but you must have:

- supported OS

- intel driver installed (in Windows)

- special settings in OS kernel and TCP/IP stack - usually Intel apps tries to set them automatically, but some times not with full success, for example, DCA in Windows Server 2008 R2 require EnableDca registry key trick.

 

Note also, that next Windows Server version (2012) will not support NetDMA and DCA, so I/OAT will become mostly useless.

View solution in original post

0 Kudos
1 Reply
AP16
Valued Contributor III
3,827 Views

Integrated IO mainly mean PCI-E hub-to-CPU integration. There is no need for special support from software. I/OAT by itself is also responsible for acceleration technologies support on software side (in OS/driver level). Main idea behind I/OAT is a direct-to-memory passing of IP packets from NIC and backward, freeing CPU from memory transfers arbitration. There are also some other techs, like memory transfers tagging to increase CPU cache hit/miss ratio. Support is present in Windows Server OSes, starting from Win 2003 R2 (called NetDMA and DCA) and in main Linux kernel since 2.6.18 (IOATDMA module), if using Intel-provided drivers with ANS.

 

You need nothing to use Intel Integrated IO - it 'always on' and helps to reduce latency and increase throughput on hardware level. I/OAT helps for this on OS/protocol level, but you must have:

- supported OS

- intel driver installed (in Windows)

- special settings in OS kernel and TCP/IP stack - usually Intel apps tries to set them automatically, but some times not with full success, for example, DCA in Windows Server 2008 R2 require EnableDca registry key trick.

 

Note also, that next Windows Server version (2012) will not support NetDMA and DCA, so I/OAT will become mostly useless.
0 Kudos
Reply