知识卡片
DDIO让网卡绕过内存
内容
网卡和CPU交换数据的传统路径要绕经内存:CPU把数据从内存读到Cache处理完再写回内存,网卡再从内存把数据读走,一来一回全是数百周期的内存访问延迟。DDIO的做法是让网卡通过PCIe总线直接和CPU的末级Cache(LLC)交换数据,彻底跳过内存这一环——网卡发数据时,CPU预取的内容直接从Cache送上总线;网卡收数据时,直接写进LLC而非先落到内存。代价是LLC容量必须显著增大来容纳网络流量,这也是至强E5系列把LLC做到20MB的原因之一。
参考来源
《深入浅出DPDK》第2章《Cache和内存》