多核芯片是工业的下一个巨大挑战

增加更多的处理核已经成为提高服务器和PC芯片性能的主要方法,但如果行业不能克服某些硬件和编程挑战,好处将大大减少多核世博会在加州的圣克拉拉,本周说。

Linley Group总裁兼首席分析师Linley Gwennap表示,目前大多数软件仍是为单核芯片编写的,需要重写或更新,以利用英特尔、Sun Microsystems和其他芯片制造商为其产品增加的内核数量。

他说,现有的应用程序在最多有4个处理器内核的cpu上运行速度通常会更快,但超过4个处理器内核之后,性能就会下降,甚至可能随着内核的增加而下降。一个最近的报告Gartner也强调了这个问题。

芯片制造商和系统制造商已经开始努力教育开发人员,并为他们提供更好的多核编程工具。一年前,英特尔和微软表示将投资2,000万美元在美国大学开设两个研究中心,致力于解决这一问题。Gwennap说,主流开发者缺乏多核编程工具可能是目前该行业面临的最大挑战。

在编写应用程序时,可以将计算任务的不同部分(如解决数学问题或渲染图像)分割并在多个核之间同时执行,这种方式并不新鲜。但是这种通常称为并行计算的模型到目前为止主要局限于专门的高性能计算环境。

但近年来,英特尔(Intel)和高级微设备一直在增加内核,作为一种更节能的方式来提高芯片性能,这与它们提高时钟速度的传统做法明显不同。英特尔正在为其即将推出的Nehalem-EX芯片构建8核,而AMD则在为服务器设计12核芯片。他们还添加了多线程功能,允许每个内核同时处理多行代码。

这意味着主流应用程序必须以不同的方式编写,以利用额外的可用内核。这项工作很难完成,并且可能产生新的软件bug类型。最常见的一种是“竞争条件”,在这种情况下,计算的输出取决于以一定顺序完成的任务的各个元素。如果不是,就会导致错误。

一些并行编程工具是可用的,比如Intel的C和c++的parallel Studio。该领域的其他供应商还有Codeplay、Polycore Software和Clik Arts。还有一种新的基于c语言的并行编程模型叫做OpenCL,由Khronos Group开发,得到了苹果、英特尔、AMD、英伟达等公司的支持。

但多核博览会的参与者说,许多可用的工具仍在开发中。EEMBC是一家为嵌入式芯片开发基准的非营利性组织,该组织的软件工程主管Shay Gal-on说,软件编译器需要能够识别出可以并行化的代码,然后在没有程序员手动干预的情况下完成并行化的工作。

Gwennapp说,尽管缺乏工具,但一些软件供应商发现为图像和视频处理等简单计算任务创建并行代码相对容易。他说,Adobe重写Photoshop的方式可以将放大和图像过滤等任务分配给特定的x86核心,从而将性能提高了三到四倍。

“如果你在做视频或图形,你可以把不同的像素集分配给不同的cpu。你可以通过这种方式获得大量的并行性,”他说。但对于更复杂的任务,很难找到一种单一的方法来识别可并行化的计算序列,然后将其分割。

虽然编程方面可能是最大的挑战,但也需要对硬件进行更改,以克服内存延迟和总线速度慢等问题。“当你在芯片上增加越来越多的cpu,你需要内存带宽来备份它,”Gwennap说。

在多个核心之间共享单个内存缓存或数据总线会造成瓶颈,这意味着额外的核心将大量浪费。他说:“当你有6个或8个cpu时,它们把所有的时间都花在彼此交谈上,而不会向前移动去完成任何工作。”

最终的责任可能落在开发人员身上,他们要在硬件和软件之间架起一座桥梁,以编写更好的并行程序。许多编码人员在硬件设计方面跟不上最新发展的速度,Gal-on说。他说,他们应该开放数据表,研究芯片架构,以了解如何让他们的代码表现得更好。

加入网络世界社区足球竞猜app软件脸谱网LinkedIn对最重要的话题发表评论。

版权©2009足球竞彩网下载

工资调查:结果在