...
首页> 外文期刊>ACM SIGPLAN Notices: A Monthly Publication of the Special Interest Group on Programming Languages >Shasta: a low overhead, software-only approach for supporting fine-grain shared memory
【24h】

Shasta: a low overhead, software-only approach for supporting fine-grain shared memory

机译:Shasta:一种低开销,仅软件的方法,用于支持细粒度的共享内存

获取原文
获取原文并翻译 | 示例
   

获取外文期刊封面封底 >>

       

摘要

This paper describes Shasta, a system that supports a shared address space in software on clusters of computers with physically distributed memory. A unique aspect of Shasta compared to most other software distributed shared memory systems is that shared data can be kept coherent at a fine granularity. In addition, the system allows the coherence granularity to vary across different shared data structures in a single application. Shasta implements the shared address space by transparently rewriting the application executable to intercept loads and stores. For each shared load or store, the inserted code checks to see if the data is available locally and communicates with other processors if necessary. The system uses numerous techniques to reduce the run-time overhead of these checks. Since Shasta is implemented entirely in software, it also provides tremendous flexibility in supporting different types of cache coherence protocols. We have implemented an efficient cache coherence protocol that incorporates a number of optimizations, including support for multiple communication granularities and use of relaxed memory models. This system is fully functional and runs on a cluster of Alpha workstations.The primary focus of this paper is to describe the techniques used in Shasta to reduce the checking overhead for supporting fine granularity sharing in software. These techniques include careful layout of the shared address space, scheduling the checking code for efficient execution on modern processors, using a simple method that checks loads using only the value loaded, reducing the extra cache misses caused by the checking code, and combining the checks for multiple loads and stores. To characterize the effect of these techniques, we present detailed performance results for the SPLASH-2 applications running on an Alpha processor. Without our optimizations, the checking overheads are excessively high, exceeding 100% for several applications. However, our techniques are effective in reducing these overheads to a range of 5% to 35% for almost all of the applications. We also describe our coherence protocol and present some preliminary results on the parallel performance of several applications running on our workstation cluster. Our experience so far indicates that once the cost of checking memory accesses is reduced using our techniques, the Shasta approach is an attractive software solution for supporting a shared address space with fine-grain access to data.
机译:本文介绍了Shasta,这是一种在具有物理分布式内存的计算机群集上支持软件中共享地址空间的系统。与大多数其他软件分布式共享存储系统相比,Shasta的独特之处在于可以以细粒度保持共享数据的一致性。另外,该系统允许一致性粒度在单个应用程序中的不同共享数据结构之间变化。 Shasta通过透明地重写应用程序可执行文件以拦截加载和存储来实现共享地址空间。对于每个共享的加载或存储,插入的代码将检查以查看数据是否在本地可用,并在必要时与其他处理器通信。系统使用多种技术来减少这些检查的运行时开销。由于Shasta完全通过软件实现,因此它在支持不同类型的缓存一致性协议方面也提供了极大的灵活性。我们已经实现了一种有效的高速缓存一致性协议,该协议包含了许多优化,包括对多种通信粒度的支持以及宽松内存模型的使用。该系统功能齐全,可在Alpha工作站集群上运行。本文的主要重点是描述Shasta中用于减少检查开销的技术,以支持软件中的精细粒度共享。这些技术包括精心设计共享地址空间,安排检查代码以在现代处理器上高效执行,使用仅使用装载的值检查装载的简单方法,减少由检查代码引起的额外高速缓存未命中以及将检查合并用于多个装载和存储。为了表征这些技术的效果,我们提供了在Alpha处理器上运行的SPLASH-2应用程序的详细性能结果。如果没有我们的优化,检查开销会非常高,对于某些应用程序,检查开销会超过100%。但是,对于几乎所有应用程序,我们的技术都能有效地将这些开销减少到5%到35%之间。我们还将描述我们的一致性协议,并针对在工作站集群上运行的多个应用程序的并行性能提供一些初步的结果。到目前为止,我们的经验表明,一旦使用我们的技术降低了检查内存访问的成本,Shasta方法就是一种有吸引力的软件解决方案,可支持对数据进行细粒度访问的共享地址空间。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号