|
|
|
|
移动端

推荐序

《高性能并行珠玑:多核和众核编程方法》本书由英特尔的技术专家撰写,全面、系统地讲解在英特尔至强处理器和至强融核协处理器上进行并行处理和编程的方法和技术。书中展示了如何在处理器和协处理器上进行并行处理和编程——展示了更好利用Intel Xeon Phi协处理器和Intel Xeon 处理器或其他多核处理器的系统计算潜力的最有效的方法。本节为推荐序。

作者:张云泉 等译来源:机械工业出版社|2017-11-14 17:16

技术沙龙 | 6月30日与多位专家探讨技术高速发展下如何应对运维新挑战!


推荐序

High Performance Parallelism Pearls: Multicore and Many-core Programming Approaches

能够为本书写推荐序,我感到非常荣幸,因为Intel Xeon Phi协处理器是一个激动人心的“计算神器”,欧洲核子研究中心(CERN)和高能物理(HEP)界都利用它来满足巨大的计算需求。当然,世界上还有许多科学和工程项目会因此受益。本书也包含了大量可以帮助程序员和科学家学习如何充分利用多核和众核处理器的实例。

堆积如山的计算需求:科学年正在形成

为了能够达到粒子加速器前所未有的高能量范围,CERN在21世纪初就开始为大型强子对撞机(LHC)做准备。

然而,这个项目已经不仅仅是构建粒子加速器。四个新的实验已经形成,科学家们也都在努力工作。ALICE、ATLAS、CMS和LHCb实验有数千个物理学家参与。无论是探测器的设计和建设,还是大型软件重建框架的设计和开发,都需要处理拍字节(PB)级的实验数据。这一切努力都是在寻求突破性的发现。

开放的标准

对于工业界,标准非常重要。投资开放标准一直是CERN的目标。我们发现Intel的理念也是一样。在与HEP界数百个科研机构和实验室的合作下,我们决定建立基于商用x86服务器的LHC计算网格(LCG)。在2001年,CERN成立了开放实验室,用于调研可能与LCG有关的新兴技术。从一开始,Intel就作为工业合作伙伴加入其中。在开放实验室里,我们进行的是领先于时代的研发工作,其结果可能是巨大的成功,也可能是惨败。这里曾经是且目前仍是一个非常真实的研发实验室!

对开放标准的浓厚兴趣,也驱使我们鼓励Intel将Intel Xeon Phi协处理器移植到Linux。Intel成功地实现了一个基于Linux的非常稳定的系统,并开放源代码,以鼓励创新。

热衷于众核架构

十年前,Intel Xeon处理器系列很快就演变成了强大的多核处理器。这是HEP界的天赐良机,因为每个物理事件(碰撞后所有粒子的状态)都独立于所有其他物理事件,所以大量的事件可以采用细粒度并行进行计算。在开放实验室,我们一直努力确保每一代新系统都能获得最佳的吞吐量。

在努力满足不断增长的计算需求的过程中,Intel所取得的发展为我们提供了新的选择。在2008年,我们非常热衷于Intel的“Larrabee”项目。虽然最初被宣传为图形处理器,但其本质上其实是世界上首个片上SMP集群。在这个设备上运行标准程序或程序内核应该是很容易实现的。当时没有硬件,只有如Michael Abrash的“First Look at the Larrabee New Instructions”这样的文章,在这篇文章中,Michael Abrash描述了标准x86指令集的一组非常复杂的向量扩展。在Intel实验室的Pradeep Dubey及其团队的帮助下,我们通过模拟代码片段看到了可喜的成果。可以并行地处于活跃状态的数百个x86线程引起了我们的兴趣。而常用的编程模型、语言和工具也将被证明仍具有巨大的价值。

Intel最初的性能目标主要集中于单精度(SP)浮点计算,这非常适合图像处理,但对于计算物理是远远不够的。我们的评论以及对于高性能双精度(DP)浮点计算的需求,在Intel Xeon Phi产品中得到了体现。

