资讯
安全
论坛
下载
读书
程序开发
数据库
系统
网络
电子书
微信学院
站长学院
QQ
手机软件
考试
安全
|
web开发
|
软件开发
|
移动开发
|
数据库
|
网络
|
系统
|
网站
|
考试认证
|
其他
|
读书频道
>
网站
>
网页设计
>
Visual C++并行编程实战:多核架构下分工与协作的设计模式
引言
12-08-13
叶孤城
收藏
我要投稿
本文所属图书 >
Visual C++并行编程实战:多核架构下分工与协作的设计模式
这本书所介绍的并行模式库(Parallel Patterns Library,PPL)实际上是一个模式化的C++模版库,而且作为Visual Studio 2010开发系统的一部分,它已经完全被内置到了这一版本的C++语言中。这意味着你可以像使...
立即去当当网订购
引言
在多核体系环境中,CPU仪表盘上经常显示着一个问题,即计算机上只有一个内核在满负荷运行,而其他内核则都被闲置了,这使得我们的程序看上去似乎受到了CPU性能的限制,但事实上,这才仅仅利用了多核系统中的一小部分性能而已。那么,这个问题有更好的解决方案吗?
答案是简单而明确的,那就是并行编程(parallel programming)。现如今,我们越来越多地发现,自己曾一直习惯于写的并且也为所有程序员熟悉的那种串行化代码(sequential code)显然已经无法满足用户的性能需求了。为了进一步提升系统中CPU资源的使用率,我们需要将应用程序分解成能各自为战的执行片断(piece),以便使它们能够在同一时间内运行。
并行编程使我们可以同一时间内调用多个内核资源,这能有效地提升应用程序的运行速度。
当然,说起来容易做起来难。毕竟并行编程一直被认为是专家们的领域,同时也常被视为是一个雷区,其中隐藏着各种难以重现的、诡异的软件缺陷。几乎每个程序员都会跟你老生常谈一个关于神秘bug如何导致并行程序运行结果与期望大相径庭的故事。
也许,那些故事让你对自己所面临的困难有了一些清醒的认识。但幸运的是,你不是一个人在战斗,并行模式库(Parallel Patterns Library,PPL)和异步代理库(Asynchronous Agents Library)引入了一个全新的并行编程模型,该模型大大地简化了编写并行程序的工作。当然,这些简化的背后隐藏着一系列精致而复杂的算法,它们能够很好地适应于多核体系(multicore architecture)中的动态分布式计算。此外,Visual Studio2010开发系统中还内置了一系列的调试器与分析工具,以便支持这个全新的并行编程模型。
如果觉得这里的内容太过拖沓,你也可以根据自己的需要直接参考1.3节。
另外,你还可以求助于久经考验的设计模式(design pattern),在本书中,我们介绍了一些最重要的、也是最常用的并行编程模式,并提供相应的基于PPL编写的可执行代码示例,对其进行辅助说明。至于这本书的使用问题,我们建议你最好先大致浏览一遍接下来的章节中提到的6个模式,看看你的问题中是否有一些特征与这些模式是相匹配的。如果答案是肯定的,就说明这些模式(包括相应的代码示例)是值得你去深入地学习、研究的。
尽管编写并行程序确实是出了名的难,但你不是一个人在战斗。
由于大部分并行程序都应该或多或少地遵守这些设计模式,因此,我们通常很容易就能找到一个相匹配的模式来解决特定的问题。如果真的没有一个用武之地,那很可能是因为我们遇上了一个难度很大的问题,这时候我们或许就需要去寻求专家或者专业文献的帮助了。
在本书中,所有的样例代码都可以在下面的网站下载:http://parallelpatternscpp. codeplex.com/。
点击复制链接 与好友分享!
回本站首页
分享到:
更多
您对本文章有什么意见或着疑问吗?请到
论坛讨论
您的关注和建议是我们前行的参考和动力
上一篇:
1.3 功能
下一篇:
1.5 小结
相关文章
图文推荐
JavaScript网页动画设
1.9 响应式
1.8 登陆页式
1.7 主题式
排行
热门
112 |
2.6 总结
112 |
2.5 unordered container无序容器
112 |
2.4 emplace_back减少内存拷贝和移动
112 |
2.3 forward和完美转发
112 |
2.2 move语义
112 |
2.1.2 右值引用优化性能,避免深拷贝
112 |
2.1.1 &&的特性
112 |
2.1 右值引用
3.2.3 Bootstrap栅格系统
3.4.4 自适应显示/隐藏页面内容
3.3.1 固定式布局
2.1.1 下载Bootstrap
3.3.2 流式布局
3.4.6 响应式Bootstrap
3.4.2 设计响应式图片
3.2.4 响应式Bootstrap栅格系统
文章
下载
读书
·
Win2000下关闭无用端口
·
禁止非法用户登录综合设置 [win9x篇]
·
关上可恶的后门——消除NetBIOS隐患
·
网络入侵检测系统
·
潜伏在Windows默认设置中的陷井
·
调制解调器的不安全
·
构建Windows 2000服务器的安全防护林
·
SQL Server 2000的安全配置
·
Windows优化大师注册机源码
·
Aspcode动画教程
·
WIN 2000服务器防止ICMP数据包攻击教程
·
实现网络隐身的简单方法
·
手工进行克隆帐号
·
用W32DASM破解网页合并器的密码
·
注册表操作动画教程
·
冰河陷阱v1.2
·
黑客攻防技术宝典:Web实战篇(第2版)
·
超级网管员——网络安全
·
代码大全(第二版)
·
软件之道:软件开发争议问题剖析
·
CSS插件工具箱
·
CSS入门经典(第3版)
·
C#并行编程高级教程:精通.NET 4 Pa
·
CMMI+敏捷整合开发
关于我们
|
联系我们
|
广告服务
|
投资合作
|
版权申明
|
在线帮助
|
网站地图
|
作品发布
|
Vip技术培训
版权所有:
红黑联盟
--致力于做最好的IT技术学习网站