问题:不同核同时访问同一个Cache line上的不同变量,导致出现的伪共享。
详细描述:
比如线程1在cpu1上访问变量a,线程2在cpu2上访问变量b,且变量a、b在一个cache line中。
背景:在多核CPU场景需要考虑缓存一致性问题,常见解决解决办法为CPU MESI一致性协议。
问题常见于:
1)全局变量,多个全局变量在不同线程访问
参考:
问题:不同核同时访问同一个Cache line上的不同变量,导致出现的伪共享。
详细描述:
比如线程1在cpu1上访问变量a,线程2在cpu2上访问变量b,且变量a、b在一个cache line中。
背景:在多核CPU场景需要考虑缓存一致性问题,常见解决解决办法为CPU MESI一致性协议。
问题常见于:
1)全局变量,多个全局变量在不同线程访问
参考: