Results 1  10
of
11
On twodimensional sparse matrix partitioning: Models, methods, and a recipe
 SIAM J. Sci. Comput
, 2010
"... Abstract. We consider twodimensional partitioning of general sparse matrices for parallel sparse matrixvector multiply operation. We present three hypergraphpartitioningbased methods, each having unique advantages. The first one treats the nonzeros of the matrix individually and hence produces f ..."
Abstract

Cited by 21 (15 self)
 Add to MetaCart
Abstract. We consider twodimensional partitioning of general sparse matrices for parallel sparse matrixvector multiply operation. We present three hypergraphpartitioningbased methods, each having unique advantages. The first one treats the nonzeros of the matrix individually and hence produces finegrain partitions. The other two produce coarser partitions, where one of them imposes a limit on the number of messages sent and received by a single processor, and the other trades that limit for a lower communication volume. We also present a thorough experimental evaluation of the proposed twodimensional partitioning methods together with the hypergraphbased onedimensional partitioning methods, using an extensive set of public domain matrices. Furthermore, for the users of these partitioning methods, we present a partitioning recipe that chooses one of the partitioning methods according to some matrix characteristics.
Revisiting hypergraph models for sparse matrix partitioning
 SIAM Review
, 2007
"... Abstract. We provide an exposition of hypergraph models for parallelizing sparse matrixvector multiplies. Our aim is to emphasize the expressive power of hypergraph models. First, we set forth an elementary hypergraph model for the parallel matrixvector multiply based on onedimensional (1D) matri ..."
Abstract

Cited by 20 (13 self)
 Add to MetaCart
Abstract. We provide an exposition of hypergraph models for parallelizing sparse matrixvector multiplies. Our aim is to emphasize the expressive power of hypergraph models. First, we set forth an elementary hypergraph model for the parallel matrixvector multiply based on onedimensional (1D) matrix partitioning. In the elementary model, the vertices represent the data of a matrixvector multiply, and the nets encode dependencies among the data. We then apply a recently proposed hypergraph transformation operation to devise models for 1Dsparse matrix partitioning. The resulting 1Dpartitioning models are equivalent to the previously proposed computational hypergraph models and are not meant to be replacements for them. Nevertheless, the new models give us insights into the previous ones and help us explain a subtle requirement, known as the consistency condition, of hypergraph partitioning models. Later, we demonstrate the flexibility of the elementary model on a few 1Dpartitioning problems that are hard to solve using the previously proposed models. We also discuss extensions of the proposed elementary model to twodimensional matrix partitioning. Key words. parallel computing, sparse matrixvector multiply, hypergraph models
Multilevel direct Kway hypergraph partitioning with multiple constraints and fixed vertices
, 2008
"... ..."
Combinatorial problems in solving linear systems
, 2009
"... Numerical linear algebra and combinatorial optimization are vast subjects; as is their interaction. In virtually all cases there should be a notion of sparsity for a combinatorial problem to arise. Sparse matrices therefore form the basis of the interaction of these two seemingly disparate subjects. ..."
Abstract

Cited by 5 (3 self)
 Add to MetaCart
Numerical linear algebra and combinatorial optimization are vast subjects; as is their interaction. In virtually all cases there should be a notion of sparsity for a combinatorial problem to arise. Sparse matrices therefore form the basis of the interaction of these two seemingly disparate subjects. As the core of many of today’s numerical linear algebra computations consists of the solution of sparse linear system by direct or iterative methods, we survey some combinatorial problems, ideas, and algorithms relating to these computations. On the direct methods side, we discuss issues such as matrix ordering; bipartite matching and matrix scaling for better pivoting; task assignment and scheduling for parallel multifrontal solvers. On the iterative method side, we discuss preconditioning techniques including incomplete factorization preconditioners, support graph preconditioners, and algebraic multigrid. In a separate part, we discuss the block triangular form of sparse matrices.
Mapping TightlyCoupled Applications on Volatile Resources
"... Abstract—Platforms that comprise volatile processors, such as desktop grids, have been traditionally used for executing independenttask applications. In this work we study the scheduling of tightlycoupled iterative masterworker applications onto volatile processors. The main challenge is that work ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
Abstract—Platforms that comprise volatile processors, such as desktop grids, have been traditionally used for executing independenttask applications. In this work we study the scheduling of tightlycoupled iterative masterworker applications onto volatile processors. The main challenge is that workers must be simultaneously available for the application to make progress. We consider two additional complications: one should take into account that workers can become temporarily reclaimed and, for dataintensive applications, one should account for the limited bandwidth between the master and the workers. In this context, our first contribution is a theoretical study of the scheduling problem in its offline version, i.e., when processor availability is known in advance. Even in this case the problem is NPhard. Our second contribution is an analytical approximation of the expectation of the time needed by a set of workers to complete a set of tasks and of the probability of success of this computation. This approximation relies on a Markovian assumption for the temporal availability of processors. Our third contribution is a set of heuristics, some of which use the above approximation to favor reliable processors in a sensible manner. We evaluate these heuristics in simulation. We identify some heuristics that significantly outperform their competitors and derive heuristic design guidelines. I.
Hypergraph Partitioning for Parallel Iterative Solution of General Sparse Linear Systems ∗
, 2007
"... The efficiency of parallel iterative methods for solving linear systems, arising from reallife applications, depends greatly on matrix characteristics and on the amount of parallel overhead. It is often viewed that a major part of this overhead can be caused by parallel matrixvector multiplications ..."
Abstract
 Add to MetaCart
