《深入理解并行编程》首先以霍金提出的两个理论物理限制为引子,解释了多核并行计算兴起的原因,并从硬件的角度阐述并行编程的难题。接着,《深入理解并行编程》以常见的计数器为例,探讨其不同的实现方法及适用场景。在这些实现方法中,除了介绍常见的锁以外,《深入理解并行编程》还重点介绍了RCU的使用及其原理,以及实现RCU的基础:内存屏障。最后,《深入理解并行编程》还介绍了并行软件的验证,以及并行实时计算等内容。
《深入理解并行编程》适合于对并行编程有兴趣的大学生、研究生,以及需要对项目进行深度性能优化的软硬件工程师,特别值得一提的是,《深入理解并行编程》对操作系统内核工程师也很有价值。
在我所看过的各种关于操作系统概念和并行编程的书籍中,我对Paul的书评价至高,它不是对学术方法的简单罗列,而是对现代硬件上运行并行系统的各种现实世界问题和面临挑战的细致分析,这一切都源于Paul在这一领域的丰富经验和巨大的贡献。
——OpersysCEO,《EmbeddedAndroid》作者KarimYaghmour
Paul
用他独特的对话式描述手法揭开了并行编程的神秘面纱,本书中既有真实案例,又有对硬件体系架构的说明,同时还用包含大量信息的历史视角加以阐述。本书的组织结构非常灵活,从浅尝则止到字斟句酌,读者总能发现适合自己的内容。
——Darren Hart
(
VMware
开源技术中心总监)
如果你想找到一本有深度,理论联系实际,并且详细讲解了构成
Linux
的重要并行代码实现的书,你手上这本书就是了。
——Borislav Petkov
(资深
SUSE
工程师,
Linux
多个硬件相关内核代码的维护者)
这是一本每个并行编程专业人员案头必备的参考书,浓缩了作者在该领域数十年的丰富实践经验。它也是一本学习并行编程的优秀教材,在涵盖主题的广度和深度方面表现优异。极具吸引力的写作风格使得本书的阅读成为非常愉快的体验。
——Facebook资深工程师,危险指针和无锁内存分配器的发明者MagedM.Micheal
Linux内核社区里高手云集,并且里面的人经常个性鲜明,以至于有很多人认为内核社区很不友好。但Paul是一个特别亲切、友善和耐心的人,不管是在内核邮件列表里还是面对面交流时。而这本书也体现了Paul的这些品质,他以至详尽易懂的方式解释并行编程方方面面的知识。这不表示这本书看起来很轻松,因为并行编程本身就很难。但真正有用的知识大概都没能够轻松获得。
——Linux内核cgroups和cpuset分支的维护者,华为Linux内核高级工程师李泽帆
尽管我在业界有多年的开发设计经验,依然从书中学到很多实用的知识。作者PaulE.McKenney用深入浅出地方式将自己在并行编程领域数十年的经验归纳在这五百多页中。译者谢宝友和鲁阳在系统编程上有着扎实的功底,用流畅的语言将本书翻译给广大国内读者。这是一本难得的技术好书!
——VoltDB研发部总监石宁
Paul是Linux了不起的黑客,也是Linux社区RCU模块的领导者和维护者。他的著作《IsParallelProgrammingHard,And,IfSo,WhatCanYouDoAboutIt?》首版在9年前就发布了。本书主要陈述了在适应多核硬件下提升并行软件的扩展性,避免由于锁竞争所引起的产品性能急剧下降,以及开展多核系统的设计、优化工作。
Paul所维护的RCU模块在Linuxkernel各个子系统中被大量应用,是保障kernel扩展性的基础技术,没有RCU就没有Linux现在优秀的多核性能和扩展性;在并行计算方面,Paul对于锁、RCU、SMP、NUMA、内存屏障等并行技术有深刻的了解,兼具近20年解决问题的实践经验。中兴同仁翻译此书,对于提升我国开源系统软件的设计水平和开发高端产品,均有重大意义。
——中国开源软件推进联盟主席陆首群
宝友的“自学成才”路径一直很让我印象深刻,贡献及收获在中兴这样一个正规军遍布的大型通讯上市企业,并通过一年的努力帮助中兴在开源社区提升代码贡献率和质量,又再次让我竖起大拇指!不忘初心的工程师梦想、学术上的坚持,以及职业生涯中的成就,宝友身上的这些闪光的品质都是怀揣梦想的年轻一代工程师们学习的榜样。
——Linaro全球执行副总裁大中华区总经理郭晶
在多核处理器已经成为主流计算架构的今天,理解和掌握并行编程技术,对于相关软件开发人员来说至关重要。《深入理解并行编程》一书系统讲述了并行计算的要点和难点,堪称经典,是入门和学习并行编程的不二推荐。
——LinuxIMX平台维护者ShawnGuo
《深入理解并行编程》全方面讲述了高速缓存、内存屏障、锁、RCU、并发性、实时性等知识,如同少林寺的“洗髓经”,是迈向“武林高手”的必修内功,值得对并行编程感兴趣的计算机从业者、尤其是操作系统底层软件从业者细读。
——RedHat资深Linux内核工程师庞训磊
此外,并行编程的作用越来越大,AI的涌现和大数据对计算量的要求导致GPU、FPGA及ASIC之类异构计算的兴起。这些异构计算都以并行计算为根基,并行计算很可能成为计算领域的下一个风口。
本书探讨了并行计算的根源。从硬件、锁机制、数据分割和RCU等多个方面,对并行计算的本质和如何应用做了很多分析工作,对读者理解并行计算和提高对并行计算的掌控力有很大的帮助。
——腾讯高级技术专家高剑林