本章将会概述并行编程架构与编程模型。 这些概念对于初次接触并行编程技术、 经验不太丰富的程序员来说非常
有价值。 对于有经验的程序员来说, 本章内容可以作为一个基本的参考。 本章还会介绍并行系统的双重特性。 第一个
特性基于系统架构, 第二个特性基于并行编程范式。 对于程序员来说, 并行编程总是充满挑战的。 这种基于编程的方
式还会在本章后面介绍并行程序的设计过程时进一步阐述。 本章最后将会对Python编程语言进行简短的介绍。 这门语言
的诸多特性(比如易于使用和学习, 可扩展性以及丰富的软件库与应用) 使得它对于任何应用来说都是一个颇有价值
的工具, 当然, 对于并行计算亦如此。 本章的最后一部分将会介绍线程与进程的概念, 以及它们在Python语言中的使
用。 解决大问题的一种典型方式是将其分解为一系列小问题以及独立的部分, 这样就可以同时解决它们了。 并行程序
就是针对使用这种方式的程序而设计的, 也就是说, 对于一个一般性任务来说, 使用多个处理器同时工作。 每个处理
器都处理属于它自己的那部分问题(独立的部分) 。 此外, 处理器之间的数据信息交换可以发生在计算过程中。 时至
今日, 很多软件应用都需要更多的计算能力。 达成该目标的一种方式就是提高处理器的时钟频率或是增加每个芯片上
的处理器核心数。 提高时钟频率会增加散热, 从而降低每瓦特的性能; 此外, 这还需要特殊的冷却设备。 增加核心数
只不过是一个看起来可行的方案, 因为能量功耗与消耗还远远没有达到极限, 在性能上并没有那么明显的提升。
1