面试真题

C++ · 困难 · 美团

内存对齐相关面试题,DPDK无锁队列为例阐述,内存对齐的作用?

困难 C++ 🎤 美团
参考答案
结论:内存对齐指变量地址按其对齐系数(如4/8/64字节)存放;DPDK无锁队列中通过对齐缓存行消除伪共享,提升多核性能。作用:1. 硬件约束:部分架构访问未对齐地址触发异常;2. 性能:对齐后单次总线读取,避免拆分成两个周期;3. 缓存一致性:DPDK ring的头尾指针若在同一缓存行,多核更新会相互失效(伪共享)。示例:struct分两线程改head和tail,用__rte_cache_aligned令各占64字节独立行;无锁队列借助CAS循环写入,对齐保障原子可见性。
题目整理自公开面经,答案由校招宝自研生成,仅供参考