探索大规模线程吞吐量处理器的内存一致性

今天的通用(CPU)多核处理器都精确地指定了它们的硬件内存一致性模型(例如x86,IBM Power,SPARC TSO等)。 这些内存一致性模型保证了核心读取和写入的指定顺序,一致性模型之间的差异会对可编程性,性能和硬件实现复杂性产生重大影响。 一致性模型的选择因此是相当重要的,并且在20世纪90年代,有一个重要的有影响力的研究深入研究在多个CPU核心的多处理器的硬件一致性模型之间的权衡。

除了CPU多核之外,新的系统模型正在出现。这些系统是大规模线程化的吞吐量处理器(MTTOP)。 MTTOP的最突出的例子是GPGPU,但是MTTOP还包括英特尔的许多集成核心(MIC)架构和学术型加速器设计,如Rigel和vectorthread体系结构。将MTTOP与CPU多核区分开来的关键特性是:非常大量的核心,相对简单的核心流水线,硬件支持每个核心的大量线程,以及支持使用SIMT执行模型进行高效的数据并行执行。开发者们重新访问了在大规模线程吞吐量处理器的上下文中的硬件内存一致性模型的问题。 传统的观点是,这种处理器应当受益于弱一致性模型,并且由于MTTOP启用的非凡并发性,对一致性模型的选择应当具有重大影响。一些目前的MTTOP,如MIC和ARM的Mali GPU,已经提供了高速缓存一致的共享内存或没有高速缓存一致性的共享内存,如AMD的异构系统架构。

最近的学术研究也探讨了GPU和GPU / GPU芯片的缓存一致性,杜克大学的教授们,就一下几点做出了改进:

(1)他们讨论在实现MTTOP的硬件一致性模型时涉及的问题。
(2)他们探讨MTTOP的硬件一致性模型之间的权衡。
(3)他们实验证明,一致性模型的选择往往对性能的影响可以忽略不计。

在论文中,他们提供一个MTTOP的一个非常一般的模型,只保留那些特性,从根本上区分MTTOPs和CPU。

他们的MTTOP模型的关键特性是:非常大量的核心,相对简单的核心流水线,硬件支持每个核心的大量线程,以及支持使用SIMT执行模型的高效数据并行执行。

他们的研究结果表明,顺序一致性实现了与各种MTTOP基准上的较弱一致性模型相当的性能。 明确地推断MTTOP应该实现SC或另一个相对强的一致性模型是明显为时过早的,但是他们的分析和结果表明偏向弱模型的传统智慧可能被误导。 如果强一致性模型(例如TSO)确实可用于MTTOP,则它可以促进MTTOP与实现强一致性模型的CPU核心的集成。

【1】 Pai S, Thazhuthaveetil M J, Govindarajan R. Improving GPGPU concurrency with elastic kernels[J]. ACM SIGPLAN Notices, 2013, 48(4): 407-418.

【2】Hechtman B A, Sorin D J. Exploring memory consistency for massively-threaded throughput-oriented processors[C]//ACM SIGARCH Computer Architecture News. ACM, 2013, 41(3): 201-212.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值