The efficiency of parallel iterative methods for solving linear systems, arising from reallife applications, depends greatly on matrix characteristics and on the amount of parallel overhead. It is often viewed that a major part of this overhead can be caused by parallel matrixvector multiplications. However, for difficult large linear systems, the preconditioning operations needed to accelerate convergence are to be performed in parallel and may also incur substantial overhead. To obtain an efficient preconditioning, it is desirable to consider certain matrix numerical properties in the matrix partitioning process. In general, graph partitioners consider the nonzero structure of a matrix to balance the number of unknowns and to decrease communication volume among parts. The present work builds upon hypergraph partitioning techniques because of their ability to handle nonsymmetric and irregular structured matrices and because they correctly minimize communication volume. First, several hyperedge weight schemes are proposed to account for the numerical matrix property called diagonal dominance of rows and columns. Then, an algorithm for the independent partitioning of certain submatrices followed by the matching of the obtained parts is presented in detail along with a proof that it correctly minimizes the total communication volume. For the proposed variants of hypergraph partitioning models, numerical experiments compare the iterations to converge, investigate the diagonal dominance of the obtained parts, and show the values of the partitioning cost functions. 1
A matrix partitioning interface to PaToH in MATLAB
, 2009
"... We present the PaToH MATLAB Matrix Partitioning Interface. The interface provides support for hypergraphbased sparse matrix partitioning methods which are used for efficient parallelization of sparse matrixvector multiplication operations. The interface also offers tools for visualizing and measur ..."
Abstract
 Add to MetaCart
We present the PaToH MATLAB Matrix Partitioning Interface. The interface provides support for hypergraphbased sparse matrix partitioning methods which are used for efficient parallelization of sparse matrixvector multiplication operations. The interface also offers tools for visualizing and measuring the quality of a given matrix partition. We propose a novel, multilevel, 2D coarseningbased 2D matrix partitioning method and implement it using the interface. We have performed extensive comparison of the proposed method against our implementation of orthogonal recursive bisection and finegrain methods on a large set of publicly available test matrices. The conclusion of the experiments is that the new method can compete with the finegrain method while also suggesting new research directions.
Scheduling TightlyCoupled Applications on Heterogeneous Desktop Grids
"... Abstract—Platforms that comprise volatile processors, such as desktop grids, have been traditionally used for executing independenttask applications. In this work we study the scheduling of tightlycoupled iterative masterworker applications onto volatile processors. The main challenge is that work ..."
Abstract
 Add to MetaCart
Abstract—Platforms that comprise volatile processors, such as desktop grids, have been traditionally used for executing independenttask applications. In this work we study the scheduling of tightlycoupled iterative masterworker applications onto volatile processors. The main challenge is that workers must be simultaneously available for the application to make progress. We consider three additional complications: (i) one should take into account that workers can become temporarily reclaimed and, for dataintensive applications; (ii) one should account for the limited bandwidth between the master and the workers; and (iii) workers are strongly heterogeneous, with different computing speeds and availability probability distributions. In this context, our first contribution is a theoretical study of the scheduling problem in its offline version, i.e., when processor availability is known in advance. Even in this case the problem is NPhard. Our second contribution is an analytical approximation of the expectation of the time needed by a set of workers to complete a set of tasks and of the probability of success of this computation. This approximation relies on a Markovian assumption for the temporal availability of processors. Our third contribution is a set of heuristics, some of which use the above approximation to favor reliable processors in a sensible manner. We evaluate these heuristics in simulation. We identify some heuristics that significantly outperform their competitors and derive heuristic design guidelines. I.
HYPERGRAPH PARTITIONING BASED MODELS AND METHODS FOR EXPLOITING CACHE LOCALITY IN SPARSE MATRIXVECTOR MULTIPLICATION ∗
"... Abstract. Sparse matrixvector multiplication (SpMxV) is a kernel operation widely used in iterative linear solvers. The same sparse matrix is multiplied by a dense vector repeatedly in these solvers. Matrices with irregular sparsity patterns make it difficult to utilize cache locality effectively i ..."
Abstract
 Add to MetaCart
Abstract. Sparse matrixvector multiplication (SpMxV) is a kernel operation widely used in iterative linear solvers. The same sparse matrix is multiplied by a dense vector repeatedly in these solvers. Matrices with irregular sparsity patterns make it difficult to utilize cache locality effectively in SpMxV computations. In this work, we investigate single and multipleSpMxV frameworks for exploiting cache locality in SpMxV computations. For the singleSpMxV framework, we propose two cachesize–aware row/column reordering methods based on onedimensional (1D) and twodimensional (2D) topdown sparse matrix partitioning. We utilize the columnnet hypergraph model for the 1D method and enhance the rowcolumnnet hypergraph model for the 2D method. The primary aim in both of the proposed methods is to maximize the exploitation of temporal locality in accessing input vector entries. The multipleSpMxV framework depends on splitting a given matrix into a sum of multiple nonzerodisjoint matrices. We propose a cachesize–aware splitting method based on 2D topdown sparse matrix partitioning by utilizing the rowcolumnnet hypergraph model. The aim in this proposed method is to maximize the exploitation of temporal locality in accessing both input and outputvector entries. We evaluate the validity of our models and methods on a wide range of sparse matrices using both cachemiss simulations and actual runs by using OSKI. Experimental results show that proposed methods and models outperform stateoftheart schemes.
Contents lists available at ScienceDirect Information
"... Systems journal homepage: www.elsevier.com/locate/infosys A linkbased storage scheme for efficient aggregate query processing on clustered road networks $ ..."
Abstract
 Add to MetaCart
Systems journal homepage: www.elsevier.com/locate/infosys A linkbased storage scheme for efficient aggregate query processing on clustered road networks $