查字典图书网
当前位置: 查字典 > 图书网 > 编程 > 并行程序设计原理 > 试读

并行程序设计原理[试读]

目录1

出版者的话 推荐序 译者序 前言 第一部分 基  础 第1章 导论 2 1.1 并行的威力和潜能 2 1.1.1 并行,一个熟悉的概念 2 1.1.2 计算机程序中的并行 2 1.1.3 多核计算机,一个机遇 3 1.1.4 使用并行硬件的更多机遇 4 1.1.5 并行计算和分布式计算的比较 4 1... 查看全部[ 目录1 ]

目录2

第三部分 并行程序设计语言 第6章 线程程序设计 104 6.1 POSIX Threads 104 6.1.1 线程的创建和销毁 104 6.1.2 互斥 108 6.1.3 同步 110 6.1.4 安全性问题 117 6.1.5 性能问题 120 6.1.6 案例研究1:连续过度松弛 124 ... 查看全部[ 目录2 ]

推荐序

早在1842年,意大利数学家Luigi Menabrea 就在其《查尔斯·巴贝奇的分析引擎》(《Sketch of the Analytical Engine Invented by Charles Babbage》)一文中阐述了并行的理念。他的这篇文章涉及计算机系统结构和程序设计的诸多方面。到了1... 查看全部[ 推荐序 ]

译者序

随着多核体系结构的出现和快速发展,使得并行计算科学的硬件基础设施发生了很大变化,如果把并行硬件基础设施看成是“经济基础”,则其相应的上层并行软件就可以视为“上层建筑”。由于“经济基础”的变化,作为其中重要的“上层建筑”之一的并行程序设计技术,必须进行相应的变化以适应新的“经济基础”。因此如何在多核体... 查看全部[ 译者序 ]

1.1 并行的威力和潜能

并行在日常生活中时常碰到。更为重要的是,在过去的几十年中并行以各种方式为计算机性能的稳定提高做出了贡献。现在新的机遇正在出现。下面让我们来详细论述这一点。... 查看全部[ 1.1 并行的威力和潜能 ]

1.1.1 并行,一个熟悉的概念

并行是我们熟悉的一个概念。杂耍(juggling)是人类能完成的一个并行任务。房屋建造是一种并行活动,因为几个工人能同时完成不同的工作,如电线配线、水管安置、锅炉管道安装等等。大多数的工业产品如汽车、吹风器、速冻食品,都以流水线方式进行生产,在流水线上正在建造的许多单件产品是同时进行加工或装配的。呼... 查看全部[ 1.1.1 并行,一个熟悉的概念 ]

1.1.2 计算机程序中的并行

以并行方式执行程序指令的主要动机是为了加快计算。但是现今的大多数程序是无法通过并行来改进性能的,因为它们的编写是假设指令是按序执行的,每次执行一条指令,即是顺序执行的。大多数程序设计语言的语义体现为顺序执行,按这种语义编写的程序通常严重地依赖于这种特征来保证正确性,因而很难有机会实现并行执行。当然,... 查看全部[ 1.1.2 计算机程序中的并行 ]

1.1.3 多核计算机,一个机遇

虽然单处理器的性能改进可能已接近极限,但摩尔定律的预言使得晶体管密度仍在不断提高。芯片制造商利用这一机会,在单个芯片上放置多个指令执行引擎以及相应的高速缓存。这种结构很快得到新的名称“核”(core),因为它代表了一个典型顺序处理器的核心部分。早期的多核芯片有2个、4个或8个核,但是核的数目随着新一... 查看全部[ 1.1.3 多核计算机,一个机遇 ]

1.1.4 使用并行硬件的更多机遇

到目前为止所讨论的使用并行的机遇只涉及少量的处理器。但实际上还存在许多更具雄心的机遇。 超级计算机 国家研究实验室、军事部门以及大公司所感兴趣的求解问题通常需要使用超级计算机,所谓超级计算机是指当今世界上最快的计算机。20年前,超级计算机是用户定制的单处理器系统(一般具有向量处理能力),但是1996... 查看全部[ 1.1.4 使用并行硬件的更多机遇 ]

1.1.5 并行计算和分布式计算的比较

如前所述,分布式计算和并行计算是不同的。 并行计算的传统目的是提供单处理器无法提供的性能(处理器能力或存储器);因此,它的目的是使用多处理器求解单个问题。而分布式计算的目的主要是提供方便,这种方便包括可用性、可靠性以及物理的分布(能从许多不同场所访问分布式系统)。 在并行计算中,处理器间的交互一般很... 查看全部[ 1.1.5 并行计算和分布式计算的比较 ]