并行计算缓存、缓存一致性、伪共享等问题.pptxVIP

  • 16
  • 0
  • 约1.46千字
  • 约 5页
  • 2018-01-10 发布于河南
  • 举报

并行计算缓存、缓存一致性、伪共享等问题.pptx

并行计算缓存、缓存一致性、伪共享等问题

缓存、缓存一致性、伪共享缓存 Cache是高速缓冲存储器 一种特殊的存储器子系统,其中复制了频繁使用的数据以利于快速访问。 缓存的设计考虑到了: 时间和空间的局部性 如果一个处理器在时间t访问了主存地址x,那么很有可能它会在与t相近的时间内访问主存中靠近x的地址。因此,如果处理器要访问主存地址x,那么一个包含x中内容的存储块将被写入缓存行或者从缓存行中读出,而不是仅仅将x中的内容写入缓存或者从缓存中读出。这样的存储块叫做存储行或存储块。缓存的一致性 缓存的使用会对共享内存产生重大的影响,如下例:void Hello(void);int x=5;//共享变量int main(int argc,char* argv[]){int thread_count=strtol(argv[1],NULL,10);#pragma omp parallel num_threads(thread_count){ int my_rank = omp_get_thread_num(); int my=x; x++; printf(my_%d = %d\n,my_rank,my);}return 0;} 当线程0执行x++时,其他线程x所在的缓存块被标记为invalid,在赋值语句my=x之前,其他线程的核将会获知x的值已近过期了。因此运行线程0的核必须更新x在内存的副本,运行的其他线程的核将从主存中获取包

文档评论(0)

1亿VIP精品文档

相关文档