找回密码
 新注册用户
搜索
查看: 9205|回复: 8

[转帖] 龙芯众核(64核)godson-T的研究

[复制链接]
发表于 2009-2-13 04:02:25 | 显示全部楼层 |阅读模式
原帖地址:http://bbs.cjdby.net/viewthread.php?tid=575198&extra=page%3D1

摘要 随着高性能计算需求的日益增加,片上众核(many-core)处理器成为未来处理器架构的发展方向.快速傅立叶变换(FFT)作为高性能计算中的重要应用,对计算能力和通信带宽都有较高的要求.因此基于众核处理器平台,实现高效、可扩展的FFT算法是算法和体系结构设计者共同面临的挑战.文中在众核处理器Godson-T平台上对1-D FFT算法进行了优化和评估,在节省几乎三分之一L2 Cache存储开销的情况下,通过隐藏矩阵转置,计算与通信重叠等优化策略,使得优化后的1-D FFT算法达到3倍以上的性能提升.并通过片上网络拥塞状况的实验分析,发现对于像FFT这样访存带宽受限的应用,增加L2 Cache的访问带宽,可以缓解因为爆发式读写带给片上网络和L2 Cache的压力,进一步提高程序的性能和扩展性.
引 言
半导体工艺的发展, 使得微处理器设计面临的功耗、 热扩散等问题日趋严重, 片上多核处理器( CMP) 已经逐渐代替单处理器成为通用处理器的主流产品. 而面对日益增多的高性能计算需求, 片上众核处理器( many core ) 也开始成为研究的重点. 随着处理器核个数的增加, 计算资源也相对增多, 在芯片面积的约束下, 片上存储资源显得更加珍贵.在片上众核处理器平台下, 提高片上存储资源和通信带宽的利用率, 实现较高的计算效率是体系结构设计者的主要任务. 对于算法设计人员, 需要充分挖掘应用行为的并行性, 并根据众核体系结构的特点实现
高效、 可扩展的算法.只有两者紧密结合起来, 才能真正发挥出片上众核处理器平台的计算能力.
快速 傅立叶变 换 ( F F T) , 是离散傅立叶变换的快速算法, 广泛运用于通信、 数字信号和图像处理、 生物计算等领域. 1 9 6 5年CooleyTukeyFFT 算法[ 1]就已经被提出, 至今仍然被FFTW[ 2]等高效的F F T运算库所采用. 而高效的并行F F T算法研究和实现一直是高性能计算中的关键问题, 需要考虑到计算复杂度、 存储开销、
通信带宽和延迟等多种因素, 但在面向通用的片上众核处理器平台上对F F T的研究工作正起步不久.Willi a ms等[ 3]基于IBM 的Cell处理器, 利用 DMA和LocalMemory对F F T算法进行优化, 峰值达到41 .8Gflop/s .Govindaraju等[ 4]基于图形处理器实现了GPUFFTW 库, 峰值达到29Gflops/ s . C h e n等[ 5]基于IBMCyclop  64众核处理器平台上对FFT 算法进行了优化, 峰值达到 20 .7Gflops/ s .
Six StepF F T[ 6]作为并行测试集 SPLASH 2[ 7]中
FFT测试算法, 是一种常用的1 DF F T并行算法,我们以此为基础, 从软硬件协同支持的角度出发, 在
片上众核处理器godson-T上对1DF F T算法进行了评估.

