读书频道 > 网站 > 网页设计 > Visual C++并行编程实战:多核架构下分工与协作的设计模式
推荐序一
12-08-13    叶孤城
收藏    我要投稿   
这本书所介绍的并行模式库(Parallel Patterns Library,PPL)实际上是一个模式化的C++模版库,而且作为Visual Studio 2010开发系统的一部分,它已经完全被内置到了这一版本的C++语言中。这意味着你可以像使...立即去当当网订购
并行计算技术大约诞生于40年前,那时候它还只是一门冷僻学科(如高能物理学)和工程应用技术(如计算流体力学),是一个只有专家们才会涉足的领域。而如今这项技术已经取得了长足的进步。
这种变化的根源来自于硬件的发展趋势。崇尚一味提高处理器时钟频率的时代已经走到了终点,取而代之的是由摩尔定律所预测的芯片密度的增加,由此多核处理器和单芯片集成多处理器应运而生。如今四核处理器已经司空见惯,按照这样的趋势,几十核的处理硬件也会在不久的将来面世。
在过去的五年中,Microsoft公司借力这个技术变革的时机开发了多种并行软件,其中包括专为基于“消息传递接口”(Message-Passing Interface,MPI)程序而设计的高性能计算集群(High Performance Cluster,HPC)技术,提供基于“映射-缩减”(Map-Reduce)风格并行数据处理的Dryad平台,应用户要求提供计算处理核心的Windows Azure技术平台,为代码编写开发的并行模式库(PPL)和异步代理库,以及Microsoft .NET Framework 4的并行扩展等。
从复杂的科学和设计问题到商业应用和新型人机交互接口,多核计算对应用程序开发的方方面面产生了广泛的影响。我们以前总是自嘲说:“并行计算的确是未来趋势,只是它永远在未来。”今天看来,显然是我们过于悲观了,并行计算最终从角落走向了应用开发和IT产业的中心舞台。
但是这也带来了一个隐患。为了能让应用程序运行得更快,如今的程序员们不得不考虑怎样划分计算工作量以充分利用多核处理器的能力,而这种高级技能只有专家们才掌握。并行化编程给大多数开发人员提出了巨大的挑战,这种挑战对于很多人来说还是初次遇到。所以,怎样让诸多程序员尽快地从实践中学习并将并行化融入他们的应用程序,是当下迫在眉睫的需求。
在我一些从事计算机学科的同事中,流行着两种可能的设计思路:一是设计一种新的并行化编程语言;二是开发一个“无所不能”的并行编译器。这两种方法在学术上听起来确实很有意思,但是在面对一般开发人员的普及和简化并行化编程方面则显得力不从心。与之相对,一种更为实用的方法是为程序员提供一个封装了并行化编程复杂细节的库,然后告诉他们应该如何使用。
出于这样的目的,Microsoft Visual C++并行模式库和异步代理库提供了比以往API更高层的编程模型。举例来说,程序员可以以任务而非线程为单位来思考,这样就能避免复杂的线程管理问题。本书通过阐释将这些库放到设计模式的方式来告诉程序员如何使用它们,这样程序员们可以很快上手编写并行程序,从而提高程序的执行效率。
我相信,这本书以其对并行编程模式的强调和先进的编程模型,迈出了将并行化编程推入主流的重要的第一步。
Tony Hey
微软研究院副总裁
点击复制链接 与好友分享!回本站首页
分享到: 更多
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:1.3 功能
下一篇:1.5 小结
相关文章
图文推荐
JavaScript网页动画设
1.9 响应式
1.8 登陆页式
1.7 主题式
排行
热门
文章
下载
读书

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做最好的IT技术学习网站