We use cookies to improve your experience with our site.

基于非对称内存的联合通信最优矩阵相乘算法

Joint-Communication Optimal Matrix Multiplication with Asymmetric Memories

  • 摘要:
    研究背景 矩阵乘法是数值线性代数、科学计算和高性能计算中最基本的问题之一。随着对大规模数据存储和快速处理的需求日益增长,如何设计高效的并行矩阵乘法成为一个热门研究课题。新兴的网络和存储技术,比如InfiniBand和非易失性内存(NVM),为设计高效并行算法带来了新的机遇:NVM可提供数据持久性,同时具有与动态随机存取内存(DRAM)相媲美的性能和更高的密度。然而,无论从时间还是能耗上来说,NVM写入内存的成本要比从内存读取的成本要高。此外,最新发布的InfiniBand网络具有亚微秒延迟和极高的消息传输速率。如何借助这些新设备提升并行矩阵乘法的性能是一个亟需解决的问题。并行算法执行时间通常被分为三部分:计算(缓存内浮点操作),垂直通信(缓存与主存之间数据传输),以及水平通信(处理器间数据交换)。在给定处理器规模的分布式内存机上计算矩阵相乘时,每个处理器执行浮点操作数是固定值,因而我们致力于最小化垂直通信和水平通信来降低并行算法执行时间。现有大多数并行矩阵乘法算法在减少水平通信方面表现良好。然而,水平通信并非唯一重要的参数;垂直通信通常成为通信瓶颈,尤其是在带有NVM和InfiniBand网络的分布式系统中。如何权衡水平和垂直通信来提升性能是并行矩阵相乘算法设计所面临的主要挑战。
    目的 针对研究背景中提出的挑战,我们的研究目标是:1)基于读写对称内存和读写非对称内存,证明能否同时最小化水平和垂直通信,同时证明联合通信(水平通信+垂直通信)下界;2)基于读写对称内存和读写非对称内存,提出与下界相匹配的渐进联合通信最优并行矩阵相乘算法。
    方法 我们首先对读写对称内存和读写非对称内存分布式系统进行理论开销建模。基于读写对称内存模型,分别推导水平和垂直通信下界,并证明通过结合水平最优和垂直最优算法可以同时达到水平和垂直通信下界。基于读写非对称内存模型,证明垂直最优算法不可能是水平最优的,从而得出水平最优和垂直最优无法同时实现的结论。另外,基于处理器执行子问题的不同矩阵维度会导致不同的垂直和水平通信的观察,推导最优矩阵维度,从而找到最优处理器网格及算法调度并进一步推导联合通信下界。最后根据下界分析中推导的最优处理器网格及输入指导设计联合通信最优并行矩阵相乘算法。
    结果 1)在读写对称内存分布式系统,结合水平最优算法和垂直最优算法能够直接得到联合通信最优算法;2)在读写非对称内存分布式系统,水平和垂直通信不可能同时达到最优,这意味着两种通信之间需要进行权衡;3)在读写非对称分布式系统,基于处理器执行子问题的不同矩阵维度会导致不同的垂直和水平通信的观察,推导联合通信下界并据此提出与下界相匹配的联合通信最优矩阵相乘并行算法。4)针对不同机器配置(如处理器规模、内存大小、水平带宽、写带宽等)进行数值分析模拟评估。结果表明,相较于同类算法,联合通信最优矩阵相乘算法能够获得约1.5~3倍的性能提升。另外,增加处理器规模有望获得更为显著的性能提升效果
    结论 本文针对读写对称和读写非对称内存,研究了如何权衡水平通信和垂直通信来实现并行矩阵相乘问题的联合通信优化。对于经典矩阵相乘,我们证明了联合通信下界,并据此设计出与该下界相匹配的联合通信最优算法。由于负载平衡以及固定的总算术操作次数,并行方阵相乘算法的通信开销与计算开销之间不存在权衡。然而,其他线性代数问题,如稀疏迭代求解器,可能存在通信与计算之间的权衡。在未来的研究规划中,我们希望将本文工作扩展到图计算及其他线性代数问题,并探讨矩形矩阵相乘在非对称内存装置下的联合通信优化问题。另外,将本文提出的联合通信最优矩阵相乘算法应用于实际的分布式系统,并评估其相较于水平最优算法的优势,也是未来研究课题之一。

     

    Abstract: Emerging hardware like non-volatile memory (NVM) and high-speed network interface cards are promising to improve the performance of matrix multiplication. However, a critical challenge in achieving high performance is the tradeoff between horizontal communication (data movement between processors) and vertical communication (data movement across memory hierarchies). In this paper, we provide an analysis in the distributed memory parallel model with additional consideration for communication between main memory and cache. We measure joint communication as the sum of the horizontal bandwidth and vertical bandwidth cost, and study the joint-communication cost of square matrix multiplication in the read-write symmetric setting (such as DRAM) and asymmetric setting (such as NVM). Specifically, we identify that in the symmetric setting, a joint-communication optimal algorithm can be directly obtained by combining the horizontally optimal and vertically optimal algorithms. We also identify that in the asymmetric setting, horizontal and vertical communications cannot be optimal at the same time, which means that there is a tradeoff between the two communications. In this case, we first present a joint-communication lower bound, and then we propose Joint-Communication Optimal Matrix Multiplication Algorithm (JOMMA), a parallel matrix multiplication algorithm whose joint-communication complexity meets the lower bound. The key idea behind JOMMA is to derive optimal matrix dimensions that each processor locally performs, which leads to determining the processor grid and an optimal schedule.

     

/

返回文章
返回