流体力学数值计算中的负载均衡与科学数据集自适应粗化压缩方法
在科学计算领域,尤其是流体力学数值计算和科学数据集处理方面,负载均衡和数据压缩是两个关键的问题。本文将介绍一种用于纳维 - 斯托克斯方程数值解的负载均衡算法,以及一种用于科学数据集压缩的自适应粗化方法。
纳维 - 斯托克斯方程数值解的负载均衡
在求解纳维 - 斯托克斯方程时,为了提高计算效率,需要对计算负载进行均衡分配。传统的负载分配可能会导致处理器之间的负载不均衡,从而影响整体计算性能。
加权平均法的列转移
在某些情况下,处理器之间的负载转移可能会破坏域分解图的网格结构。例如,处理器 a 可能需要从处理器 b 接收两列网格点,处理器 c 可能需要向处理器 d 发送一列网格点。但这样的转移会使处理器 d 有两个邻居 a 和 b,破坏了网格结构。为了避免这种情况,我们采用加权平均法来确定列的转移数量。加权平均的计算公式为 ⌈(2 + (-1)) / 2⌉ = 1,这意味着处理器 a 将接收一列(而不是两列),处理器 c 也将接收一列(而不是发送一列)。这样,负载转移后,域图仍然保持网格结构。这个过程需要处理器沿着网格网络的两行进行通信。对于 √p × √p 的网格,该过程总共需要 O(√p) 的通信量。
模拟结果
为了评估负载均衡算法的有效性,我们进行了一系列测试。测试中,我们考虑了两种情况:不使用负载均衡算法和定期使用负载均衡算法。使用的方法是 SI - EDF,针对不同的网格大小进行测试。在物理计算中,我们假设负载呈正态分布,并使用一个比例因子 M 来确定计算垂直负载的不平衡程度。测试结果如下表所示:
超级会员免费看
订阅专栏 解锁全文
4

被折叠的 条评论
为什么被折叠?



