gpt4 book ai didi

multithreading - 顺序一致性中的 RMW 优化

转载 作者:行者123 更新时间:2023-12-05 05:38:50 27 4
gpt4 key购买 nike

在 J. Sorin 的书“内存一致性和缓存一致性入门”中,我找到了关于 SC 模型中 RMW 优化的下一段:

More aggressive implementations of RMWs leverage the insight that SCrequires only the appearance of a total order of all requests. Thus,an atomic RMW can be implemented by first having a core obtain theblock in state M in its cache, if the block is not already there inthat state. The core then needs to only load and store the block inits cache—without any coherence messages or bus locking—as long as itwaits to service any incoming coherence request for the block untilafter the store. This waiting does not risk deadlock because the storeis guaranteed to complete.

谁能解释一下,这是什么意思?如果我们有两个核心,第一个对 A 内存块执行 RMW,第二个对 A block 执行写入请求,会发生什么?

最佳答案

当一个内核想要执行 RMW 操作时,它通过在所有其他内核上使其无效来获得对缓存行的独占访问权。一旦获得独占访问权限,缓存行就会被“锁定”(因此 CPU 将不会响应其他内核对该缓存行的缓存一致性消息)。

这种方式保证 RMW 是原子的,因为没有其他核心可以在该缓存行的读取和写入之间窃取缓存行。

如果另一个核心想要写入该缓存行,它需要等到拥有的核心完成对该缓存行的读+写。

关于multithreading - 顺序一致性中的 RMW 优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72848379/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com