POPPUR爱换

标题: 转载:龙芯3叫龙芯T? [打印本页]

作者: aeondxf    时间: 2009-1-16 16:47
标题: 转载:龙芯3叫龙芯T?
本帖最后由 aeondxf 于 2009-1-16 23:57 编辑

原地址: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优化算法是一种在众核平台上行之有效的方法, 对众核处理器的体系结构设计也具有一定的参考意义.
作者: aeondxf    时间: 2009-1-16 16:49
现在很多核的CPU都是in-order兔发射,龙芯3会不会是改进版龙芯1*N呢?
作者: wl00560    时间: 2009-1-16 16:52
看不懂,只是觉得好强啊,都比8800厉害了,这是真的吗?
作者: aeondxf    时间: 2009-1-16 16:52
龙芯众众核体系结构对clik语言的硬件支持及评测研究
集成电路工艺技术的进步使得将来的微处理器能够集成几百个甚至上千个处理核心. 近年来, 众核体系结构因其大规模并行处理能力得到了产业界[ 1 ? 3]和学术界[ 4 ? 7]的广泛关注. 前人基于众核结构的工作表明在科学计算和一些非规则计算领域, 经过手工程序优化能得到很高的性能. 我们之前的理论分析结果[ 8]也表明众核体系结构对局部性好的稠密矩阵运算有着巨大的潜力. 尽管如此, 如何编程众核体系结构仍然是一个没有很好解决的问题.在传统的共享存储体系结构中, 如硬件c c NUMA系统、 SMP系统以及多核系统中, 多线程编程模型具有十分重要的地位, 并且在操作系统内核、 数据库管理系统和网络中间件等基础软件领域获得了广泛应用. 多线程编程以顺序一致性( s e q u e n t i a lc o n s i s ?t e n c y) [ 9 ? 1 0]存储模型为基础, 通常需要基于目录或总线的集中式高速缓存一致性协议[ 1 1]的硬件支持. 然而传统协议扩展性在众核上实现代价高昂: 首先现目录/总线协议的语义都要求每当一个写操作执
行时, 都要主动将多个旧的共享版本置为无效, 当共享的处理节点很多时且互联网络拓扑结构比较复杂时, 这一操作的开销很大; 其次就目录协议而言, 目录存储本身会带来很大开销, 此外协议的状态机维护代价也会随着处理节点增加而增长. 基于此, 我们认为将来的众核体系结构应当采用扩展性更好的硬件机制来解决高速缓存的一致性问题. 一种可扩展地支持多线程编程的方法是采用弱一致性模型, 如域一致性( s c o p ec o n s i s t e n c y) [ 1 2], 但编程语义也随之改变, 程序员需要手工标示出所有对共享数据的
访问以保证正确的值传播[ 1 3], 这在一定程度上失去了顺序一致性模型下编程的直观性, 给程序员带来了额外编程负担.本文基于域一致性模型, 研究在众核体系结构
上对C i l k编程模型的硬件支持. 以域一致性模型为基础是为了实现可扩展高速缓存一致性协议( 第2节) . C i l k[ 1 4 ? 1 6]是 M I T的L e i s e r s o n等人提出的一种多线程编程语言, 是 C的精简扩展. 选择在众核处
理器支持C i l k语言的原因在于:
( 1) 任何一个C i l k程序都有一个串行语义, 程序员编写C i l k程序和串
行编程类似, 一些串行程序很容易就能并行化成C i l k程序;
( 2)程序员在编程时只需要把计算中存在的并行性表达清楚, 无需关心底层系统相关的调度、 复杂均衡和局部性等问题, 所有关于并行性的挖
掘及系统相关的工作由C i l kr u n t i m e完成;
( 3) C i l kr u n t i m e的基于任务窃取的随机调度( r a n d o mw o r ks t e a l i n gs c h e d u l i n g) 策略对C i l k程序能获得理论上优化的性能保证, 这对于性能分析和预测具有重要意义.
本文工作主要分为两部分. 首先是对C i l kr u n t ?i m e的支持. 为此, 我们提出一种以数据为中心维护高速缓存一致性的方法, 目的是改善域一致性模型
的可编程性. 以此为基础, 我们顺利实现了基于顺序一致性的多线程C i l kr u n t i m e ( V e r s i o n5 . 4 . 6) 到基于域一致性的众核结构的移植. 其次是对 DAG 存储一致性模型的硬件支持, 目的是提供程序员友好C i l k编程环境. 需要说明的是, 基于域一致性的多线程编程模型只对C i l kr u n t i m e可见, 对应用程序员而言是不可见的, 应用程序员只需要用C i l k语言编
写并行程序.
2 godson-T 众核体系结构
2. 1 体系结构模型
本文的工作基于godson-T TV 3的多线程体系结构.godson-T是中国科学院计算技术研究所目前正在研究中的一个面向较大规模并行处理的众核体系结构[ 7]. 如图1所示, 6 4个处理器核组织成为一个8×8的二维 ME SH 结构. 四周分布着1 6个按照地址散列( i n t e r l e a v e d) 的二级缓存体( L 2C a c h eB a n k) , 4个为一组, 每一组对应一个片上的内存控制器. 芯片内集成了4个I / O控制器和外设交互.处理器核的基本结构如图1的右半部分所示是一种简单的静态双发射顺序执行的结构. 图中F e t c h&D e c o d e模块负责取指和译码; R F s模块负责依赖分析, 寄存器堆访问和指令发射, 最多每拍可以发射两条指令到功能部件中, 功能部件里只
有访 存 部 件 需 要 和 R o u t e r和 C a c h e交互. 图中
C o h e r e n c eV e c t o r逻辑是本文为了改善域一致性编
程性增加的逻辑, 在第3节详细讨论. 目前每个处理器核支持用户态 M I P S指令集.
    godson-T片上网络的选路机制是静态X -Y 路由, 其具体工作方式如下: 若处理器核(x,y) 需要发送一个消息到处理器核(m,n) , 那么该消息首先沿着垂直方向( X 轴) 逐跳送至处理器核(x,y) , 然后再沿水平方向( Y 轴) 逐跳送到目的地( m, n) . 片上
