omp 刷新和 cc-NUMA 架构

Posted

技术标签:

【中文标题】omp 刷新和 cc-NUMA 架构【英文标题】:omp flush and cc-NUMA architecture 【发布时间】:2012-03-20 22:32:48 【问题描述】:

我想念 cc-NUMA 架构和刷新变量的需要。我们都知道,如果两个线程修改同一个缓存行,则“错误共享”条件将上升,迫使缓存行再次重新加载。 那么为什么我们需要刷新变量才能使线程交换信息呢? 假设在您声明的串行区域中:

int flag=0;

然后在并行区域线程0分配共享变量:

 flag=1;

将线程 1:

while (!flag)

循环是否会在没有刷新的情况下终止?如果不是,为什么我们在 cc-NUMA 架构中?

【问题讨论】:

从逻辑上讲,cc-NUMA 与任何其他共享内存多核机器没有什么不同。它的缓存一致性可能会慢一点(或很多),但在行为上是一样的。 【参考方案1】:

不要忘记,编译器也可以执行导致上述代码中断的优化,而不仅仅是 CPU。

因此,无论硬件是否支持缓存一致性,我认为刷新仍然是必要的。

【讨论】:

以上是关于omp 刷新和 cc-NUMA 架构的主要内容,如果未能解决你的问题,请参考以下文章

腾讯通无法刷新组织架构,整个局域网中就那一台刷新不了

腾讯通更改部门架构后怎么刷新

[android数据库同步]架构一种Android界面数据同步刷新机制

android 怎么刷新UI组件

试图找到一个带有刷新令牌的“万无一失”oauth 架构示例

Android——MVVM架构实现数据刷新