Direct Cache Access (DCA) for the acceleration of 10GBit Ethernet
Direct Cache Access (DCA) enables enables faster reception of network data. This technology was mainly developed for the acceleration of 10 GBit Ethernet by Intel. With DCA, when network data is received, the packet header and descriptor are written directly to the processor cache. So, both are immediately accessible for the Network Stack Process. This saves a few CPU cycles that would otherwise be required to read this data from RAM.[1]
Activation of DCA in the BIOS
The example shows the DCA option in the BIOS of a server with Supermicro X7DBE mainboard:
Description text from a mainboard guide of Supermicro:
Direct Cache Access (Available when supported by the CPU.) Set to Enable to route inbound network IO traffic directly into processor caches to reduce memory latency and improve network performance. The options are Disabled and Enabled.
DCA under Linux
Linux supports DCA from kernel version 2.6.24[2][3].
In /proc/cpuinfo, you can see the Flag, when the CPU supports DCA (independent from the fact, if DCA is activated in the BIOS or not):
testserver:~ # cat /proc/cpuinfo [...] processor : 7 vendor_id : GenuineIntel cpu family : 6 model : 23 model name : Intel(R) Xeon(R) CPU E5405 @ 2.00GHz stepping : 6 cpu MHz : 2000.066 cache size : 6144 KB physical id : 1 siblings : 4 core id : 3 cpu cores : 4 fpu : yes fpu_exception : yes cpuid level : 10 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx lm constant_tsc pni monitor ds_cpl vmx tm2 cx16 xtpr dca lahf_lm bogomips : 4000.41 clflush size : 64 cache_alignment : 64 address sizes : 38 bits physical, 48 bits virtual power management: testserver:~ #
Examples
This 10GBit network card supports, for example, DCA:http://www.supermicro.com/products/accessories/addon/AOC-UTG-I2.cfm
References
- ↑ Server Network I/O Acceleration, Fundamental to the Data Center of the Future (Seite 5, Direct Cache Access)
- ↑ Kernelnewbies: Linux 2.6.24 DCA: Add Direct Cache Access driver
- ↑ Linux Kernel Mailing List: I/OAT: Add support for DCA - Direct Cache Access
More information
|
Author: Werner Fischer Werner Fischer, working in the Knowledge Transfer team at Thomas-Krenn, completed his studies of Computer and Media Security at FH Hagenberg in Austria. He is a regular speaker at many conferences like LinuxTag, OSMC, OSDC, LinuxCon, and author for various IT magazines. In his spare time he enjoys playing the piano and training for a good result at the annual Linz marathon relay.
|
|
Translator: Alina Ranzinger Alina has been working at Thomas-Krenn.AG since 2024. After her training as multilingual business assistant, she got her job as assistant of the Product Management and is responsible for the translation of texts and for the organisation of the department.
|


