- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
并行无存储冲突的邻接矩阵算法
摘要:邻接矩阵算法在科学计算与信息处理方面有着极为重要的应用,是图论的基础研究之一。针对目前邻接矩阵算法多是基于串行,或并行SIMD模型而无法解决存储冲突的问题,提出一种基于SIMD-EREW共享存储模型的并行邻接矩阵算法。算法使用O(p)个并行处理单元,在O(n2/p)的时间内完成对n个数据点邻接矩阵的计算。将提出算法与现有算法进行的性能对比分析表明:本算法明显改进了现有文献的研究结果,是一种并行无存储冲突的邻接矩阵算法。
关键词:邻接矩阵;并行算法;存储冲突
中图分类号:TP301文献标识码:A文章编号:1009-3044(2009)25-7201-02
An Parallel Adjacent Matrix Algorithm without Memory Conflicts
LI Zhao-peng, CHENG Yun
(Hunan University of Humanities, Science and Technology, Loudi 417000, China)
Abstract: Adjacent matrix algorithm plays a very important role in scientific computing and information processing, which is one of the most extensively studied branch in data mining. Presently the adjacent matrix algorithms based on serial or SIMD which can not process memory conflicts among different processors. To overcome this shortcomings, a new parallel algorithm based on SIMD-EREW is proposed in this paper. The proposed algorithms can compute adjacent matrix of n objects with O(p) processors in O(n2/p) time. Performance comparisons show that it is an improved result over the past researches.
Key words: adjacent matrix; parallel algorithms; memory conflicts
邻接矩阵技术在图论、科学计算等领域有着极为广泛的应用[1,2,4], 邻接矩阵是表示顶点之间相邻关系的矩阵,设G=(V,E)是一个图,其中V={v1,v2,…,vn}为顶点集,E为边集。G的邻接矩阵A是一个具有下列性质的n阶方阵,其中vi,vj∈V,a为边vi,j的权值.在图的运算中许多算法通常采用邻接矩阵作为存储结构来处理如:计算最短路径的Dijkstra算法、Floyed算法,Prim算法等,这些算法中都涉及到边的权值计算,对于一个n个顶点的完全图其权值边的计算复杂性将是O(n2)因此如何提高邻接矩阵中边的权值计算速度将是一个很有实际意义的工作。下面给出一种通过并行处理的方法达到既提高运行速度又能在最弱的并行计算模型SIMD-EREW实现的邻接矩阵算法。
1 并行无存储冲突算法
使用并行计算机解决一个应用问题时,就特别需要一个抽象的并行计算机结构作为研究高效的结构依赖性算法的基础,以保证并行算法适应于广泛的并行计算机结构,并能够依照抽象的结构分析并行算法的效率,以及指导与并行机结构相匹配的并行算法的设计。并行计算模型就是为并行算法的设计、分析而研究出的并行计算机的抽象结构。
1.1 计算模型
PRAM(Parallel Random Access Machine,随机存取并行机器)模型,也称为共享存储的SIMD模型,是一种抽象的并行计算模型. PRAM模型可以分为: 不允许同时读和同时写的PRAM-EREW;允许同时读但不允许同时写PRAM-CREW;允许同时读和同时写的PRAM-CRCW。
PRAM-EREW是功能最弱的计算模型TM 表示某并行算法在并行计算模型 M 上的计算时间,则TEREW = TCREW = TCRCW且
TEREW = O(TCREW*logP) = O(TCRCW*logP) (1)
其中p 为处理器数目,上式的含义是,一个具有时间复杂度 TCREW 和 TCRCW 的算法
文档评论(0)