Skip to main content
QUICK REVIEW

[论文解读] A Comparison of Sequential and GPU Implementations of Iterative Methods to Compute Reachability Probabilities

Elise Cormie-Bowins|arXiv (Cornell University)|Oct 24, 2012
Advanced Memory and Neural Computing被引用 5
一句话总结

本文比较了在马尔可夫链可达性概率计算中求解线性系统的雅可比法与BiCGStab迭代法的顺序实现与GPU加速实现。研究发现,CUDA加速的雅可比法在稀疏矩阵上显著优于顺序版本,而GPU上的BiCGStab仅在大规模稠密矩阵上受益——这支持了雅可比法在概率模型检测中优于Krylov子空间方法的猜想,其原因在于稀疏性而非内存访问模式。

ABSTRACT

We consider the problem of computing reachability probabilities: given a Markov chain, an initial state of the Markov chain, and a set of goal states of the Markov chain, what is the probability of reaching any of the goal states from the initial state? This problem can be reduced to solving a linear equation Ax = b for x, where A is a matrix and b is a vector. We consider two iterative methods to solve the linear equation: the Jacobi method and the biconjugate gradient stabilized (BiCGStab) method. For both methods, a sequential and a parallel version have been implemented. The parallel versions have been implemented on the compute unified device architecture (CUDA) so that they can be run on a NVIDIA graphics processing unit (GPU). From our experiments we conclude that as the size of the matrix increases, the CUDA implementations outperform the sequential implementations. Furthermore, the BiCGStab method performs better than the Jacobi method for dense matrices, whereas the Jacobi method does better for sparse ones. Since the reachability probabilities problem plays a key role in probabilistic model checking, we also compared the implementations for matrices obtained from a probabilistic model checker. Our experiments support the conjecture by Bosnacki et al. that the Jacobi method is superior to Krylov subspace methods, a class to which the BiCGStab method belongs, for probabilistic model checking.

研究动机与目标

  • 评估在马尔可夫链中计算可达性概率时,顺序与GPU加速的迭代求解器的性能。
  • 确定通过CUDA进行GPU加速是否能提升雅可比法与BiCGStab方法在概率模型检查中生成的矩阵上的性能。
  • 探究在概率模型检查中雅可比法相对于BiCGStab等Krylov子空间方法的优越性,是源于稀疏性还是内存访问特性。
  • 将真实概率模型检查数据(来自JPF)的结果与具有相似大小和密度的合成随机矩阵进行比较。
  • 评估矩阵大小与密度对GPU加速求解器在此场景下性能的影响。

提出的方法

  • 使用NVIDIA的CUDA框架,在C语言中实现了雅可比法与BiCGStab迭代法的顺序版本与CUDA并行版本。
  • 生成了具有不同维度与非零元素数量的随机稠密与稀疏矩阵,以测试一般性能特征。
  • 使用Java PathFinder(JPF)的概率扩展版本,从随机化顺序算法生成真实转移概率矩阵。
  • 通过从JPF生成的矩阵中减去单位矩阵,构建了用于可达性概率计算的线性系统A·x = b。
  • 对每种矩阵类型与求解器变体,测量了多次试验的执行时间,标准差小到在图表上不可见。
  • 比较了在JPF矩阵、匹配大小与密度的随机矩阵以及具有随机正整数元素的合成矩阵上的性能。

实验结果

研究问题

  • RQ1在马尔可夫链中求解可达性概率问题时,通过CUDA进行GPU加速是否能提升雅可比法与BiCGStab方法的性能?
  • RQ2在此背景下,雅可比法与BiCGStab方法在稀疏矩阵与稠密矩阵上的性能特征有何差异?
  • RQ3在概率模型检查中观察到的雅可比法相对于BiCGStab等Krylov子空间方法的优越性,是源于矩阵稀疏性还是内存访问开销?
  • RQ4在何种程度上,矩阵大小与密度决定了此场景下GPU加速的性能收益?
  • RQ5在真实概率模型检查数据(来自JPF)上观察到的性能趋势,是否可在具有相似大小与密度的合成矩阵上复现?

主要发现

  • CUDA优化的雅可比法始终优于其顺序版本,尤其在稀疏矩阵上,显示出GPU并行化的显著性能优势。
  • GPU上的BiCGStab方法仅在大规模稠密矩阵上表现出性能优势,而顺序BiCGStab在较小、较稀疏的矩阵上更快。
  • 对于由概率模型检查器JPF生成的矩阵,雅可比法优于BiCGStab,支持Bosnacki等人提出的猜想:雅可比法在该领域比Krylov子空间方法更合适。
  • 在JPF生成矩阵上的性能趋势可复现于具有匹配大小与密度的合成随机矩阵上,表明大小与密度是求解器性能的主要决定因素,而非模型检查矩阵的特定结构特性。
  • 雅可比法在稀疏矩阵上的优越性能——而非内存访问开销——解释了其在概率模型检查中的主导地位,这与BiCGStab因更高内存需求而表现不佳的假设相矛盾。
  • 由于此类矩阵的稀疏性,CUDA实现的BiCGStab在典型概率模型检查数据上并未提升性能,因为这些矩阵未达到GPU收益所需的规模与密度阈值。

更好的研究,从现在开始

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

无需绑定信用卡

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