基于SKELETON并行程序设计方法研究现状.docVIP

基于SKELETON并行程序设计方法研究现状.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于SKELETON并行程序设计方法研究现状

基于SKELETON并行程序设计方法研究现状   [摘要]并行程序设计是并行计算的难点之一。而基于SKELETON的并行程序设计方法为程序员提供的是并行程序的框架,比使用并行库(PVM和MPI)具有更高的抽象程度和通用性。简单地介绍目前国际上三种应用此方法所开发的模型或项目以及我们所研究的DPAPD模型,并做出比较。   [关键词]骨架 并行结构骨架   中图分类号:TP3文献标识码:A文章编号:1671-7597(200901      一、引言      并行程序设计是并行计算的两大难题之一。20世纪90年代,国际上就开始使用基于模式的思想进行并行程序开发,至今已发展出了多种方法和系统:如基于算法骨架的方法、基于设计典型的方法、基于并行结构骨架的方法等;并分别对使用这三种方法所开发的模型或项目如基于结构化的并行程序设计库eSkel、关于算法模式的系统SkeTo Project和基于并行结构骨架的方法研究的项目P3L以及我们正在研究的DPAPD模型进行了简单的介绍。      二、四种基于Skeleton的并行程序设计方法的简介      目前对于Skeleton有许多不同的定义,但它的要义是并行计算和通信的模型,且这模型可以被打包为“框架、模板”等(即它的参数可以由其他的代码来取代)。模型中的实现和分析部分可以共享,即模型中只有结构或框架而没有具体实现的细节部分。   (一)eSkel简介   eSkel(the Edinburgh Skeleton Library)是由爱丁堡大学信息学院开发的一种结构化的并行程序设计库,它为有经验的C/MPI程序员提供很多并行结构框架。eSkel的第一个版本eSkel1是由Murray Cole在2002年开发的。它是利用设计模式思想,即并行计算的重复出现的模式和迭代可以被抽象为框架或模板,并且可以把简单的操作作为参数。因此,提高了抽象的水平,并行程序可以用此框架或模板来得到,从而更加方便。它的目的是最大化由它的部件模式所提供的概念的灵活性,并且促进模式组合的动态选择。   (二)SkeTo Project简介   SkeTo Project(Skeleton Libaray in Tokyo)是由日本东京科技研究所(JST)开发的一关于算法模式的系统。它是基于结构化算法的,主要包含以下两个方面:1.许多数据结构的并行模式的实现,目前已经实现的并行模式库有:表(list),树(trees),矩阵(matrices),这些并行模式是用C++和MPI实现的;2.对模式程序的最优机制,调用了模式的程序可能会带来很多意想不到的负担,所以必须对模式程序的最优机制进行研究。如:并行模式accumulate是由于运用模式开发有效的并行程序和使用模式管理不规则的数据都不是容易而提出的,这模式不仅有效地描述了并行计算中的数据独立性而且为管理呈现了好多的代数性质。其他的关于最优化机制的模式正在实现当中,且实现后将添加到模式库中。此系统的目的就是帮助程序员更容易开发有效的并行程序。   相对于以前的并行程序开发系统,SkeTo Project的优势主要体现它的扩展性(Extensibility)上。这表现在,在此系统中,新的设计模式可以被定义,并且添加到系统的设计模式库中。但同时,定义新的设计模式并将之添加到系统中这个功能并不完善,因此,在一定程度上限制了SkeTo的实用性。   (三)P3L简介   P3L(Pisa Parallel Programming Language)是由意大利的比萨大学计算机科学学院开发的一种结构化的并行程序设计语言,它是基于骨架或模板的。P3L是建立在C语言的顶部,串行部分用C来实现(但也可扩展为用C++、Java、Fortran、HPF等来实现串行部分),并行部分就通过选用骨架或模板来实现。目前已开发的骨架模型(Skeletons model)包括:任务并行(FARM和流水线PIPE)、数据并行(MAP、REDUCE、SCANR和COMP)、控制并行(迭代LOOP和SEQ)。它的第一个编译器P31L是在1993/94年开发的,目前正在做的工作是:a:anacleto:产生C+MPI代码的新的P3L-2编译器,并且运行在Linux和Fujitsu下;b:ocamlp3l:一种基于Ocaml扩展的骨架。它比直接使用并行库(PVM和MPI)的效率更高表现在:它的并行部分使用已实现的骨架,从而无需处理并行细节部分。      (四)DPAPD开发模型简介   在我们的前期研究中,我们提出了一种基于设计模式和泛型编程的并行程序开发模型DPAPD。此模型的结构如图1所示。系统结构分为三层:抽象语言层、系统实现层和目标语言层。

文档评论(0)

189****7685 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档