六、特殊架构运算器对分布式计算的影响
只有CPU能够运算吗?如果在几年前答案当然是肯定的,因为没有别的运算器具备强大的可编程性,只有广泛通用的CPU具备这种能力。而现在,随着科技发展日新月异,已经出现了很多以前我们不敢想象的情况。
2005年,著名的PS3游戏机专用高性能处理器CELL发布了,全世界的目光立刻投向了它!Cell是以 IBM 所研发的 64 位元 Power 微处理器为核心,结合8个独立的浮点数运算单元所构成的多核心处理器。它共有9个CPU内核,一个Power架构RISC型64位CPU内核“PPE”和8个浮点处理用的32位8路SIMD型CPU内核“SPE”(Synergistic Processing Element)。SPE各个之间的最大数据传输带宽高达192GB/s。1个SPE的最大单精度浮点运算速度为32GFLOPS。8个SPE合计为256GFLOPS。
2006年1月24日,ATI正式发布新一代的高端产品——RADEON X1900系列。作为06年推出的新高端产品,RADEON X1900不仅拥有高时钟频率的特点,而且还在架构上作了大刀阔斧的改进,性能获得显著提升。RADEON X1900采用3:1的Pixel Shader:TMU比率,一共48个Pixel Shader,这项改进使得该GPU高频版的理论浮点运算能力达到了426.4 GFLOPS,而一颗主频为3GHz的Core2 Duo处理器的理论浮点计算速度仅有48GFLOPS。
ATI发布的RADEON X1900显卡
在豪华的硬件规格背后,这两款产品都蕴藏这更加令人兴奋的能力,那就是运算单元的可编程性。这意味着它们已经远远超出了娱乐类硬件产品的范围,而是一款强大的浮点运算器。核心中周边存储资源相对CPU比较缺乏,同时没有流水线概念,也就几乎没有分支预测和乱序执行能力,它们不属于CISC架构,意味着几乎没有庞大的前端解码等逻辑电路。但是这些架构拥有庞大的运算单元,这是CPU永远不可比拟的。这些架构的运算器件近年来的飞速发展超越了摩尔定律,也为高密度的科学运算带来了不可想象的力量。
2006年9月底,ATI宣布了通用计算GPGPU架构,并得到了斯坦福大学Folding@Home项目的大力支持,加入了人类健康研究。2007年3月22日,PS3正式加入史丹佛大学分布式运算研究计划,至今已有超过百万名 PS3 玩家注册参与。
分子结构
Folding@home在自身定位明确、成功发展的基础下,通过斯坦福大学的大力推广,已经获得了全世界广泛认同。而近期PS3和GPU的参与更是将Folding@home的运算能力推向高峰。值得一提的是NVIDIA在2008年6月果断宣布加入该项目,至今已经为该项目提供了超过2 PFlops运算能力。
显卡的运算能力
显卡的用处已经远远超出运行游戏,我们买到的显卡其实是一块高性能加速器。特别是现在NVIDIA和AMD的显卡产品都体现出了极高的浮点运算能力,双精度浮点运算中的衰减也越来越小。举例说,一款中端显卡一天24小时可以计算10个左右的大分子蛋白质折叠,而一款酷睿2双核E7200处理器在24小时内完成一个小分子包运算任务都非常困难。CPU和GPU在高密度多线程浮点运算中体现出的性耗比差异,相信大家已经非常明白。
该项目在中国同样有一群忠实的志愿者,他们大多数驻扎在中国分布式总站论坛,大多数用户使用自己的PC参与这项运算活动。在GPU客户端广泛普及后,有人使用HD4870、GTX280等高端显卡,而更多地则是9600GSO、3850等中低端显卡和普通CPU。在这里不求贡献多少,只要有一颗奉献的心就能把大家联在一起。
在2008年12月,另外一个重要的分布式项目SETI@home宣布,在多次测试和修正后,正式利用CUDA平台支持显卡计算。GPU通用计算的应用范围再次得到拓展,但这次不是在深奥的科研领域,而是广泛普及于公众的分布式计算。正式版使用中端显卡即可获得2~10倍于CPU的速度,项目方希望有支持CUDA显卡的志愿者都能使用新的高性能客户端来参与。可以说GPU的参与使科研工作效果获得了极大提升。