词条 | 算法骨架 |
释义 | 名称算法骨架,英文全称是:algorthmic skeleton,是一种并行编程环境。并行编程环境为构建并行程序提供了基本工具、语言功能和应用编程接口(API)。Murray.Cole最早引入了skeleton(algorithmic skeleton)的概念,其中skeleton是算法的抽象,是对重复出现的算法和通信模式的精确、严格的定义,它对一系列的应用而言是公共的,并且可以并行地实现。 作用通过提供算法骨架,使得用户只需考虑问题的类型,适合哪种算法骨架,而不必显式地去处理如并行单元间通讯、同步等低层的并行特性,同时算法骨架还是与具体问题中无关的,从具体的问题和具体的并行环境都相解脱出来。所以算法骨架的作用可以总结为: (1)通过提高并行开发的抽象层次,简化了并行程序设计。 (2)通过skeleton的实现细节对用户透明,提高skeleton的可重用性和可移植性。 (3)在特定的体系结构上,skeleton的实现能够充分利用优化技术,从而有效提高并行程序的性能。 skeleton的上述思想与软件工程中许多成功的思想是相同的,如结构化的程序设计、面向对象编程和设计模式等。值得一提的是,设计模式的思想已被扩充到并行领域。由于skeleton与设计模式概念的相关性,基于skeleton的并行程序设计领域将基于skeleton与基于模式的并行研究工作很好地融合在一起,以提供一种通用的、更高层次的并行程序设计方法。 在特定的体系结构上,算法骨架能够充分利用优化技术,从而有效提高并行程序的性能,而这并不是所有从事并行编程的程序员所具备的,或者说让每一个并行程序员都编出很优秀的并行是很难的;这里的算法骨架独立于各种并行计算环境,与各种并行计算环境无关的,并针对不同的计算环境做出相应的调整。 当前国内外研究现状国内外关于算法骨架的研究也很多。 不同的组织都有各自的算法骨架,如Cole的eskel,Darlington、Rabhi、P3L等知名的骨架; 前景并行已经成为程序设计中的一个趋势,越来越高要求的计算,越来越多的多核处理器,都预示着未来计算机世界的并行趋势已成必然。 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。