在2009年,除了Intel外,我们是第一个拿到了Knights Ferry(KNF)卡的团队,可以想象我们当时激动的心情。尽管现在把我们的所有论文成果结合在一起为时尚早,但Intel已经致力于这样的工作。与此同时,我们想要将一些LHC实验移植到KNF上。重离子实验ALICE和其他一些重离子实验的科学家们相互合作,开发了新版软件“Trackfitter”。新的代码根据传感器的坐标(传感器在给定的粒子碰撞中会发光)重构了整个轨迹,也就是重构了粒子的轨迹。在开放实验室,我们已经把它移植到Intel Xeon处理器上,因此只用了几个小时就将它移植到KNF上了。数天的工作就可以获得这样出色的成果,我们非常激动。

Xeon Phi的诞生:众核,卓越的向量ISA

我荣幸地收到邀请,于2010年5月在国际超级计算大会(ISC)上分享我们早期的工作成果。在这次会议上,Intel数据中心及互联系统事业部负责人Kirk Skaugen宣布Knights Corner为第一个产品级众核设备。不久之后更名为Intel Xeon Phi,预示着它将是系列产品,就像Intel Xeon一样。

你可能会问:为什么我们对此如此热衷?因为我们在Intel Xeon Phi的设计中看到了一个卓越的向量指令集架构(ISA)。通过将向量屏蔽寄存器与向量数据寄存器分开,该架构能够采用更优的方式处理程序中的数据流和控制流。Intel一直对业界的高昂积极性感到高兴,他们最近发布的AVX-512指令集将推动这个向量架构也加入他们的多核处理器。

同时,我们也对众核的设计很感兴趣。程序的指令级并行(ILP)有限,因此将它们并行运行在功耗只有几瓦的内核上效果会更好。我们与探测器模拟软件Geant 4的开发者一起将数百个线程运行在一个Xeon Phi协处理器上,执行整个探测器模拟进程来演示这种方法的优势。未来将告诉我们小内核、大内核或者两者的混合,哪个是最好的选择。我们的目标是对所有可能都做好准备。这个众核方案所取得的令人鼓舞的成果使我们想要尝试将这种方法应用到一个单纯的处理器上,而不是一个协处理器上。我们非常期待基于使用下一代Intel Xeon Phi(也称为Knights Landing(KNL))的单机众核处理器的可引导系统。

学习具有高可扩展性的并行程序设计

Intel Xeon和Intel Xeon Phi系列内核数量的激增,为HEP界带来了福音。高能物理科学具有天然的并行性。真正令人兴奋的挑战是扩展到众核和向量化的过程。CERN开放实验室已经为此做出了贡献。近十年里,开放实验室在一系列的研讨会和高校中教授向量化和并行化,目前已经有超过1000名学生。我很高兴能够为大家介绍这本书,希望越来越多的读者能够学习如何使用这个堪称“业界标准”的现代微处理器来提高程序的性能。

未来需求增长:编程模型的重要性

LHC在20年内仍将继续运行。我们还雄心勃勃地计划提高能量和亮度,这必将导致事件的复杂性增加,从而提高对计算的需求。因此,我们必须通过向量化获得更高的效率。

重建物理事件的挑战在于如何捕捉每个交互的所有细节。在Intel的帮助下,我们实施“Geant V”项目来完成软件的向量化,以迎接这些新的挑战。受经验的启发,例如本书中所列的那些经验,在不久的将来我们很可能实现更高性能的解决方案。

本书将使为Intel Xeon Phi产品开发高层并行性(包括最优编程)变得更加简单。Intel Xeon和Intel Xeon Phi系列之间的通用编程方法对整个科学和工程领域都是有利的,相同的程序可以实现多核和众核的并行可扩展性和向量化。LHC还将运行很长时间,希望Intel Xeon Phi系列处理器能够在此期间不断优化来满足我们大量的计算需求。

——Sverre Jarp

CERN荣誉成员


喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:365934973

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

Java EE 5 开发指南

本书是对Java EE各种技术之间互相协作的概览和补充。 本书还展示了如何编写JavaServer Page(JSP)页面或者企业级JavaBean(EJB):探讨了...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