|
你要是个做芯片的,现在如果不做multicore,上街都不好意思跟人打招呼。
可见多核有多热。AMD两core,Intel四core,IBM八core,我
们就要搞16core.下面只谈技术问题,不谈爱国卖国。
1. Cache怎么弄?
16个core是不能都share一级cache的,恐怕连二级cache也不能share。
不然走线太复杂,影响流水的速度,bandwidth和latency也成问题。
这么些个cache一分开,就得上cache coherence protocol。
(老胡的成名之作是搞DSM得,这个应该是相当的熟)。
就俩选择:snooping-based and directory-based
a) snooping-based 支持16个core刚刚够(参考David Culler的
parallel computer architecture第311页),但也有点够呛。
主要问题在memory bandwidth。似乎8个略好。
b)directory-based基本不太可能。如果把directory off-chip,
增加off-chip memory bandwidth的压力;如果directory on-chip,
估计die上没那么大的面积。
c)on-chip interconnect 到底是用bus呢还是cross bar.总觉得
bus应付不了16个core所需的bandwidth. 但如果用cross bar,
snooping就不好做了
2. Cache弄多大?
太小了不起作用,太大了会跟核心们抢片上空间。听说龙2是四发射,
乱序执行。想来也是个大个头。一下上16个,这住房略显有点紧张。
Intel dual-core itanium 2有1.72billion的transistor,其中
1.47billion用作了片上三级cache,一共24M.不知龙3要上多少
cache.核越多,同时能跑的线程也就多了,对数据量的要求也就
大了(线性增长),数据进不了chip,再多的线程也只有干等。
3.非均匀的cache结构(NUCA)
65nm,线延迟恐怕会成为dominate而成为主要矛盾。二级cache恐怕
得考虑这个问题,这个是02年ASPLOS的paper.
3. Power怎么控制
龙芯吆喝过low-power.可是cache是喝油大户,放多了power自然就
上去了。
4. Intel 80 core
千万别把它当回事,Intel自己内部的人都不把它当回事。他这个主
要是个宣传的东西。当真的是一个叫larabee的东西,面向media的多核芯片。
老外也讲究吆喝。你看看他们的80core白皮书,天花乱坠。
thread level speculation, transactional memory,这些还
在研究,不知道靠不靠谱的技术就已经上了80core的must list.
总之,有很多challenge的问题在里面,不是那么容易的。
感觉最好先做个2到4核的练练手,试试水的深浅,再上更多的core.
不过这样不好写proposal申请funding.
我是application oriented.
不是所有的application都有那么高的并行度,对于general purpose得
芯片实在是不需要做那么多的core,4-8个就可以了。
core得数目不是关键,你得把数据送到片子里去,要不然
core还得空转,这个方面还得量体裁衣,有多大的bandwidth就加多少core,
要不然就成暴发户,十指都带戒指了。
GPU,NPU就没有这样的问题,人家得application有那么多的并行度,
故core是多多益善。这就是为什么Intel搞larabee,没办法,小甜甜ATI
被牛魔王AMD抢走了
Amdal's law中还有个串行参数,还是得均衡一下,搞搞heterogenous的多核
所以没必要跟风,人家是撞上了墙,没办法的权宜之计。
现在主频没法往上加了,广告词不好写了,就改改把。
反正那么多晶体管闲着也是闲着。
多媒体压缩,解码全靠平行,不过是SIMD single instruction multiple data.
觉得并行无用是因为你无知。
【 在 Corinthian (Let it be) 的大作中提到: 】
: 我觉得并行计算日常没太大用
multicore 中的 core恰恰就是decode,operation, write-back 的pipeline,你认为
core还可能是其他什么东西?呵呵
【 在 Corinthian (Let it be) 的大作中提到: 】
: 界各好像不是多core的事情吧,多个流水线而已
一个芯片中实现多条流水线的才算multicore
multicore 只是并行运算的一种
你说并行运算和日常应用无关是个大笑话。
【 在 Corinthian (Let it be) 的大作中提到: 】
: 我想请问一下, SIMD是在 pentium mmx里就有的技术,为啥 pentium
: mmx不叫 multi core阿
nod
随便一下大矩阵运算就可能要多核
【 在 klim (klim) 的大作中提到: 】
: 一个芯片中实现多条流水线的才算multicore
: multicore 只是并行运算的一种
: 你说并行运算和日常应用无关是个大笑话。
Multi-Core 应该属于MIMD (multiple instruction, multiple data).
SIMD 是一种相对简单的并行化. 然而大部分的数学运算, 包括GRAPHICS,
MULTIMEDIA 只需要SIMD 就行了. 这一点可以说明其实 MULTI-CORE 对
家庭的桌面应用并没有太大的用处.
【 在 Corinthian (Let it be) 的大作中提到: 】
: 我想请问一下, SIMD是在 pentium mmx里就有的技术,为啥 pentium
: mmx不叫 multi core阿
few comments:
1. Larrabee is not just for media or graphics. it has long term target.
Intel invest in it is to bring all Graphic/media/financial/AI etc,
computation back to X86 and ISA world, which is the strength of Intel.
2. AMD merge with ATI happens after the kick off of Larrabee.
3. Nvidia is expensive and has too much overlap with Intel. at the same time
Nvidia doesn't want to be bought out by Intel.
4. 80 core project is for research but a lot of technologies, such as inter-
core connection and communication, used in the project will be used in the
future Intel product. this is a really critical project for future multi-
core or many-core product.
5. multi-core is the trend. GPGPU or GPCPU will be at war in these two years
few more more comments
1. don't just use your home computers and the applications you are running
at home to think if multi-core is useful for you or not. if Intel/AMD just
focus on Home PC, they are dead long time ago. Server/Graphic/Embedded is
the market that has higher margin.
2. single core CUP has performance bottle neck when core frequency reach
above 4G. at the same time the power consumption is higher. big data center
and server farm need to pay the electric bills and build special AC. right
now, the CPU is just a <80w part. multi core CPU can have dynamic power
management scheme to shut down the power for an individual core to bring
down the total power consumption.
http://www.lemote.com/bbs/viewthread.php?tid=6898&extra=page%3D1
龙芯3号共享分布式的L2,采用crossbar加mesh的互连结构。注意share并不意味着集中
。分布式共享是可以解决伸缩性问题的。
片内实现目录一致性协议也没什么大不了。
关于Intel的80个核,我同意你的观点。有一次我问Intel负责芯片设计的副总,到2010
年Intel的mainstream产品会有多少核,他想了半天说“Eight, maybe sixteen"。
关于功耗,16核在30-50瓦左右是可能的。四核在10瓦左右也是可能的。
个人感觉sun的niagara比amd,intel都好些。
龙芯应该参考一哈。 |
|