Skip to main content
Log in

Approaches Based on Permutations for Partitioning Sparse Matrices on Multiprocessors

  • Published:
The Journal of Supercomputing Aims and scope Submit manuscript

Abstract

This paper introduces new approaches to the data distribution-partition problem for sparse matrices in a multiprocessor environment. In this work, the data partition problem of a sparse matrix is modeled as a Min-Max Problem subject to the uniformity constrain when the goal is to balance the load for both sparse and dense operations. This problem is NP-Complete and two heuristic solutions (ABO and GPB) are proposed. The key of ABO and GPB is to determine the permutation of rows/columns of the input sparse matrix to obtain a sorted matrix with a homogeneous density of nonzero elements. Due to the heuristic nature of the proposed methods their validation is carried out by a comparative study of the parallel efficiency of two types of problems (sparse and mixed) when ABO, GPB, Block, Cyclic and MRD data distributions are applied.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. B. Aspvall, M. Halldorsson, and F. Manne. A parallel algorithm for computing the extremal eigenvalues of very large sparse matrices. Lecture Notes in Computer Science, 1541:332–336, 1998.

    Google Scholar 

  2. E. Balas and M. Padberg. Set partitioning: A survey. SIAM Review, 18(4):710–760, 1976.

    Article  Google Scholar 

  3. A. J. C. Bik and A. G. Wijshoff. Automatic data structure selection and transformation for sparse matrix computation. IEEE Transactions on Parallel and Distributed Systems, 7(2):109–126, 1996.

    Article  Google Scholar 

  4. M. L. Bilderback. Edge cut imbalances produced by graph partitioning algorithms. In Proceedings High Performance Computing Symposium HPC99. San Diego, Apr. 1999.

  5. R. Boisvert, R. Pozo, K. Remington, R. Barrett, and J. J. Dongarra. Matrix Market. Version 3.0. At URL http://math.nist.gov/MatrixMarket.

  6. J. J. Dongarra, D. C. Duff, H. A. Sorensen, and H. A. van der Vorst. Numerical Linear Algebra for High-Performance Computers. SIAM Philadelphia, 1998.

    Google Scholar 

  7. I. S. Duff, A. M. Erisman, and J. K. Reid. Direct Methods for Sparse Matrices. {Clarendon Press, Oxford}, 1986.

    Google Scholar 

  8. I. S. Duff, R. G. Grimes, and J. G. Lewis. User’s guide for the Harwell-Boeing Sparse Matrix Collection (Release I). Technical report, CERFACS, Toulouse, France, 1992.

    Google Scholar 

  9. R.-G. Chang, T.-R. Chuang, and J. K. Lee. Parallel sparse supports for array intrinsic functions of fortran 90. Journal of Supercomputing, 18(3):305–339, 2001.

    Article  Google Scholar 

  10. R.-G. Chang, T.-R. Chuang, and J. K. Lee. Support and optimization for parallel sparse programs with array intrinsics of fortran 90. Parallel Computing, 30(4):527–550, 2004.

    Article  Google Scholar 

  11. M. Eso. Parallel branch and cut for set partitioning. {PhD Thesis, Cornell University}, Jan. 1999.

  12. M. R. Garey and D. S. Johnson. Computers and Intractability. {A} Guide to the Theory of {NP}-Completeness. {W.H. Freeman and Company}, 1979.

  13. E. M. Garzón and I. García. Parallel Implementation of the Lanczos Method for Sparse Matrices: Analysis of the Data Distributions. {Proceedings ICS’96}, Philadelphia, 1996.

  14. E. M. Garzón and I. García. Evaluation of the work load balance in irregular problems using value based data distributions. In Proceedings of the IASTED International Conference Parallel and Distributed Systems. Euro-PDS’97, Barcelona, 1997.

  15. G. H. Golub and C. F. Van Loan. Matrix Computations, 3rd edn. {The Johns Hopkins University Press, Baltimore and London}, 1996.

    Google Scholar 

  16. M. Grigni and F. Manne. On the complexity of the generalized block distribution. Lecture Notes in Computer Science, 1117:319–326, 1996.

    Google Scholar 

  17. S. Gupta, G. Karypis, and V. Kumar. Highly scalable parallel algorithms for sparse matrix factorization. IEEE Transactions on Parallel and Distributed Systems, 8(5):502–520, 1997.

    Article  Google Scholar 

  18. E. Gutiérrez, R. Asenjo, O. Plata, and E. L. Zapata. Automatic parallelization of irregular applications. Parallel Computing, 26(2000):1709–1738, 2000.

    Article  Google Scholar 

  19. M. Hermenegildo. Parallelizing irregular and pointer-based computations automatically:Perspectives from logic and constraint programming. Parallel Computing, 26(2000):1685–1708, 2000.

    Article  Google Scholar 

  20. V. Kumar, A. Grama, A. Gupta, and G. Karypis. Introduction to Parallel Computing: Design and Analysis of Algorithms. The Benjamin/Cummings Publishing Company, Inc., 1994.

  21. J. K. Lenstra and A. H. G. Rinnooy Kan. Computational complexity of discrete optimizations problems. Annals of Discrete Mathematics, 4:121–140, 1979.

    MathSciNet  Google Scholar 

  22. F. Manne. Load Balancing in Parallel Sparse Matrix Computations. {PhD Thesis, University of Bergen, Norway}, 1993.

    Google Scholar 

  23. F. Manne and T. Soerevik. Partitioning an array onto a mesh of processors. Lecture Notes in Computer Science, 1184:467–477, 1996.

    Google Scholar 

  24. J. Mellor-Crummey, V. Adve, B. Broom, D. Chavarra-Miranda, R. Fowler, G. Jin, K. Kennedy, and Q. Yi. Advanced optimization strategies in the Rice dHPF compiler. Concurrency: Practice and Experience, 14(8–9):741–767, 2002.

    Article  Google Scholar 

  25. M. G. Montoya and I. García. Parallel thinning algorithm on multicomputers: Experimental study on load balancing. Concurrency: Practice and Experience, 12(5):327–340, 2000.

    Article  Google Scholar 

  26. A. T. Ogielski and W. Aiello. Sparse matrix computations on parallel processor arrays. SIAM Journal on Scientific Computing, 14(4):519–530, 1993.

    Article  MathSciNet  Google Scholar 

  27. R. Ponnusamy, J. Saltz, A. Choudhary, S. Hwang, and G. Fox. Runtime support and compilation methods for user-specified data distributions. IEEE Transactions on Parallel and Distributed Systems, 6(8):815–831, 1995.

    Article  Google Scholar 

  28. L. F. Romero and E. L. Zapata. Data distributions for sparse matrix vector multiplication. Parallel Computing, 21(4):583–605, 1995.

    Article  Google Scholar 

  29. H. D. Simon. The lanczos algorithm with partial reorthogonalization. Mathematics of Computation, 42(165):115–142, 1984.

    Google Scholar 

  30. M. Ujaldón, E. L. Zapata, S.D. Sharma, and J. Saltz. Parallelization techniques for sparse matrix applications. Journal of Parallel and Distributed Computing, 38(2):256–266, 1996.

    Article  Google Scholar 

  31. M. Ujaldón, E. L. Zapata, B. M. Chapman, and H. Zima. Vienna fortran/HPF extensions for sparse and irregular problems and their compilation. IEEE Transactions on Parallel and Distributed Systems, 8(10):1068–1083, 1997.

    Article  Google Scholar 

  32. B. Vastenhouw and R. H. Bisseling. A two-dimensional data distribution method for parallel sparse matrix-vector multiplication. Preprint 1238, Dept. of Mathematics, Utrecht University, May 2002.

  33. G. Wellein, G. Hager, A. Basermann, and H. Fehske. Fast sparse matrix-vector multiplication for teraflop/s computers. Lecture Notes in Computer Science, 2565:287–301, 2003.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to E. M. Garz.

Additional information

This work has been partially supported by the Spanish CICYT through grant TIC2002-00228.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Garz, E.M., GarcÍa, I. Approaches Based on Permutations for Partitioning Sparse Matrices on Multiprocessors. J Supercomput 34, 41–61 (2005). https://doi.org/10.1007/s11227-005-0311-2

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11227-005-0311-2

Keywords

Navigation