T-MCer 说:
Bad News:虽然我们认为采用ncc NUMA来解决cache coherence的问题,但目前还很难找到有相关研究认为未来的multi core应该取消cache coherence的限制,do you have any info.?
Ray 说:
我昨天看Tilera(100core)的产品说明,他们也保证cache一致性:
Tilera's DDC™ (Dynamic Distributed Cache) system for fully coherent cache across the tile array enables scalable performance for threaded and shared memory applications.
T-MCer 说:
是的,无论是学术界还是工业界,不管core增加到多少,他们对cache coherence始终没有松口
Ray 说:
通过看Intel这篇文章, Thousand Core Chips—A Technology Perspective , 我觉得有可能走片内异构的路。
它说Core多了之后,会做大小不同的各种core在一个片内
我个人想,也许会做局部Cache一致性。
T-MCer 说:
片内异构这些年炒得比较火,Tong Li那篇文章就是说的异构OS的设计
如果没有cache coherence,那就相当于一个片上机群,或者片上MPP系统
而我们的异构跟他们的异构是有差别的,我们的ISA不同,无法做migration等,我们又不能做Binary Translation
因此,HPP的异构对OS来说,比较尴尬
不过,如果能将不支持片内全局cc的OS做得跟支持cc的一样,那也是一种创新
如果花了很大力气无法与many core靠近,那也可以就事论事,就是基于HPP,挖掘它的特点
mail discussion:
主题: Re: Re: 资料
日期: Fri, 7 May 2010 10:34:22 +0800
在多核/众核结构中,由于芯片面积大,监听的一致性协议实现比较困难;而目录协议的性能相对比较好,但是核越多,目录的硬件开销也越大。我记得看过一篇文章,提到在多核系统中,处理器核数目多的时候,目录所占的Cache面积比例非常大,(这篇文章找不到了,昨天晚上就在找,实在是想不起来文章的题目了)。
如果使用私有的Cache、并且在私有Cache中缓存共享可读写的数据,就需要维护一致性,但是不一定完全用硬件来维护。现在几款众核处理器中,Tile系列是软硬件协同的目录协议,实现方法是通过操作系统或Hypervisor找到数据块的宿主结点(home),在home结点上会有目录,通过目录实现Cache一致性协议。而Intel的单芯片云计算机SCC芯片,使用的是MPI编程,没有一致性的问题。我们实现的T中,在私有Cache中也可以缓存共享的数据,由于考虑到纯硬件支持一致性协议比较复杂并且开销大,就实现了李凯老师提出的Scope Coherence,这相对增大了程序员编程的难度。但是,我觉得软硬件协同的Cache一致性协议是一种必要的发展趋势。
或者,还有一种硬件实现方式,就是对于共享可读写的数据不在私有Cache中缓存,而只在共享Cache中缓存,这需要程序员指定哪些数据是共享可读写的,这种情况就可以不支持一致性了。
如果说的不清楚,我们再交流。
============================================================
------ 2010-05-06, 18:48:46, you have writen about:------
Date(发送日期):2010-05-06 18:48:46
Subject(主题):Re: 资料
最近看了几篇对multi core的性能评测,其中提到在多核尤其是未来的众核系统
中,维护Cache coherence带来的overhead会很大,也可能会称为性能的瓶颈,所
以我想了解一下,在未来的研究趋势中,是否会取消在many core之间支持全系统
的cache coherence?目前是否有这方面的研究?