知识卡片

CPU亲和性为何能提速

专业/工作 · 1106.a

内容

把线程绑定到固定CPU核(CPU affinity)看似只是调度层面的小技巧,实质收益是保住L1/L2 Cache命中率:线程若被内核迁移到别的核,之前热身好的Cache内容就作废了,得在新核上重新从内存加载。绑核后线程只在指定核上跑,省掉来回调度的开销,也让每个核能专注处理固定的一摊事。这个效应在NUMA架构下被放大——跨NUMA节点的任务切换不仅丢Cache,还牵扯跨节点内存访问的高延迟,代价比同节点内的核间迁移大得多,绑核收益因此更明显。

参考来源

《深入浅出DPDK》第3章《并行计算》