并行程序设计原理推荐序_并行程序设计原理推荐序试读-查字典图书网
查字典图书网
当前位置: 查字典 > 图书网 > 编程 > 并行程序设计原理 > 推荐序

并行程序设计原理——推荐序

早在1842年,意大利数学家Luigi Menabrea 就在其《查尔斯·巴贝奇的分析引擎》(《Sketch of the Analytical Engine Invented by Charles Babbage》)一文中阐述了并行的理念。他的这篇文章涉及计算机系统结构和程序设计的诸多方面。到了1958年,S.Gill针对并行程序设计进行了探讨,而IBM的John Cocke和Daniel Slotnick则针对并行数值计算进行了探讨。然而直到1962年,第一台多处理计算机才藉由Burroughs公司的D825而面世。此后,为数众多的公司提出并推出了不同系统结构的多处理器系统。 曾几何时,工业界和学术界进行了无数次的尝试,力图将并行程序设计置于主流程序设计的核心地位,但由于种种原因,这些尝试最终都未能取得成功。最主要的原因在于我们既然有能力将处理器的主频每12~18个月就增加一倍,因此除了那些依赖于大规模并行系统来加速其模拟运算的科学社团外,其他人就几乎找不到任何理由来编写并行程序。 然而近来,半导体工业界与微处理器供应商却遭遇到了屏障,即虽然我们依然能增加芯片的密度,但却再也无法增加主频。有鉴于此,多核处理器开始登场,比如Sun的Niagara系列,IBM的Power系列,AMD的Opteron,以及Intel的Xeon。事实上,供应商们未来将会提供时钟速度更低但核数更多的处理器,如Intel的Nehalem以及AMD的Istanbul。此外,其他形式的加速器也纷纷登场,例如GPGPU(如Nvidia的Tesla,AMD的Firestream,Intel的Larabee),Cell处理器,以及FPGA。 这就意味着,为了能充分利用多核处理器,我们必须寻找应用内在的并行性,必须要编写具有并行线程的代码。我们已然预见到串行程序会“逐渐减速”,以此观之,似乎并行程序设计的概念终将成为未来主流程序员所必须掌握的重要概念。 《并行程序设计原理》一书对学生以及初学者将颇有裨益。两位作者Calvin Lin和 Lawrence Snyder非常细致地将各种原则与当前的并行硬件和软件场景联系了起来,使得本书既能扎根于计算机科学的基础,又能与时俱进。这本全新的可实践且实用的书,必将使得阅读引人入胜且充满趣味。 本书着力介绍一系列不同类型的程序设计工具:如在共享存储器程序设计中介绍了Pthread、Java Threads以及OpenMP;而在消息传递程序设计中将MPI作为局部视图语言的代表,并提及了UPC等PGAS语言,而将ZPL作为全局视图语言的典范;此外还提及了3个最新的并行程序设计语言,即Sun的Fortress,IBM的X10,以及Cray的Chapel。 本书还探讨了一些高级内容:比如“理想”的并行程序设计语言所应遵循的基本原则;并行软件开发的方法学和方式,如在敏捷软件开发中最常用的增量式开发。 本书无论对于积极进取的HPC业内人士来说,还是通用程序员而言,都是一本极具价值的参考书。总之,这本可靠而翔实的书探讨了整个社团所将面临的有关并行化的挑战与问题。 Simon See博士 Sun高性能计算及云计算技术中心主任兼首席科学家 新加坡南洋理工大学兼职副教授 2009年6月

展开全文

推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读

《并行程序设计原理》其他试读目录

• 目录1
• 目录2
• 推荐序 [当前]
• 译者序
• 1.1 并行的威力和潜能
• 1.1.1 并行,一个熟悉的概念
• 1.1.2 计算机程序中的并行
• 1.1.3 多核计算机,一个机遇
• 1.1.4 使用并行硬件的更多机遇
• 1.1.5 并行计算和分布式计算的比较