Skip to main content
QUICK REVIEW

[论文解读] An Asynchronous Task-based Fan-Both Sparse Cholesky Solver

Mathias Jacquelin, Yili Zheng|arXiv (Cornell University)|Jul 29, 2016
Matrix Theory and Algorithms参考文献 7被引用 8
一句话总结

该论文提出 symPACK,一种基于 UPC++ 的异步、基于任务的稀疏 Cholesky 求解器,通过动态调度和单边通信在分布式内存系统上实现了卓越的性能。通过利用矩阵对称性并最小化通信开销,symPACK 在性能上优于现有最先进求解器,在 af_shell7 问题上最高实现 7.77 倍加速,平均比最佳对称求解器快 3.21 倍。

ABSTRACT

Systems of linear equations arise at the heart of many scientific and engineering applications. Many of these linear systems are sparse; i.e., most of the elements in the coefficient matrix are zero. Direct methods based on matrix factorizations are sometimes needed to ensure accurate solutions. For example, accurate solution of sparse linear systems is needed in shift-invert Lanczos to compute interior eigenvalues. The performance and resource usage of sparse matrix factorizations are critical to time-to-solution and maximum problem size solvable on a given platform. In many applications, the coefficient matrices are symmetric, and exploiting symmetry will reduce both the amount of work and storage cost required for factorization. When the factorization is performed on large-scale distributed memory platforms, communication cost is critical to the performance of the algorithm. At the same time, network topologies have become increasingly complex, so that modern platforms exhibit a high level of performance variability. This makes scheduling of computations an intricate and performance-critical task. In this paper, we investigate the use of an asynchronous task paradigm, one-sided communication and dynamic scheduling in implementing sparse Cholesky factorization (symPACK) on large-scale distributed memory platforms. Our solver symPACK relies on efficient and flexible communication primitives provided by the UPC++ library. Performance evaluation shows good scalability and that symPACK outperforms state-of-the-art parallel distributed memory factorization packages, validating our approach on practical cases.

研究动机与目标

  • 解决大规模分布式内存平台上稀疏对称正定线性系统求解中的性能瓶颈。
  • 克服现代超级计算机中复杂网络拓扑结构和性能波动带来的通信与调度挑战。
  • 开发一种可扩展、高效的稀疏 Cholesky 分解方法,最大限度减少填充并利用对称性以降低计算和存储成本。
  • 通过使用对称求解器而非非对称替代方案,在内存受限环境中实现高性能分解。
  • 验证异步任务化计算结合动态调度与单边通信在稀疏线性代数工作负载中的有效性。

提出的方法

  • 采用异步任务化编程模型,解耦计算与通信,实现细粒度负载均衡。
  • 在节点内部使用动态调度,根据运行时资源可用性和数据依赖关系自适应分配任务。
  • 通过 UPC++ 实现单边通信,降低同步开销,提升在分布式内存系统上的可扩展性。
  • 应用超节点重排序与数据结构,将具有相同稀疏模式的列分组,以最小化填充并改善数据局部性。
  • 引入调度约束,防止在缓冲区空间耗尽时异步通信中发生死锁。
  • 利用矩阵的对称性,仅存储下三角因子,从而降低存储与计算成本。

实验结果

研究问题

  • RQ1异步任务化计算在大规模分布式内存系统上的稀疏 Cholesky 分解中,如何提升性能与可扩展性?
  • RQ2动态调度对具有不规则数据访问模式的稀疏 Cholesky 求解器的负载均衡与性能有何影响?
  • RQ3与传统的基于 MPI 的方法相比,通过 UPC++ 实现的单边通信是否能有效降低通信开销并提升可扩展性?
  • RQ4与 SuperLU_DIST、MUMPS 和 PASTIX 等最先进的对称与非对称求解器相比,symPACK 在性能与内存效率方面表现如何?
  • RQ5在避免使用非对称 LU 分解的前提下,所提出方法在内存受限条件下能多大程度上保持高性能?

主要发现

  • symPACK 平均比最佳对称求解器快 3.21 倍,在 af_shell7 问题上最高实现 7.77 倍加速,表现出强大的可扩展性。
  • 在 audikw_1 和 bone010 矩阵上,symPACK 分别实现平均 1.77 倍和 1.47 倍的加速,即使 SuperLU_DIST 更快,也表现出优势。
  • symPACK 在 af_shell7 问题上优于所有现有最先进求解器,最大加速达 7.77 倍,最小为 0.89 倍。
  • 该求解器在所有测试矩阵上成功扩展至 2048 个处理器,包括 boneS10,而 PASTIX 和 MUMPS 因内存限制失败。
  • UPC++ 的单边通信与异步函数启动能力使低开销、高效率的任务执行成为可能,同步开销极小。
  • 所提出的死锁避免调度约束能有效防止异步通信场景中通信缓冲区耗尽的问题。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。