Abstract :
Given N matrices A1, A2,...,AN of size NtimesN, the matrix chain product problem is to compute A1timesA2times...timesAN. Given an NtimesN matrix A, the matrix powers problem is to calculate the first N powers of A, that is, A, A2, A3,..., AN. 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(Nalpha), where the currently best value of a is less than 2.3755. Let p be arbitrarily chosen in the range 1lesplesNalpha+1/(log N)2. We show that the two problems can be solved by a DMS with p processors in Tchain(N,p)=O((Nalpha+1/p)+T(p))((N2(2+1/alpha/p2/alpha)(log+p/N)1-2/alpha+log+((p log N)/Nalpha)) and Tpower (N,p)=O(Nalpha+1/p+T(p)((N2(1+1/alpha)/p2/alpha)(log+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 xges1 and log+ x=1 if 0<x<1. We also give instantiations of the above results on several typical DMSs and show that computing matrix chain product and matrix powers are fully scalable on distributed memory parallel computers (DMPCs), highly scalable on DMSs with hypercubic networks, and not highly scalable on DMSs with mesh and torus networks.
Keywords :
computational complexity; distributed memory systems; hypercube networks; matrix algebra; parallel algorithms; distributed memory parallel computers; distributed memory systems; hypercubic networks; matrix chain product; matrix powers; mesh-torus networks; one-to-one communications; parallel algorithms; sequential matrix multiplication algorithm; time complexity; Algorithm design and analysis; Computer networks; Concurrent computing; Distributed computing; Eigenvalues and eigenfunctions; Equations; Linear systems; Parallel algorithms; Polynomials; Scalability; Cost optimality; distributed memory parallel computer; distributed memory system; dynamic processor allocation; hypercubic network; matrix chain product; matrix multiplication; matrix power; mesh; scalability; speedup; torus.;