2012年3月4日星期日

Herb Sutter:欢迎来到丛林 zz

Herb Sutter在2004年发布的著名论文不再有免费午餐, 总结了过去几十年中软件行业的发展和摩尔定律带给CPU主频的飞速提升有着重要的联系,一直以来软件在性能方面的考虑都依赖着更高主频的CPU。到 2004年时,CPU主频已经接近物理的极限3.6GHZ左右,x86的厂商Intel和AMD都开始试着降低主频而增加更多的执行单元,即所谓的多核处 理器,Herb在04年的论文中谈到了硬件架构的改变对软件开发人员的影响,经过了七年之痒,时间证明了Herb的总结和预测是正确的。1975年到 2005年是单核的时代(从8080一直到Pentium IV),也是免费午餐的黄金年代,软件开发人员在这一时期是最幸福的,不用考虑并行的问题;2005年开始进入了通用多核的时代,开发人员必须编写并行代 码以提升性能,Intel的TBB和微软PPL都是为通用多核计算所提供的库;2011年开始,异构众核时代来临,Nvidia GPUs, APU, Cell(用于PS3游戏主机), Intel Xeon + MIC都是这个时代的产物,面对多核难题开发人员更多的情况是和库打交到。

标签: , ,


2010年4月28日星期三

如何给多核处理器编程 zz

《MIT技术评论》报道(中文),2002年英特尔公 司曾自信满满的表示,奔腾4处理器已经达到了3GHz,他们将在2010年开发出30GHz的芯片,采用10纳米或更小的制作工艺,实现万亿指令级别的性 能。然而至今处理器的频率仍然低于4GHz,而硅芯片正受困于发热等问题。虽然多核芯片部分解决了过热问题,但新的问题随之而产生:如何给多核处理器编 程?

哈佛大学计算机科学与应用数学教授Leslie Valiant说,高性能计算领域的并行原理几十年前就解决了。“现在的挑战,是寻找让这些老玩意儿依然有效工作的方法。”“我们从高性能计算的早期工作 了解到,有些问题适合平行,但是这些平行应用程序不容易编写....现在仍没有好的工具来隐藏并行,或令其浅显易实现。”...这就是为什么微软一直在尽 早发布并行编程工具。例如,F#,是微软通用ML编程语言的并行版本。它不仅使一些功能平行化,而且防止它们之间不当的相互影响,从而使并行软件变得更易 于编写。在商业和开源市场,其它新的语言和工具要么利用了多核处理的能力,要么掩盖了它的复杂性。其中包括谷歌MapReduce架构,它使并行计算更易 于在集群计算机上运行;Hadoop,一个MapReduce的开源实施项目,可以为数千个节点分配程序。类似Clojure和 Erlang等新的编程语言完全以并行计算为根本而设计,风靡全球的Facebook聊天程序就部分使用Erlang编写。

标签: ,


This page is powered by Blogger. Isn't yours?

订阅 博文 [Atom]