Analysis of Parallel Algorithms for Matrix Chain Product and Matrix Powers on Distributed Memory Systems

  • Authors:
  • Keqin Li

  • Affiliations:
  • IEEE

  • Venue:
  • IEEE Transactions on Parallel and Distributed Systems
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

Given N matrices A_{1}, A_{2}, \ldots, A_{N} of size N \times N, the matrix chain product problem is to compute A_{1} \times A_{2} \times \cdots \times A_{N}. Given an N \times N matrix A, the matrix powers problem is to calculate the first N powers of A, that is, A, A^{2}, A^{3}, \ldots, A^{N}. We solve the two problems on distributed memory systems (DMSs) with p processors that can support one-to-one communications in T(p) time. Assume that the fastest sequential matrix multiplication algorithm has time complexity O(N^{\alpha}), where the currently best value of \alpha is less than 2.3755. Let p be arbitrarily chosen in the range 1 \leq p \leq N^{\alpha + 1}/(\log N)^{2}. We show that the two problems can be solved by a DMS with p processors in T_{\rm chain}(N,p) = O({\frac{N^{\alpha + 1}}{p}} + T(p)(({\frac{N^{2(1 + 1/\alpha)}}{p^{2/\alpha}}})(\log^{+}{\frac{p}{N}})^{1 - 2/\alpha} + \log^{+}({\frac{p\log N}{N^{\alpha}}})\log N)) and T_{\rm power}(N,p) = O({\frac{N^{\alpha + 1}}{p}} + T(p)(({\frac{N^{2(1 + 1/\alpha)}}{p^{2/\alpha}}})(\log^{+}{\frac{p}{2\log N}})^{1 - 2/\alpha}+ (\log N)^{2})) times, respectively, where the function \log^{+} is defined as follows: \log^{+}x = \log x if x \geq 1 and \log^{+}x = 1 if 0