22得票2回答
英特尔和AMD使用哪种缓存一致性协议?

我本科毕业论文需要分析False Sharing对多核系统的影响。在查找不同的高速缓存一致性协议类型时,我在维基百科上发现Intel开发了MESIF高速缓存一致性协议,但没有信息表明Intel也使用了它。 在查阅Intel® 64 和 IA-32 架构软件开发者手册: Vol. 3A后,我没...

15得票5回答
为什么标准的C#事件调用模式在没有内存屏障或缓存失效的情况下是线程安全的?类似的代码呢?

在C#中,这是以线程安全的方式调用事件的标准代码:var handler = SomethingHappened; if(handler != null) handler(this, e); 在另一个可能是不同线程上的地方,编译器生成的 "add" 方法使用 Delegate.Comb...

14得票2回答
LOCK前缀和MESI协议的区别?

x86 LOCK前缀的目的是什么,如果MESI协议防止其他核心写入“独占”拥有的数据,那么它还有必要吗? 我有些困惑LOCK提供了什么,MESI提供了什么? 我理解MESI协议的作用是确保所有核心都看到内存的一致状态,但据我所知,它也防止核心向其他核心正在写入的内存写入?

10得票5回答
MESI缓存协议

我正在阅读有关MESI窥探缓存一致性协议的文章,我想这是现代多核x86处理器使用的协议(如果我错了,请纠正我)。该文章在某个地方说道: 持有已修改状态的高速缓存必须窥探(拦截)系统中所有其他高速缓存对应主内存位置的尝试读取,并插入它所持有的数据。通常通过强制读取退让(即稍后重试),然后将数...

9得票2回答
MOESI缓存一致性协议相对于MESI协议的优点是什么?

我想知道MOESI相比MESI缓存一致性协议有什么优势,以及哪个协议目前在现代体系结构中更受青睐。如果成本太高,则往往无法实现利益。此外,也很希望看到MOESI相对于MESI的定量性能结果。

8得票1回答
现代x86 CPU使用什么缓存一致性方案?

我对现代多核CPU中缓存一致性系统的工作原理有些困惑。我看到像MESIF/MOESI这样基于嗅探的协议被用于Intel和AMD处理器中,而基于目录的协议似乎更适用于多核心,因为它们不广播消息,而是向特定节点发送消息。 在AMD或Intel处理器中,现代的缓存一致性解决方案是什么?它是基于MO...

7得票2回答
更快、更便宜、线程安全的计数器?

我已经阅读了这个主题:C# 线程安全性最快计数器,并在我的并行代码中实现了此功能。就我所看到的来说,一切都很正常,但它显著增加了处理时间,大约是10%左右。 这让我有点困扰,并且我认为问题在于我正在对小数据片段执行大量相对便宜(<1 quantum)的任务,这些数据片段被很好地分割并且可能充...