二维并行网格生成及划分.docVIP

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

二维并行网格生成及划分 梁 义1,3 陈建军1,2,3 陈立岗1,3 郑 耀1,2,3 1. 浙江大学工程与科学计算研究中心,杭州 310027 2. 浙江大学航空航天学院,杭州 310027 3. 浙江大学计算机科学与技术学院,杭州 310027 {yliang, chenjj, ligangchen, yao.zheng}@ 摘 要 由于在并行生成网格时不考虑子域间的邻接关系,利用传统并行网格生成算法生成的分布式网格必须进行网格重划分后才能进行并行求解。本文针对该问题,给出了一个通用的并行平面网格生成框架,它基于子域邻接关系定义子域图,结合子域负载预估和动态图划分,可在并行网格生成的同时得到高划分质量的分布式网格,从而有效降低网格重划分所引起的性能代价。本文最后通过在框架内集成序列化Delaunay网格生成器,验证了该框架的性能。 关键词:网格生成,并行算法,子域图, Delaunay三角化,网格重划分 1 引言 网格生成是数值模拟过程中的重要步骤。序列化网格生成的研究经过几十年的进展已经趋于成熟 [1],当前,为满足求解大规模计算问题的需要,并行网格生成正逐渐成为该领域一个新的研究热点[2-6]。 并行网格生成的过程通常采用问题并行方式。即先通过区域分解将问题域分解为多个子域,再将每个子域分别映射到各个有效的处理器上,在其上调用序列化网格生成算法生成子网格[2],从而获得分布式网格。 在并行模拟环境中,并行网格生成的结果被用来进行并行求解,后者要求传入的分布式网格具有较高的划分质量(partitioning quality)。这里的划分质量以两个指标衡量:(1)负载平衡;(2)通信最小化。负载平衡指分布在各个处理器上的子网格的规模应近似相等;通信最小化则指子网格的共享节点数应尽量少。由于传统的并行网格生成过程在将子域映射到各个处理器时,不考虑其间的几何邻接关系,分布在同一处理器上的子网格往往由几何上不相邻的子域网格构成,造成子网格之间的共享节点数过大,无法满足通信最小化的要求。为此需要在并行网格生成后进行网格重划分(mesh repartitioning),以改善分布式网格的划分质量。然而网格重划分过程牵涉到大量的I/O操作,在并行模拟全过程中往往引入新的性能瓶颈,当网格规模很大时,这一现象尤其严重[7]。 针对这一问题,本文引入子域图概念[8],设计了一个模块化的并行网格生成框架。利用该框架可以在并行生成网格的同时可直接产生较高质量的分布式网格,从而降低甚至消除网格重划分的代价。通过采用Delaunay网格生成算法和该框架的集成,我们验证了该框架的有效性。 2 总体框架 图1给出了并行平面网格生成程序的总体框架,它包含四个模块:区域分解模块、子域图管理模块、并行网格生成模块和网格重划分模块。引入子域图后,网格重划分过程不是必需的步骤,图中用虚线框示意。 区域分解模块部分的算法目前已有很多,由于该模块相对独立,因此理论上这里可以采用任何区域分解方法。唯一需要保证的是,区域分解过程最终输出指定格式的数据,以方便与后续的子域图模块衔接。 图1 并行平面网格生成的总体框架 3 子域图及并行网格生成 3.1 子域图 子域图是无向图,每个图结点对应于一个子域,相邻的子域其对应的图结点之间存在一条图边。图结点和图边都有权重,结点的权重表示结点对应子域的负载,通过预估子域中可能产生的单元数来表示;图边的权重表示两个相邻子域间的通信量,用相邻子域的共享节点数来描述。子域图的创建可以在区域分解得到的结果基础上进行。 3.2 图划分及并行网格生成 建立子域图后,将子域映射到各个处理器上的问题就等效成子域图的划分问题,图划分的结果取决于图结点和图边权重值的精确程度。若事先预估的权重足够精确,则采用静态图划分(SGP, Static Graph Partitioning)即可[8]。然而事实上,当存在复杂密度控制策略时,对大多数通用网格生成方法,图结点的预估值和精确值之间总存在一定误差,因此静态分解所产生的分布式网格的划分质量往往较差,需要在并行网格生成时不断调整子域的分布,以改善这一情形,这种图划分策略也称动态图划分(DGP, Dynamic Graph Partitioning),其实施策略如下: 首先定义子域的移动优先级,规定位于处理器边界的子域移动优先级最高,而内部子域的移动优先级则和它离边界子域的最短拓扑路径长度成反比。移动优先级低的子域总是被优先选择在本地处理器进行网格生成,而移动优先级高的子域被优先发送到饥饿且无本地子域的相邻远程处理器进行网格生成。 4. 实验结果分析 为测试框架的整体性能,我们在框架中集成了Delaunay序列化网格生成器,采用Manager

文档评论(0)

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

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

1亿VIP精品文档

相关文档