信息化 频道

芯片科学家试图超越“多核”

运算天才

  硬件加速对通用计算来说,仍是前沿研究而非实用的IT技术。橡树岭国家试验室的CIO斯科特·司徒汉(Scott Studham)也评论说,“这仍是一项新兴的技术。”但在不远的将来,随着高性能计算和商业数据处理的聚合度越来越高,这种方式也将使商业市场受益。现在的商业计算包含大量的数据处理,如市场人员需要部署非常消耗计算机资源的数据挖掘算法,银行希望追踪全球财经市场动态,而实业和零售业公司则希望跟踪从无线射频识别(RFID)设备涌入的大量数据流。“这是热门话题,”销售超级计算机集群的Linux Networx公司CTO乔舒亚·哈尔(Joshua Harr)表示。

  在许多方面,对加速器的兴趣反映了芯片设计的潮流。特殊用途芯片里10% 的电路都贡献给了数学浮点运算,而对比之下,通用型芯片如AMD的皓龙和英特尔的Xeon只用到1%~2%的硅基区域。它们的绝大部分电路都用于系统的各种控制元素、预测将进行哪个分支的运算和基于上述预测执行指令。

  这些需求的结果就是一块各方面很均衡的芯片。“无论你交给它什么任务,它都执行得不错,”松冈评论说。

  比起通用型芯片来,加速芯片可在更低的时钟速率上运行以节省功耗和热量。比如ClearSpeed公司的芯片可运行在250MHz。而英特尔最快的奔腾芯片运行在3.73GHz,是前者频率的15倍。

  使用特殊用途的芯片,应用程序的运行速度可以为原来的若干倍,以更低的功耗和无需额外增加网络节点就获得更高的性能。它们在用同一条指令处理多个数据点的矢量计算和把信号分解成频率分量的“快速傅立叶变换”计算,以及其他许多领域里的科学与工程计算里都显示了卓越的运算能力。

  目前为止,加速器最大的缺点是编程困难。“它们的威力非常好,但却难以控制。”为科学应用程序设计软件加速器的互动超级计算机公司(Interactive Supercomputing)的首席科学家,也是麻省理工学院(MIT)应用数学教授的艾伦·埃德曼(Alan Edelman)评论说。

  图瑞克表示,对IBM的客户来说,加速器编程的成本“高得吓人”,不但开发时间长,公司内部也缺乏足够资质的技术开发人员,而且还需要为每一种特殊用途的芯片建立一套全新代码库。

  DARPA是旨在简化超级计算机编程的项目,七月进入最后阶段。在这个名为“高效计算系统”的项目里,预计DARPA将从IBM、Sun和Cray三家公司中选出两家,颁发高达25亿美元的资助金以建造可供商用的超级计算机原型。

  同时,问题也显而易见:像C、C++、Fortran和Java这样的高级编程语言是按顺序执行指令的,而加速器在同一时间却需要处理成百上千条运算。一些先行的开发队伍已经在尝试把C语言移植到FPGA芯片上去,但是,除非你是专家,否则你就很难充分利用加速器的运算能力。

  ClearSpeed 公司CTO 约翰·格斯塔森(John Gustafson)宣布,他们已为自己的ASIC芯片的矢量运算提供了一套扩展版本的C语言。但即使用这种方式开发人员也只能利用到一半的主板性能。他们公司正在与软件商沃尔夫勒姆研究公司(Wolfram Research)和The MathWorks 公司进行合作,这两家公司为无数科学家、工程师和经济师提供数学建模软件包,ClearSpeed希望能够在自己的芯片上为这些应用程序做一些优化和调整。

  也许加速器市场接受度的最大挑战就在于如何把加速器技术应用到更广泛的商业领域中去。“你不但要考虑飞机表面的气流,”Linux Networx的哈尔表示,“你还得顾及微软Office、iTunes和Quake等应用。”

(信息周刊)

0
相关文章