读书频道 > 网站 > 网页设计 > Visual C++并行编程实战:多核架构下分工与协作的设计模式
1.2.4 设计方法
12-08-13    叶孤城
收藏    我要投稿   
这本书所介绍的并行模式库(Parallel Patterns Library,PPL)实际上是一个模式化的C++模版库,而且作为Visual Studio 2010开发系统的一部分,它已经完全被内置到了这一版本的C++语言中。这意味着你可以像使...立即去当当网订购
通常情况下,程序员会先对问题所在的问题域进行甄别,然后在据此对代码进行并行化处理,以改善性能,这样一来,下一次再遇到类似瓶颈时就可以重用这个解决方案了。特别是当我们需要对一系列现存的串行程序进行并行化处理时,这种思路非常吸引人。然而,尽管这样做或许确实能让程序的性能获得初步的提升,但正如之前所描述的那样,这里隐藏着许多陷阱。因此,传统的分析、优化技术或许并不是最好的选择。而另一个更好的选择是:在充分理解具体问题或程序的基础上,发掘贯穿整个应用程序的潜在并行化需求。这个过程将会引导你去选择不同的架构或算法,以便更好地拓展程序在并行化方面的潜力。千万不要草率地界定性能瓶颈并贸然使其并行化,恰恰相反,我们应该通过改变程序的结构来并行化。 
在通盘考虑数据结构和算法之前,不要急着界定问题的瓶颈所在。 
分解、协调以及可扩展性共享技术之间是密切相关的,甚至是环环相扣的。因此,当我们在为特定的应用程序选择设计方案的时候,应该进行全方位的思考。 
请尽量使用设计模式。 
读完上面这些描述,你或许会觉得这太过形而上学,泛泛而谈了。究竟如何将问题分解成任务?到底该采用哪种协调技术,有更具体一点的回答吗? 
答案是肯定的,这本书中所描述的设计模式就是最好的回答。它们就是解决这些问题真正的捷径。一旦你领会了这些设计模式幕后的设计动机,就会自然而然地培养出某种直觉,而这种直觉将会帮助你将这些设计模式及其变体应用到自己的程序中。接下来,我们将会在剩下的章节中详细地介绍这些模式,以供参考
点击复制链接 与好友分享!回本站首页
分享到: 更多
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:1.3 功能
下一篇:1.5 小结
相关文章
图文推荐
JavaScript网页动画设
1.9 响应式
1.8 登陆页式
1.7 主题式
排行
热门
文章
下载
读书

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