本地内存地址访问

时间:2016-06-29 07:50:18

标签: memory

分区全局地址空间将内存划分为本地内存块,以便更快地访问。我的问题:是什么原因(可能在硬件级别上)访问本地内存更快?如果我理解正确,本地内存仍然是原始共享内存地址的地址......

1 个答案:

答案 0 :(得分:0)

  

在计算机科学中,分区全局地址空间(PGAS)是并行编程模型。它假设一个逻辑分区的全局内存地址空间,其中一部分是每个进程,线程或处理元素的本地内存。

如果您参考,那么它只是一个模型。实际表现取决于实施情况。

本地实施

如果实现是" local",即同一机器(节点)内的线程或进程,则可能由于多种原因而存在性能影响。

  • 首先,使用同步的需要会降低性能。锁对性能有着可怕的影响。
  • 其次,当核心中的至少一个核心正在写入高速缓存行时,在核心之间共享CPU的高速缓存行将必须使所有其他核心的高速缓存行无效,这将导致高性能罚款。分离每个核心的工作内存,可以防止缓存失效。如果应用程序/算法启用此方法,则应使用此方法。

分布式实施

如果实现是"分发",即DSM,那么访问远程内存的代价甚至更大(但是与缓存失效惩罚的序列相似),因为消息必须通过网络发送。