Title :
Processor allocation and task scheduling of matrix chain products on parallel systems
Author :
Lee, Heejo ; Kim, Jong ; Hong, Sung Je ; Lee, Sunggu
Author_Institution :
Ahnlab Inc, Seoul, South Korea
fDate :
4/1/2003 12:00:00 AM
Abstract :
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. 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 MCSP and MCOP is that MCOP pertains to a product sequence for single processor systems and 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 minimum evaluation time on parallel systems since each parallelized matrix product may use processors inefficiently. We introduce a new processor scheduling algorithm for 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 of n matrices and a matrix product utilizing at most P/k processors in a P-processor system, the proposed algorithm approaches k(n-1)/(n+klog(k)-k) times the performance of parallel evaluation using the optimal sequence found for MCOP. Experiments performed on a Fujitsu AP1000 multicomputer also show that the proposed algorithm significantly decreases the time required to evaluate a chain of matrix products in parallel systems.
Keywords :
computational complexity; matrix multiplication; parallel algorithms; processor scheduling; resource allocation; Fujitsu AP1000 multicomputer; concurrent matrix product sequence; evaluation time; matrix chain ordering problem; matrix chain scheduling problem; optimal product schedule; optimal product sequence; parallel computer; parallel evaluation; processor allocation; processor scheduling algorithm; sequential multiplication; single processor systems; task scheduling; Approximation algorithms; Concurrent computing; Dynamic programming; Kernel; Parallel algorithms; Performance evaluation; Phase change random access memory; Processor scheduling; Scheduling algorithm; Scientific computing;
Journal_Title :
Parallel and Distributed Systems, IEEE Transactions on
DOI :
10.1109/TPDS.2003.1195411