高级检索

    一种基于SMP的并行逐次超松弛迭代法

    A Parallel SOR Algorithm for Linear Systems on SMP

    • 摘要: 逐次超松弛迭代方法被广泛应用于油藏数值模拟中压力方程的求解.其并行实现是提高模拟速度的重要途径.传统并行方案大都只是在一次迭代内进行数据划分,而没有进一步将数据划分与迭代空间划分相结合,故针对SOR算法和SMP(symmetric multi-processors)系统的特点,以OpenMP为并行化实现工具,提出了基于SMP的并行逐次超松弛迭代方法(parallel SOR).方法通过改变不同迭代步内数据点的更新次序,使不同区域内的数据点可以并行执行多次迭代.总结出针对三维油藏区域在数据空间划分和迭代空间合并上相对较优的策略,分析了迭代过程中网格块的生长形状.与传统的并行策略相比,该方法具有可减小同步开销、改进数据局部性、cache命中率高等优点.实验结果表明,该方法具有较高的加速比和效率.

       

      Abstract: Reservoir simulation is an important area in high performance computing. SOR (successive over relaxation) iterative solution technique is used to solve the pressure equations in simulation. Parallel implementation of iterative solution technique is important for decreasing simulation execution time and improving simulation precision. Current published approaches are mostly restricted to implement parallel algorithms based on data partition in one iteration step. However, these approaches do not consider partitioning and merging iteration space, which makes algorithm have a very low efficiency. Considering the characteristics of SOR and SMP (symmetric multi-processors) system, using OpenMP as an implementation tool of parallel program, a parallel SOR algorithm is proposed. The parallel algorithm makes data in different area execute a number of iteration steps in parallel by rearranging points updating sequence. A new strategy of data partition and merging iteration steps during solving pressure equations in reservoir simulation is discussed. The new algorithm enables the locality of a program to be improved by iteration reordering, and the synchronization times to be decreased by merging iteration steps. Shape of each mesh block in different iteration step is presented. Compared with the current parallel implementation of SOR, this algorithm can decrease cost of synchronization and improve data locality. The experimental results on speedup and efficiency are also presented.

       

    /

    返回文章
    返回