知识卡片
NUMA与DPDK的本地化原则
内容
SMP系统里所有处理器和内存共享一条总线,随着核数增加总线本身就成了瓶颈,访存延迟对所有核一视同仁地高。NUMA把内存拆分到每个处理器本地,访问本地内存延迟低、带宽大,访问其他处理器的”远程内存”要经额外总线,代价更高——这是用”距离不均等”换取整体带宽扩展。DPDK据此确立两条本地化原则:per-core memory让每个核尽量只碰自己的内存备份(参见[[DPDK如何规避Cache一致性开销]]),本地设备本地处理让处理某块PCI设备数据的核,其内存分配也来自该设备所在的NUMA节点。
参考来源
《深入浅出DPDK》第2章《Cache和内存》