这本书是对并行算法领域及其实现并行化的基础技术的介绍。强调的是在高级编程语言的永恒和抽象环境中设计算法。演示的重点是使用不同的并行计算模型对算法设计的实际应用。通过提供足够数量的算法来解决在科学和工程中的许多应用中经常出现的一些问题,以说明每个模型。本书在很大程度上是自包含的,不需要特别了解并行计算机或特定的数学知识。此外,每章末尾都包括了所有练习的解答。本书旨在作为并行算法的设计和分析领域的教材。它包括了并行算法课程在本科和研究生层面的充足材料。
随着计算机被应用的领域数量的增长,对更高计算能力的需求也在不断增加。获得非常高计算速度的一种方式是使用并行计算机,也就是,拥有多个处理单元或处理器的计算机。在这种情况下,问题被分解成较小的部分,这些部分被不同的处理器同时解决。并行算法,与传统的顺序算法相对,是一种在给定时间内可以执行多个操作的算法。在顺序算法中,使用随机访问机(RAM)作为计算模型来描述和分析算法。相反,在并行算法中,使用不同的模型来描述和分析算法,其中之一就是所谓的并行随机访问机(PRAM)。本章的目的是介绍并行体系结构和模型,并通过简单的例子来说明并行算法。