知识卡片

DPDK如何规避Cache一致性开销

专业/工作 · 1105.e

内容

与其等一致性问题发生后靠协议开销去修复,DPDK的策略是从数据布局上直接消灭多核共享同一Cache line的场景:给每个核单独定义一份配置结构体数组,核n只访问lcore[n],核m只访问lcore[m],彼此互不相干;对网卡也是同样思路,每个核绑定专属的收发队列,而不是让多个核争抢同一队列的内存结构。这种”预先分好各自地盘”的做法,本质是用空间换掉本可能高频触发的跨核同步开销,比事后靠[[MESI协议的四态设计]]协调更划算。

参考来源

《深入浅出DPDK》第2章《Cache和内存》