频 道 直 达 - 新闻 - 读书 - 培训 - 教程 - 前沿 - 组网 - 系统应用 - 安全 - 编程 - 存储 - 操作系统 - 数据库 - 服务器 - 专题 - 产品 - 案例库 - 技术圈 - 博客 - BBS
51CTO.COM_中国领先的IT技术网站
找资料:

多核的涌现亟需新软件开发技巧

作者: 小丢丢 出处:IT168 2008-03-28 10:26    砖    好    评论   进入论坛
阅读提示:微软多核计算的主管Dan Reed称,目前整个世界上很缺乏那些并行计算的研究人员,而一个间接的原因就是学院里对于并行计算的关注度不够,而这些学院正是下一代软件开发人员诞生的地方。Lydon谈到,“当你真正需要在某点上平衡性能来产生出多个线程时,人们的判断就可以看出到底在哪个地方产生多线程更佳。”

微软的研究科学家称,在这周微软和Intel公司的宣告之后,很多的慈善组织都声称它们会给美国两所大学捐赠2000万美元,以帮助这些大学激发并行或者多核编程领域方面的研究。

微软多核计算的主管Dan Reed称,目前整个世界上很缺乏那些并行计算的研究人员,而一个间接的原因就是学院里对于并行计算的关注度不够,而这些学院正是下一代软件开发人员诞生的地方。

这么多年来,越来越高的时钟频率导致应用程序的代码运行的越来越快,而对于当前多核处理器来讲这一规则虽然成立,但却有所不同。

而这种不同可以做一个形象的比喻,那就是一部跑车和一辆学校的巴士。当跑车能够以很快的速度飞奔时,巴士虽然比较慢,但它可以载着更多的人前行。

问题就是,简单地在计算机CPU上增加多个核并不能增加传统应用程序代码的运行速度,这一结果是根据一项来自于Forrester研究公司的报告得出的。

该报告的作者写到:“为了从四核处理器上获得更好的性能并为更加密集的多核CPU做准备,应用程序的开发者就需要写一些代码,这些代码可以自动创建多个同时执行的线程,同时也负责线程的分配、同步并行工作并管理共享数据来保护多线程代码的同时执行问题。”

换句话说,复杂的工作需要拆分来填充这辆巴士上的空座位。

Forrester的报告还谈到:同时,当前四核处理器会激发更多的多处理器设计的思想,我们期待着2009年x86的服务器使用64个处理器核,并且2012年台式机也可以实现这一梦想。

当前的情况使得芯片的制造商以及主要的板级应用的软件厂商意识到多核编程的机遇和挑战。

TopCoder公司——一个软件开发厂商,邀请它的成员在一个工程不同的方面开展了一系列特别的竞赛。这项活动的另一个参与者是AMD公司,该公司也主要专注于多线程。

作为TopCoder的首席技术官Mike Lydon谈到,多核编程仍然是少数人所掌握的技术。我们从技术角度看到的情况就是这样,正如你所预期的那样,高端的开发者对于多线程非常熟悉,这这些人之后,就有很少一部分人熟悉这一领域了。

“这令我感到非常的吃惊,因为多线程编程并不是一个新技术,”他补充说到,“实际上,我们多线程指导性的文章在微软MSDN的站点上可以追述到1993年。”

Lydon谈到,“我认为这首先来自于学院一级,我听到的是很少的关于学院教授多线程编程的课程,但是,我始终认为并且希望,这一情况有所转变。”

但是,Forrester报告的观点还表明,这一问题还不至于紧急到非常时刻。研究指出,主要的操作系统和中间件产品都开始为多线程以及近似的“多核处理器”做好准备,并且公司的开发部门也在寻找ISVs来解决开发工具和平台的问题以更好地处理多核相关的任务。

但是,微软的Reed相信,随着时间的推移,多线程会成为每一个专业软件开发人员必备的技巧。

同时,当前大多数并行计算的资源并没有隐藏多线程编程的复杂性。“当前有一些软件开发工具的选择,但是它们中的绝大多数都是低级语言的扩展或者库,”Forrester谈到。

比如,在今年二月AMD open-sourced大会上,在一项叫做Framewave的工程下有超过3200个软件例程,这些例程可以让编码者建立针对x86处理器的多线程应用。

“库并不能提供完全的答案,但是我们可以把这些看成叠带的步骤,”AMD商务解决方案及软件策略的主管Margaret Lewis谈到。“当前,你可以做一些事情,而当你等到一些高级工具诞生以后可以进一步增加你应用的多线程能力,”她谈到。

当前在市场上还有一些高级的产品,比如由RapidMind公司销售的平台,该平台可以利用现有的单线程的C++代码,然后通过抽象层在多核上并行这些操作。

但是,认为有了好的多线程工具就足够了的想法是非常天真的,Lydon谈到,“当你真正需要在某点上平衡性能来产生出多个线程时,人们的判断就可以看出到底在哪个地方产生多线程更佳。”

【责任编辑:碧海蓝天 TEL:(010)68476606】

专题
WCF开发基础
Visual Studio 2005开发基础
测试开发人员参考手册
Groovy开发技术
VC++基础开发专题
我也说两句

匿名发表

(如果看不清请点击图片进行更换)


中 国 领 先 的 IT 技 术 网 站 ·
技 术 成 就 梦 想
·Java基础教程 (查看71982次)
·UML类图详解 (查看64876次)
·UML统一建模语言 (查看35332次)
·C#技术开发指南 (查看34171次)
·C++是垃圾语言?! (查看32690次)
·Java编程开发手册 (1196个砖)
·Java基础教程 (429个砖)
·C#技术开发指南 (309个砖)
·.NET开发手册 (240个砖)
·PB开发教程 (223个砖)
·Java编程开发手册 (654个好)
·Java基础教程 (574个好)
·.NET开发手册 (271个好)
·PB开发教程 (212个好)
·Delphi开发技术手册 (192个好)
订阅技术快讯
电子杂志下载
名称:SQL Server数据库管理精品黄皮书
简介:书中文章经过精挑细选,便于用户能根据自己的实际工作和学习,快速在本书寻找到相关资料。内容涵盖了SQL Server的安装与升级、语句查询、数据备份和恢复、自动化任务、数据同步、数据字典、安全和预防、性能和优化、集群等各方面应用信息,以及DBA管理人员在数据库管理工作中
名称:2007路由技术大全
简介:《2007路由技术大全》由51CTO.com网站特别策划制作,该书包括路由器技术、路由器产品、路由器配置、安全设置、路由器故障处理、路由器密码恢复,以及广大网友在实践使用中的心得经验和技巧文章,内容注重实用性,适用于初学者入门,也适合多年从业者提高,是一本实践和理论完
名称:网络安全精品应用黄皮书
简介:《2007精品网络安全黄皮书》包括了9个大类24个小类, 800余篇文章,内容包含了熊猫烧香病毒、DDOS攻击、ARP病等热点问题的介绍及解决方案。从病毒查杀、防范、系统、数据等各方面的安全设置到黑客技术的了解、防范,涉及到了安全应用的全部领域, 由浅至深内容全面。