A Case for Software Managed Coherence in Many-core Processors

A Case for Software Managed Coherence in Many-core Processors
复制标题

多核处理器中软件管理一致性的案例

DOI:
--
复制
发表时间:
2010
期刊:
影响因子:
--
通讯作者:
B. Lewis
B. Lewis
中科院分区:
--
文献类型:
--
作者:
Xiaochen Zhou;Hu Chen;Sai Luo;Ying Gao;Shoumeng Yan;B. Lewis

文献摘要

被引文献

相似文献

处理器供应商正在将越来越多的内核集成到他们的芯片中。这些众核处理器通常实现硬件一致性机制,但是当核数达到数百或更多时,设计和验证有效的硬件一致性支持变得非常困难。尽管如此,许多并行应用程序,例如RMS应用程序[9],几乎没有数据共享,这表明提供复杂的硬件一致性实现浪费了硬件预算和设计工作。此外,在一些日益重要的领域,如服务器和云计算,多个应用程序可以运行在单个众核芯片上。这些应用程序需要在它们运行的核心之间提供一致性支持,而不是在不同的应用程序之间。这表明了对动态可重构的一致性域的强烈需求,这是非常难以支持的硬件机制。此外,硬件一致性被认为过于复杂,无法支持异构平台,例如组合的CPU-GPU系统,无论GPU是集成的还是分立的。在本文中,我们认为,软件管理的一致性是一个更好的选择比硬件一致性的众核处理器。我们相信,软件管理的一致性可以更好地利用硅,有效地支持新兴的应用程序,动态地重新配置一致性域,最重要的是,仍然能够提供与硬件一致性相当的性能。我们实现了一个原型系统与软件管理的一致性在一个部分共享的地址空间,并显示出可喜的成果。
Processor vendors are integrating more and more cores into their chip. These many-core processors usually implement hardware coherence mechanisms, but when the core count goes to hundreds or more, it becomes prohibitively difficult to design and verify efficient hardware coherence support. Despite this, many parallel applications, for example RMS applications [9], show little data sharing, which suggests that providing a complex hardware coherence implementation wastes hardware budget and design effort. Moreover, in some increasingly important domains, such as server and cloud computing, multiple applications may run on a single many-core chip. Those applications require coherence support among the cores that they are running on, but not between different applications. This indicates a strong requirement for dynamically reconfigurable coherence domains, which is extremely hard to support with hardware-only mechanisms. In addition, hardware coherence is believed to be too complex to support heterogeneous platforms such as combined CPU-GPU systems, regardless whether the GPU is integrated or discrete. In this paper, we argue that software managed coherence is a better choice than hardware coherence for many-core processors. We believe that software managed coherence can make better use of silicon, efficiently support emerging applications, dynamically reconfigure coherence domain, and most importantly, still be able to provide performance comparable to hardware coherence. We implemented a prototype system with software managed coherence over a partially-shared address space and show promising results.