本发明专利技术揭示了一种空间计算并行化负载平衡方法,所述方法包括:S1、使用滑动窗口检测仿真空间内的密度分布情况,选取密度最大的前N个密度极值点作为气泡的起始位置;S2、获取每个气泡内的粒子数目,与平均值进行对比决定膨胀与收缩,调整气泡的大小;当内部粒子数目小于平均值时则膨胀,反之则收缩;S3、获取梯度力和挤压力的合力,并调整气泡的位置;S4、判断气泡对仿真空间内的粒子是否形成一个划分,如果是,则结束,否则,返回S2。本发明专利技术提出的空间计算并行化负载平衡方法,通过气泡对粒子密集区的避让来减少分界线上的粒子数目,从而减少计算过程中的通讯负载。
【技术实现步骤摘要】
本专利技术属于高性能计算讯
,涉及一种并行化负载平衡方法,尤其涉及一 种面向并行空间计算的任务分割和负载平衡的方法。
技术介绍
在科学计算中有这样一类计算,从微观的分子运动仿真、细胞群生长模拟到宏观 的大规模交通仿真以致天体的推演,这类仿真的对象可以表示成为空间重大量的相互作用 的粒子。对于这类仿真通常涉及较大的计算和存储要求,往往需要高性能的集群来进行分 布式仿真。在这类分布式仿真中,如何划分仿真任务是实现并行计算效率的关键。另外,这 一类仿真的另一个特点就是仿真对象的流动性,这意味着静态的任务划分不能完全满足动 态的负载平衡要求。另外在分布式并行仿真中时间的开销并不仅来自于计算,而且很大的一部分来自 于主机间通讯。一个粒子在主机间跃迁的时间开销往往百倍于其一个周期的计算开销。空 间的划分不仅要考虑到计算负载的平衡而且要尽量减少整个系统的通讯开销。也就是说划 分模型的划分面要避开粒子密集区,以减少由于粒子运动引起的在主机间的跃迁。对于这 一点,现有的研究中很少有体现。在现有的研究中多数研究者用固定的等空间划分来实现任务的划分,而没有考虑 到由于粒子的分布不均引起的负载不均衡问题。有的研究者根据粒子分布来进行划分,而 忽略了粒子的动态性,随着仿真的推演主机间的任务量失去了平衡。有的研究者考虑到了 动态的平衡,如采用小格子单元来划分,当负载不均衡时将小格子单元整个进行迁移,这种 划分方法增大了划分面的面积,从而增加了通讯开销。有的用凸四边形进行划分,而且利用 网格的演变进行动态的负载平衡,但是也忽略了划分面要避开粒子密集区这一要求,而且 凸四边形的周长在面积一定的情况下仍然太长,这仍然不利于减少通讯量。
技术实现思路
本专利技术所要解决的技术问题是提供一种,可通过 气泡对粒子密集区的避让来减少分界线上的粒子数目,从而减少计算过程中的通讯负载。为解决上述技术问题,本专利技术采用如下技术方案—种,所述方法包括Si、使用滑动窗口检测仿真空间内的密度分布情况,选取密度最大的前N个密度 极值点作为气泡的起始位置;S2、获取每个气泡内的粒子数目,与平均值进行对比决定膨胀与收缩,调整气泡的 大小;当内部粒子数目小于平均值时则膨胀,反之则收缩;S3、获取梯度力和挤压力的合力,并调整气泡的位置;S4、判断气泡对仿真空间内的粒子是否形成一个划分,如果是,则结束,否则,返回 S2。作为本专利技术的一种优选方案,设定处理机的数目为N,生成相应N个气泡,气泡大 小相同或者不同,对于二维平面上的所有气泡则表示为N个互不相交的圆;仿真空间中的 粒子数目为W,P =阶/#为总体负载的平均值,每个气泡内的粒子数目为W1, W2. . . . Wim, Wn;步骤S2中,气泡的膨胀与收缩取决于内部粒子的数目,当内部粒子数目小于平均 值时则膨胀,反之则收缩;其膨胀或收缩的速度取决于当前内部粒子数目与平均数之间的差异;设某时刻第 i个气泡的体积为Vi,下一时刻其体积为Vi’,则W-W权利要求1.一种,其特征在于,所述方法包括51、使用滑动窗口检测仿真空间内的密度分布情况,选取密度最大的前N个密度极值 点作为气泡的起始位置;52、获取每个气泡内的粒子数目,与平均值进行对比决定膨胀与收缩,调整气泡的大 小;当内部粒子数目小于平均值时则膨胀,反之则收缩;53、获取梯度力和挤压力的合力,并调整气泡的位置;54、判断气泡对仿真空间内的粒子是否形成一个划分,如果是,则结束,否则,返回S2。2.根据权利要求1所述的,其特征在于 设定处理机的数目为N,生成相应N个气泡,气泡大小相同或者不同,对于二维平面上的所有气泡则表示为N个互不相交的圆;仿真空间中的粒子数目为W, W =阶为总体负载的平均值,每个气泡内的粒子数目为W1, W2. . . . WN_i,Wn ;步骤S2中,气泡的膨胀与收缩取决于内部粒子的数目,当内部粒子数目小于平均值时 则膨胀,反之则收缩;其膨胀或收缩的速度取决于当前内部粒子数目与平均数之间的差异;设某时刻第i个气泡的体积为Vi,下一时刻其体积为Vi’,则3 根据权利要求2所述的,其特征在于4.根据权利要求1所述的,其特征在于步骤S3中,气泡在未与其他气泡相接触时也要受到粒子分布的情况的影响,主要目的 是要减少气泡的边缘接触高密度粒子区域; 气泡的边缘受到的梯度力的合力为5.根据权利要求4所述的,其特征在于当两个或多个气泡由于膨胀、收缩或梯度力的作用而相互挤压时,每个气泡受力为6.根据权利要求5所述的,其特征在于 每个气泡所受的力为梯度力和挤压力的合力为7.根据权利要求1所述的,其特征在于 步骤Sl中,使用kXk的滑动窗口检测仿真空间内的密度分布情况。8.一种,其特征在于,所述方法包括Si’、设定处理机的数目为N,生成相应N个气泡,气泡大小相同或者不同,对于二维平 面上的所有气泡则表示为N个互不相交的圆;仿真空间中的粒子数目为W,r =炉为总体 负载的平均值,每个气泡内的粒子数目为W1, W2. . . . ffN_i; Wn ;使用滑动窗口检测仿真空间内 的密度分布情况,选取密度最大的前N个密度极值点作为气泡的起始位置;S2’、计算每个气泡内的粒子数目,与平均值进行对比决定膨胀与收缩,调整气泡的大 小;当内部粒子数目小于平均值时则膨胀,反之则收缩;气泡的膨胀与收缩取决于内部粒子的数目,当内部粒子数目小于平均值时则膨胀,反 之则收缩;其膨胀或收缩的速度取决于当前内部粒子数目与平均数之间的差异;设某时刻第i个 气泡的体积为Vi,下一时刻其体积为Vi’,则W-W Vf = V^SV1-‘ ‘ ‘W1其中,δ为小于1的浮点数,代表气泡的膨胀速度系数,同时也描述了划分方法的收敛 速度,其取值根据粒子分布的密度和不均勻程度确定; S3’、计算梯度力和挤压力的合力,并调整气泡的位置;气泡在未与其他气泡相接触时也要受到粒子分布的情况的影响,主要目的是要减少气 泡的边缘接触高密度粒子区域;气泡的边缘受到的梯度力的合力为rT=\dj=\f{i)di·,LL其中,df由所在位置的密度变化情况计算得到,L为二维气泡的周长;当两个或多个气泡由于膨胀、收缩或梯度力的作用而相互挤压时,每个气泡受力为rP=\dj=\f(i)diLL其中,在挤压面上的力df由两气泡内部压强而定,忽略非挤压面上的受力df ; 每个气泡所受的力为梯度力和挤压力的合力为 Τ = β ζ+ ζ其中,β是梯度力的强度系数,代表算法中我们对梯度力的关切程度,取决于网络传输 的速度与计算速度之间的比值;设气泡在外力的作用下产生的位移为δ/,则 Al = aF3其中,α代表气泡受力运动的敏感程度,也代表了所述方法的收敛速度;S4’、计算气泡对仿真空间内的粒子是否形成一个划分,如果是,则结束,否则,返回全文摘要本专利技术揭示了一种,所述方法包括S1、使用滑动窗口检测仿真空间内的密度分布情况,选取密度最大的前N个密度极值点作为气泡的起始位置;S2、获取每个气泡内的粒子数目,与平均值进行对比决定膨胀与收缩,调整气泡的大小;当内部粒子数目小于平均值时则膨胀,反之则收缩;S3、获取梯度力和挤压力的合力,并调整气泡的位置;S4、判断气泡对仿真空间内的粒子是否形成一个划分,如果是,则结束,否则,返回S2。本专利技术提出的,本文档来自技高网...
【技术保护点】
一种空间计算并行化负载平衡方法,其特征在于,所述方法包括:S1、使用滑动窗口检测仿真空间内的密度分布情况,选取密度最大的前N个密度极值点作为气泡的起始位置;S2、获取每个气泡内的粒子数目,与平均值进行对比决定膨胀与收缩,调整气泡的大小;当内部粒子数目小于平均值时则膨胀,反之则收缩;S3、获取梯度力和挤压力的合力,并调整气泡的位置;S4、判断气泡对仿真空间内的粒子是否形成一个划分,如果是,则结束,否则,返回S2。
【技术特征摘要】
【专利技术属性】
技术研发人员:蒋昌俊,张栋良,陈闳中,闫春钢,丁志军,张亚英,
申请(专利权)人:同济大学,
类型:发明
国别省市:31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。