Computation of matrix chain products. Part II
SIAM Journal on Computing
Processor Allocation for Horizontal and Vertical Parallelism and Related Speedup Bounds
IEEE Transactions on Computers
Equivalent sparse matrix reordering by elimination tree rotations
SIAM Journal on Scientific and Statistical Computing
On efficient parallel computations for some dynamic programming problems
Theoretical Computer Science
The design and analysis of parallel algorithms
The design and analysis of parallel algorithms
The role of elimination trees in sparse factorization
SIAM Journal on Matrix Analysis and Applications
Reducing the symmetric matrix eigenvalue problem to matrix multiplications
SIAM Journal on Scientific Computing
Introduction to parallel computing: design and analysis of algorithms
Introduction to parallel computing: design and analysis of algorithms
A New Lower Bound Technique and its Application: Tight Lower Bound for a Polygon Triangulation
SIAM Journal on Computing
A chained-matrices approach for parallel computation of continued fractions and its applications
Journal of Scientific Computing
Very fast approximation of the matrix chain product problem
Journal of Algorithms
An efficient parallel algorithm for the matrix-chain-product problem
SIAM Journal on Computing
Efficient Matrix Chain Ordering in Polylog Time
SIAM Journal on Computing
An O(n) algorithm for determining a near-optimal computation order of matrix chain products
Communications of the ACM
Partitioning and Scheduling Parallel Programs for Multiprocessors
Partitioning and Scheduling Parallel Programs for Multiprocessors
IEEE Transactions on Computers
IEEE Transactions on Parallel and Distributed Systems
STACS '93 Proceedings of the 10th Annual Symposium on Theoretical Aspects of Computer Science
IEEE Transactions on Parallel and Distributed Systems
Graham's anomalies in case of parallel computation electromagnetic phenomena
ICCOMP'07 Proceedings of the 11th WSEAS International Conference on Computers
Optimal task scheduling algorithm for non-preemptive processing system
APWeb'06 Proceedings of the 8th Asia-Pacific Web conference on Frontiers of WWW Research and Development
Hi-index | 0.01 |
The problem of finding an optimal product sequence for sequential multiplication of a chain of matrices (the matrix chain ordering problem, MCOP) is well-known and has been studied for a long time. In this paper, we consider the problem of finding an optimal product schedule for evaluating a chain of matrix products on a parallel computer (the matrix chain scheduling problem, MCSP). The difference between the MCSP and the MCOP is that the MCOP pertains to a product sequence for single processor systems and the MCSP pertains to a sequence of concurrent matrix products for parallel systems. The approach of parallelizing each matrix product after finding an optimal product sequence for single processor systems does not always guarantee the minimum evaluation time on parallel systems since each parallelized matrix product may use processors inefficiently. We introduce a new processor scheduling algorithm for the MCSP which reduces the evaluation time of a chain of matrix products on a parallel computer, even at the expense of a slight increase in the total number of operations. Given a chain ofnmatrices and a matrix product utilizing at most P/k processors in a P-processor system, the proposed algorithm approaches k(n - 1) / ( n +k log(k)-k) times the performance of parallel evaluation using the optimal sequence found for the MCOP. Also, experiments performed on a Fujitsu AP1000 multicomputer show that the proposed algorithm significantly decreases the time required to evaluate a chain of matrix products in parallel systems.