[发明专利]一种八叉树网格逐层负载均衡方法在审
申请号: | 202111341081.8 | 申请日: | 2021-11-12 |
公开(公告)号: | CN113918348A | 公开(公告)日: | 2022-01-11 |
发明(设计)人: | 高飞;任虎;刘明 | 申请(专利权)人: | 国家超级计算无锡中心 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06T17/00;G06T17/20 |
代理公司: | 无锡知之火专利代理事务所(特殊普通合伙) 32318 | 代理人: | 袁粉兰 |
地址: | 214000 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 八叉树 网格 负载 均衡 方法 | ||
本发明提供的八叉树网格逐层负载均衡方法,涉及负载均衡方法,通过两组八叉树将自适应与负载均衡解耦,一组以树形数据结构存储八叉树所有节点,负责八叉树的自适应功能;另一组以一维数组方式存储八叉树叶节点几何信息,负责逐层负载均衡功能。通过原始八叉树与实际八叉树实现八叉树的自适应与逐层负载均衡,且自适应功能不受限制,并行性能不受限制,同时完全分布式,理论上对并行规模无限制,并行效率高。
技术领域
本发明涉及负载均衡方法,尤其涉及一种八叉树网格逐层负载均衡方法。
背景技术
八叉树(Octree)是一种树形数据结构,树中每个节点(octant)的子节点数量必须是八个或零个。八叉树主要用于3D空间相关的操作,例如3D空间中的离散、剖分、遍历、搜索等等。八叉树使得这些操作可递归执行。八叉树的概念与3D空间有着密切的关系。在2D空间中树形数据结构表现为四叉树
(quadtree),在1D空间中表现为二叉树(binarytree)。八叉树在计算图形学(CG)、计算机视觉(CV)、计算机辅助工程(CAE)中有着广泛的应用。在CAE中八叉树可用于空间离散,如图所示为计算域离散后生成的八叉树网格。八叉树的特点在于它的节点可以加密和粗化。一次加密是指一个叶节点产生8个子节点,子节点全为叶节点,该节点本身变为普通节点。粗化是指具有共同父节点的八个叶节点被删除,父节点从普通节点变为叶节点。八叉树的加密粗化功能在网格划分中有着重要的应用,它可使网格单元在空间中高效地分布。
分布式主要是指分布式内存并行计算机。在分布式内存计算机上运行的程序称为分布式程序,相应的算法称为分布式并行算法。分布式八叉树是指运行在分布式内存计算机上,整体上是一个完整八叉树,并且具备八叉树功能的八叉树算法或程序。当八叉树被应用于某些依赖大规模并行计算的领域时,八叉树必须是分布式的。此时程序为了能够大规模并行,其所涉及的算法和数据是分布式的。例如在数值模拟中为了精度更高,空间离散产生地网格单元数量极为庞大,单个计算机节点不足以容纳网格和场数据,此时程序必须并行运行于多个计算机节点上。此时用于空间离散的八叉树也必须是分布式的,分布于计算机各个节点上,每个节点只保留八叉树的一部分且不可重叠。分布式八叉树带来了负载均衡问题。
负载均衡是指分布式并行计算机每个节点上的数据与任务量相对均衡,这样并行程序的运行才能达到较高的效率,原因类似于“木桶效应”。对于分布式八叉树,负载均衡是指每个计算机节点保留的八叉树叶节点数量尽量均衡。八叉树数据结构有着显著的分层特性,每个节点处于特定层上。反映在网格上,相同尺度的网格属于同一层。逐层负载均衡是指八叉树每一层的叶节点(注意是叶节点),都满足负载均衡,并且整体上也满足负载均衡。逐层的原因是对于某些数值计算算法,在遍历计算时由于网格层间存在依赖,必须逐层遍历。例如必须等待下一细层更新完成,当前粗层才能更新。此时八叉树的每一层在计算机各个节点上的分布必须是负载均衡的。
自适应是指八叉树根据空间中某个特征量分布的反馈,动态的进行加密和粗化。例如计算流体力学数值模拟中,对计算域中梯度大区域的网格进行加密。因为梯度大代表此处变化剧烈,需要更多网格以捕捉细节。而梯度小的区域网格可能存在荣誉,所以应被粗化以节省计算量。自适应是指网格的加密粗化与场的演化过程交替进行,由于八叉树可以自适应,场的演化更加精确,八叉树根据场演化过程的反馈进行自适应加密。网格的自适应对于数值计算结果的精度至关重要。当前所述“自适应”主要指加密和粗化。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国家超级计算无锡中心,未经国家超级计算无锡中心许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111341081.8/2.html,转载请声明来源钻瓜专利网。