消息的路由机制对片上网络的带宽利用率有很大影响( 第6节) .
godson-T V 3支持域一致性模型, 由于 L 2缓存所有核共享, 因此需要维护的是 L 1缓存之间的一致性. L 1缓存对于临界区外的访存操作而言是写回( w r i t eb a c k) 策略, 硬件不维护临界区外数据访问的一致性. 对于临界区内的访存操作需要分取数
( L o a d) 和存数( S t o r e ) 操作分别处理.
作者: ylxyrq    时间: 2009-1-16 17:45
我只知道这东东不会用在PC上= =
作者: samhrc    时间: 2009-1-16 19:55
我只知道这东东不会用在PC上= =
ylxyrq 发表于 2009-1-16 17:45


我也希望它别趟PC 这浑水。
作者: aeondxf    时间: 2009-1-17 00:13
不是比G80强,而是做某些事有优势而已。
作者: kunshanziyouren    时间: 2009-2-9 14:17
我只想问,啥时候我才会用上龙芯的电脑呢?
要能用,要让大家主动争着用,那才是真家伙。
纸上乱吹,看多了。
作者: 4479237    时间: 2009-2-9 15:07
回楼上你先要学会用LINUX
作者: marksman    时间: 2009-2-9 15:30
望了很多年都没见市面上有龙芯的东东
作者: 断刃    时间: 2009-2-9 15:50
期待强大起来。
作者: 见龙在田    时间: 2009-2-9 16:43
提示: 作者被禁止或删除 内容自动屏蔽
作者: maomaobear    时间: 2009-2-9 17:06
又一个卫星......

不过趋势是对的,还是cell启发的
作者: 那吗错币    时间: 2009-2-9 17:17
叫龙芯965
作者: wxl0055    时间: 2009-2-9 23:42
提示: 作者被禁止或删除 内容自动屏蔽
作者: itany    时间: 2009-2-10 00:06
又一个卫星......

不过趋势是对的,还是cell启发的
maomaobear 发表于 2009-2-9 17:06


不是cell启发吧
互联应该类似于之前的那个80核心的Tera芯片,内核和Atom类似
作者: 我是穷人    时间: 2009-2-10 00:29
提示: 作者被禁止或删除 内容自动屏蔽
作者: PMPMP    时间: 2009-2-10 15:35
忽悠无极限。。。。只要你肯骗。。。。
作者: bangel888    时间: 2009-2-10 19:00
原来龙蕊还在的呀 ?
作者: asus21    时间: 2009-2-10 19:11
不管叫什么,最要紧是性能高,价格低
作者: laoli06    时间: 2009-2-10 19:54
YY和忽悠的本事我国是最强的。只有想不到,没有做不到。真的,深有体会。别再受骗。




欢迎光临 POPPUR爱换 (https://we.poppur.com/) Powered by Discuz! X3.4