论Cannon算法在并行计算机上运用研究.docVIP

论Cannon算法在并行计算机上运用研究.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文档。上传文档
查看更多
论Cannon算法在并行计算机上运用研究

论Cannon算法在并行计算机上运用研究   摘要: Cannon算法是一种较为便捷的并行算法,多用于计算机上的运用,采用这种算法能够大大提高计算机的运行效率,使得用户能够更好的使用计算机资源。本文主要从Cannon算法的基本原理,结合实际计算机运用,探讨Cannon算法在计算机环境中运行的最佳效果。   关键词: Cannon算法;计算机;并行算法   中图分类号:TP338.6 文献标识码:A 文章编号:1007-9599 (2012) 20-0000-02   计算机与数学是有着深厚的历史渊源,许多计算机问题从本质上来看都与数学运算密不可分。随着现代信息技术的发展,人们对并行运算提出了更高的需求,多核化的趋势也逐渐改变着计算机的面貌。   1 Cannon算法的矩阵划分   矩阵相乘的并行算法有三种,分别是矩阵按行划分、按照列划分以及按照棋盘式的方式来划分。相比较按行划分和按列划分,棋盘式的划分方式更加全面,并且更加具有可开发性,能够从并行度上予以更深入的研究和开发。针对n*n的方针,在棋盘划分中可以最多采用 个处理器进行并行计算相比较之下,按行或者按列来来分解最多只可以使用n个。我们将这种能够开发出更高的并行度的算法称作为Cannon算法。所谓棋盘划分就是将矩阵分成若干个子矩阵,将这些被划分的子矩阵分派给一个处理器,同时任一处理器均不包含正行或者整列。   2 并行计算的基本原理   并行算法是指一种采用多台处理器联合求解问题的方法和步骤,在并行算法中,原有的问题被分解成为了若干个子问题,从而在多台计算机上同时对其进行求解,最终解决原问题。将并行算法应用到实际中去,需要一个相对完善的架构-算法-编程的方法论。采用并行计算能偶将原有的大型且复杂的问题小化,分成若干个子问题,从而能够提高大型复杂运算的解决效率。此外,利用并行算法还能够大大提高计算机本身的资源利用率,降低单个存储器的限制。传统的串行计算的方式是在单个计算机上完成软件操作,受到计算机资源以及存储器的限制较大,因此基于串行计算发展而来的并行算法大大提高了计算效率,能够快速解决大型并且异常复杂的计算问题。   综合来看,并行计算具有其自身的特征,包括了以下几个方面:   一是将整体的复杂问题细化,将工作内容进行了分割和划分成各个离散的子问题,利于各个子问题并行解决。二是在并行计算中能够对多个程序进行同步和及时的指令执行;三是基于多个计算机资源下的并行算法能够大大提高问题的解决速率,减少问题解决的耗时,相对于单个计算资源有很大的提升。   这里的并行解决是相对于串行计算方法来说的,其并行主要分为时间上和空间上的并行计算,其中,时间上的并行计算主要是指流水线的计算方式,通过各个环节的综合运行提高运行效率。空间商的并行计算则是指能够在多个处理器上并行执行计算,按照并行计算的原理,可以对其进行分类,一般来说我们将其分为单指令流多数据流和多指令流多数据流。并行计算的存储结构主要包括了共享内存、分布式内存、混合型分布式共享内存等。   3 Cannon算法在计算机上的运用   3.1 Cannon算法在并行机器上减少通信时延的应用   众所周知,当通信数据量很大时便会造成较大的通信开销,或者当通信过于频繁时,即是数据量很小,也会造成通信开销,如何通过计算来减少通信开销,做好数据交换和分配具有重要意义。当数据在各个服务器端进行交换时,采用重叠技术,能够实现时延隐藏。Cannon算法运用于减少通信时延主要是做好任务的分配以及数据包的处理,因此在进行任务分配时,主要是采用轮流发放数据包的形式,当第一个数据包发完之后依次发送第二个数据包,采用这样紧密的连续发送方式提高数据包的任务分配,当采用这种方式轮流发放数据包时,服务器接到数据包之后就进行计算,采用这样的数据包接收和计算方式能够大大减少服务器接收数据包的耗时,提高服务器的计算工作效率 ,最终实现了在并行机器上减少通信时延的目的。   3.2 Cannon算法运用于并行计算机的优势   Cannon算法相对于单行或者单列的算法具有明显的组合优势以及可开发优势,将其运用到并行计算机中能够大大提高并行计算机的运行效率,具体来说,Cannon算法运用于并行计算机的优势体现在以下几个方面:首先它改变了阵列的各行和各列实施多到多播送的传统方式,实现了在各行和各列之间的循环移位,这对于并行计算机的总存储器来说大大降低了存储负担,从而减少了对处理器的存储的要求,客观上有利于释放存储空间,提高处理器的运行效率。其次,Cannon算法运用到并行计算机中能够大大提高并行计算的速率,在进行任务分配时能够缩短处理器的等待时间,缓解当前并行计算机中通信相对滞后的局面,因此总的来说,Cannon算法对于计算机的数值计算具有重要

您可能关注的文档

文档评论(0)

317960162 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档