3 多核处理器godson-T结构
片上多核处理器godson-T( 图2) 采用了2DMesh结构, 共有64个处理器核, 片上网络采用静态 X Y选路策略, 保证了片上网络的有序性, 数据总线 宽 度 为16Bytes . 片上存储层次包括处理器核内的Dcac he和 SPM 以及被分成16块的 L2Cache, 采用域存储一致性模型[ 8]
.  godson-T中的处理器核采用顺序双发射, 包含一个浮点加法部件和一个浮点加法部件, 工作频率为1 GH z ,使得godson-T的理论峰值可以达到192Gflops/s . 处理器核内包含了dcache和SPM, 通过全局地址空间进行划分, DTA的主要作用是在远程和本地S PM 之间进行连续数据块( 图3所示) 或者跨步长数据块( 图4所示) 的传输, 其中阴影表示需要进行传输的数据块( b l o c k)
结论
在对1DFFT算法进行优化的过程中,通过SPM 和DTA的共同支持, 不仅使得Six StepFFT
算法中的转置操作完全隐藏在数据传输过程之中,而且当处理器核的SPM 空间能够存储其进行F F T
变换的所需数据时, 可以将存放转置矩阵的地址空间和原矩阵空降共享, 将L2Cache的开销减少近三
分之一, 大大提高了片上存储资源的利用率.另一方面, 通过DTA的编程接口, 采用计算与通信重叠的编程模式, 通信的延迟被隐藏在计算过程之中, 容忍了因为 DTA 的爆发式读写造成的片上网络压力增大, 网络延迟增加的负面影响, 使得其相对于原始的Six StepFFT算法, 相同处理器核数的性能提升了3倍以上.除此以外, 通过片上网络平均延迟和扩展性分析, 我们发现在采用软硬件协同支持的优化策略之后, 各个处理器核对L 2C a c h e访问频率提高, 竞争加剧, 而L2Cache带宽的限制使得对L2Cache的访问造成了网络拥塞. 当将L2Cache由16块变为64块时, L 2C a c h e的访问带宽也相应增加为原来的4倍, 程序的性能和扩展性都得到了较大程度的提高 。
很明显, 当采用64块L2Cache组织方式时, 优化方案的性能和扩展性都得到了更一步得改善, 当工作的处理器核数达到64时, 性能达到了47 .2 Gflops/s ,相当于一个处理器核工作性能的56.4倍, 和传统方案的加速比相当.因此, 增加L 2C a c h e的访存带宽, 可以缓解爆发式读写对L 2C a c h e和片上网络的压力, 使得程序获得更好的性能和扩展性.


最后, 我们将64K单精度FFT的最终优化结果和 NVIDIA的GeForce8800GTX、
IBM 的Cell以及Cyclops 64进行了比较, 在取得47  2Gflops/s最高性能的同时, 保持了24.6%的峰值效率, 证明我们提出的基于软硬件协同支持的1 DFFT优化算法是一种在众核平台上行之有效的方法, 对众核处理器的体系结构设计也具有一定的参考意义.
20090115_86d9f47f5b3710d4232faFHXGDfgHJ6h.png
20090115_b07113a944b37b05a5bchTCN2LZuDTUR.png
回复

使用道具 举报

发表于 2009-2-13 20:13:18 | 显示全部楼层
64核?不敢相信
回复

使用道具 举报

发表于 2009-2-15 23:31:41 | 显示全部楼层
龙芯最大的问题是无法自己生产,哪怕再好的设计自己做不出来。
回复

使用道具 举报

发表于 2009-2-16 22:09:27 | 显示全部楼层
对哦,是欧洲的法意半导体代工的,在人家手里制造,受制于人哦
回复

使用道具 举报

发表于 2009-2-17 17:47:56 | 显示全部楼层
龙芯不是基于X86架构进行设计,而是基于MIPS架构进行设计。

再一点就是产能上跟不上啊~
回复

使用道具 举报

发表于 2009-2-17 17:51:35 | 显示全部楼层
中科院龙芯主设计师胡伟武在其《龙芯3号多核处理器设计及其挑战》的报告中指出,龙芯3号多核处理器结构特征是多平台并行虚拟机结构,第一阶段到2008年做8~16核,第二阶段到2010年做32~64核。 可能使用45纳米技术


SH*T..   现在都有8-16核45nm的龙芯了?
回复

使用道具 举报

发表于 2009-2-17 23:02:19 | 显示全部楼层
产能?龙芯又无法自产,产能应该无限等于零。代工不算
回复

使用道具 举报

发表于 2009-2-18 15:33:25 | 显示全部楼层
又不是核心数的竞赛。。。。人家 INTEL AMD 想造几百核心都可以,只是没这个需要,人家是商业性质,提供的只会是市场要求量最大的产品。龙芯那不是商业性质,“爽”才是重点。
回复

使用道具 举报

发表于 2009-2-21 20:38:24 | 显示全部楼层
胡伟武搞的是虚拟多核么?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 新注册用户

本版积分规则

论坛官方淘宝店开业啦~

Archiver|手机版|小黑屋|中国分布式计算总站 ( 沪ICP备05042587号 )

GMT+8, 2024-4-28 11:19

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表