上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
第1章 绪论
如今的世界是并行的世界。并行无处不在。从最小的设备(例如支持物联网的处理器)到最大的超级计算机,几乎所有设备都提供具有多个处理元件的执行环境。因此,这要求程序员编写能够利用硬件中可用并行性的并行代码。这种普遍性也意味着,实现支持并行程序的运行时环境是必要的。我们将在本书中讨论构建并行运行时系统的过程中涉及的问题。大多数(应用程序)程序员不用担心并行编程的复杂的底层细节,而应主要关注上层问题,不幸的是,上层问题也很复杂。
我们将介绍并行编程语言所依赖的基本构建模块,并讨论这些模块与现代机器架构的交互方式,帮助你理解如何为这些构建模块提供高性能实现。显然,这也需要你理解:
❑每种构造的合理性能指标是什么。
❑根据底层硬件特性,理论性能极限是什么。
❑如何测量硬件与程序代码两者的性能。
❑如何使用硬件特性的度量设计性能良好的软件。
在本书中,我们将展示由现代处理器设计方式所带来的有趣效果。程序员在实现高性能并行运行时系统的时候,需要考虑底层机器细节。我们将展示其中存在的(性能)陷阱。你将看到一些违反直觉的结论,它们很可能会误导你对机器性能的思考及实现决策。