失效链接处理 |
深入理解并行编程 PDF 下载
本站整理下载:
相关截图:
![]()
主要内容:
简介
并行编程已经获得这样一个声誉:它是一个黑客可以参与解决问题的困难领
域之一。教科书已经警告过我们关于死锁、活锁、竞争条件、不确定性、实时延
迟的危险。这些危险是非常现实的。在如何处理这些问题方面,我们已经累积了
多年的经验,也留下了多年的感情伤痕、白头发,这些失去的头发就和我们累积
的经验一样多。
新技术已经变得难于使用,但是随着时间的推移,终究会更容易使用。例如,
驾驶技术曾经是一项罕见的技能,但是在很多发达国家,这项技术已经很普通了。
这个引人注目的变化来自于两个基本原因:(1)汽车变得更便宜、更好用,因此
更多的人有机会学习驾驶。(2)由于自动变速箱、自动刹车、自动启动、大幅提
高可靠性以及很多其他技术方面的改进等等原因,汽车更易于操控。
同样的,其他技术(包括计算机技术)也有很多改进。编写程序不再是一件
困难的事情。电子制表软件允许大多数非程序员从他们的计算机得到结果。数十
年前,这需要专家才能胜任。或许更好的例子是 web 冲浪及内容发布。自 2000
年以来,非专业人士就使用各种社交网络,它们变得非常简单了。即使在 1968
年,这样的内容发布还是一个远期研究项目,那时还在用“落在白宫草坪上的
UFO”这样的比喻来描述它们。
因此,如果您想说并行编程在将来仍然象现在这么困难,那么请提供您的证
据。请注意几个世纪以来的各种例子。
1.1. 导致并行编程困难的历史原因
如标题所示,本书将采取一种不同的方式。不是抱怨并行编程的困难,而是
认真分析并行编程为何困难的原因,然后帮助读者克服这些困难。正如后面将看
到的一样,这些困难分为几类,包括:
1. 并行系统曾经的高价格以及相对罕见。
2. 研究人员以及从业人员的稀少。
3. 缺少公开的并行代码。
4. 缺少并行编程的工程经验。
5. 任务间通信代价高昂,即使是共享内存的计算机系统也是如此。
几乎所有这些困难现在都已经被克服了。首先,在过去数十年里,并行系统
的价格已经从数倍于房屋减少到一辆二手车的价格。这首先得感谢多核系统的出
现。早在 1996 年,就有文章在唤起人们对多核 CPUs 优势的注意。同时,在 2000
年的时候,IBM 在它的高端 POWER 系列中引入了多线程,在 2001 年引入了多
|