Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
Skip header Section
Graph Algorithms in the Language of Linear AlgebraJuly 2011
Publisher:
  • Society for Industrial and Applied Mathematics
  • 3600 University City Science Center Philadelphia, PA
  • United States
ISBN:978-0-89871-990-1
Published:14 July 2011
Pages:
389
Skip Bibliometrics Section
Reflects downloads up to 22 Sep 2024Bibliometrics
Skip Abstract Section
Abstract

Graphs are among the most important abstract data types in computer science, and the algorithms that operate on them are critical to modern life. Graphs have been shown to be powerful tools for modeling complex problems because of their simplicity and generality. Graph algorithms are one of the pillars of mathematics, informing research in such diverse areas as combinatorial optimization, complexity theory, and topology. Algorithms on graphs are applied in many ways in today s world - from Web rankings to metabolic networks, from finite element meshes to semantic graphs. The current exponential growth in graph data has forced a shift to parallel computing for executing graph algorithms. Implementing parallel graph algorithms and achieving good parallel performance have proven difficult. This book addresses these challenges by exploiting the well-known duality between a canonical representation of graphs as abstract collections of vertices and edges and a sparse adjacency matrix representation. This linear algebraic approach is widely accessible to scientists and engineers who may not be formally trained in computer science. The authors show how to leverage existing parallel matrix computation techniques and the large amount of software infrastructure that exists for these computations to implement efficient and scalable parallel graph algorithms. The benefits of this approach are reduced algorithmic complexity, ease of implementation, and improved performance. Graph Algorithms in the Language of Linear Algebra is the first book to cover graph algorithms accessible to engineers and scientists not trained in computer science but having a strong linear algebra background, enabling them to quickly understand and apply graph algorithms. It also covers array-based graph algorithms, showing readers how to express canonical graph algorithms using a highly elegant and efficient array notation and how to tap into the large range of tools and techniques that have been built for matrices and tensors; parallel array-based algorithms, demonstrating with examples how to easily implement parallel graph algorithms using array-based approaches, which enables readers to address much larger graph problems; and array-based theory for analyzing graphs, providing a template for using array-based constructs to develop new theoretical approaches for graph analysis. Audience: This book is suitable as the primary text for a class on linear algebraic graph algorithms and as either the primary or supplemental text for a class on graph algorithms for engineers and scientists without training in computer science. Contents: List of Figures; List of Tables; List of Algorithms; Preface; Acknowledgments; Part I: Algorithms: Chapter 1: Graphs and Matrices; Chapter 2: Linear Algebraic Notation and Definitions; Chapter 3: Connected Components and Minimum Paths; Chapter 4: Some Graph Algorithms in an Array-Based Language; Chapter 5: Fundamental Graph Algorithms; Chapter 6: Complex Graph Algorithms; Chapter 7: Multilinear Algebra for Analyzing Data with Multiple Linkages; Chapter 8: Subgraph Detection; Part II: Data: Chapter 9: Kronecker Graphs; Chapter 10: The Kronecker Theory of Power Law Graphs; Chapter 11: Visualizing Large Kronecker Graphs; Part III: Computation: Chapter 12: Large-Scale Network Analysis; Chapter 13: Implementing Sparse Matrices for Graph Algorithms; Chapter 14: New Ideas in Sparse Matrix-Matrix Multiplication; Chapter 15: Parallel Mapping of Sparse Computations; Chapter 16: Fundamental Questions in the Analysis of Large Graphs; Index.

Cited By

  1. ACM
    Mastoras A, Anagnostidis S and Yzelman A (2022). Design and Implementation for Nonblocking Execution in GraphBLAS: Tradeoffs and Performance, ACM Transactions on Architecture and Code Optimization, 20:1, (1-23), Online publication date: 31-Mar-2023.
  2. Chen J, Sung H, Shen X, Tallent N, Barker K and Li A (2023). Accelerating matrix-centric graph processing on GPUs through bit-level optimizations, Journal of Parallel and Distributed Computing, 177:C, (53-67), Online publication date: 1-Jul-2023.
  3. Xie Y, Qiu J, Dhulipala L, Yu W, Tang J, Peng R and Wang C (2023). Towards Lightweight and Automated Representation Learning System for Networks, IEEE Transactions on Knowledge and Data Engineering, 35:9, (9613-9627), Online publication date: 1-Sep-2023.
  4. Xie Y, Dong Y, Qiu J, Yu W, Feng X and Tang J (2023). SketchNE: Embedding Billion-Scale Networks Accurately in One Hour, IEEE Transactions on Knowledge and Data Engineering, 35:10, (10666-10680), Online publication date: 1-Oct-2023.
  5. ACM
    Asiatici M and Ienne P (2022). Request, Coalesce, Serve, and Forget: Miss-Optimized Memory Systems for Bandwidth-Bound Cache-Unfriendly Applications on FPGAs, ACM Transactions on Reconfigurable Technology and Systems, 15:2, (1-33), Online publication date: 30-Jun-2022.
  6. Kim C, Lee W, Paik Y, Kwon K, Kim S, Park I and Kim S (2022). Silent-PIM: Realizing the Processing-in-Memory Computing With Standard Memory Requests, IEEE Transactions on Parallel and Distributed Systems, 33:2, (251-262), Online publication date: 1-Feb-2022.
  7. ACM
    Sobczyk A and Gallopoulos E (2022). pylspack: Parallel Algorithms and Data Structures for Sketching, Column Subset Selection, Regression, and Leverage Scores, ACM Transactions on Mathematical Software, 48:4, (1-27), Online publication date: 31-Dec-2022.
  8. Muthukrishnan H, Nellans D, Lustig D, Fessler J and Wenisch T Efficient multi-GPU shared memory via automatic optimization of fine-grained transfers Proceedings of the 48th Annual International Symposium on Computer Architecture, (139-152)
  9. Fourie J, Bateman C, Hsiao J, Pahalawatta K, Batchelor O, Misse P and Werner A (2020). Towards automated grape vine pruning, International Journal of Intelligent Systems, 36:2, (715-735), Online publication date: 11-Jan-2021.
  10. Gera P, Kim H, Sao P, Kim H and Bader D (2020). Traversing large graphs on GPUs with unified memory, Proceedings of the VLDB Endowment, 13:7, (1119-1133), Online publication date: 1-Mar-2020.
  11. Hu Y, Ye Z, Wang M, Yu J, Zheng D, Li M, Zhang Z, Zhang Z and Wang Y FeatGraph Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis, (1-13)
  12. ACM
    Shaikhha A, Elseidy M, Mihaila S, Espino D and Koch C (2020). Synthesis of Incremental Linear Algebra Programs, ACM Transactions on Database Systems, 45:3, (1-44), Online publication date: 25-Sep-2020.
  13. Demirci G and Aykanat C (2019). Scaling sparse matrix-matrix multiplication in the accumulo database, Distributed and Parallel Databases, 38:1, (31-62), Online publication date: 1-Mar-2020.
  14. Barreda M, Aliaga J, Beltran V and Casas M (2019). Iteration-fusing conjugate gradient for sparse linear systems with MPI + OmpSs, The Journal of Supercomputing, 76:9, (6669-6689), Online publication date: 1-Sep-2020.
  15. ACM
    Spampinato D, Sridhar U and Low T Linear algebraic depth-first search Proceedings of the 6th ACM SIGPLAN International Workshop on Libraries, Languages and Compilers for Array Programming, (93-104)
  16. ACM
    Leidel J and Conlon F Toward a graph-based dependence analysis framework for high level design verification Proceedings of the 16th ACM International Conference on Computing Frontiers, (308-316)
  17. ACM
    Jamour F, Abdelaziz I, Chen Y and Kalnis P Matrix Algebra Framework for Portable, Scalable and Efficient Query Engines for RDF Graphs Proceedings of the Fourteenth EuroSys Conference 2019, (1-15)
  18. Arslan H and Manguoglu M (2019). A parallel bio-inspried shortest path algorithm, Computing, 101:8, (969-988), Online publication date: 1-Aug-2019.
  19. ACM
    Sommer J, Boehm M, Evfimievski A, Reinwald B and Haas P MNC Proceedings of the 2019 International Conference on Management of Data, (1607-1623)
  20. ACM
    Schoeneman F and Zola J Solving All-Pairs Shortest-Paths Problem in Large Graphs Using Apache Spark Proceedings of the 48th International Conference on Parallel Processing, (1-10)
  21. ACM
    Asiatici M and Ienne P Stop Crying Over Your Cache Miss Rate Proceedings of the 2019 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays, (310-319)
  22. Ahmad Y, Khattab O, Malik A, Musleh A, Hammoud M, Kutlu M, Shehata M and Elsayed T (2018). LA3, Proceedings of the VLDB Endowment, 11:8, (920-933), Online publication date: 1-Apr-2018.
  23. Jamour F, Abdelaziz I and Kalnis P (2018). A demonstration of MAGiQ, Proceedings of the VLDB Endowment, 11:12, (1978-1981), Online publication date: 1-Aug-2018.
  24. Zhang F, Lin H, Zhai J, Cheng J, Xiang D, Li J, Chai Y and Du X (2018). An adaptive breadth-first search algorithm on integrated architectures, The Journal of Supercomputing, 74:11, (6135-6155), Online publication date: 1-Nov-2018.
  25. Horn W, Kumar M, Jann J, Moreira J, Pattnaik P, Serrano M, Tanase G and Yu H (2018). Graph Programming Interface (GPI), International Journal of Parallel Programming, 46:2, (412-440), Online publication date: 1-Apr-2018.
  26. Kumar M, Horn W, Kepner J, Moreira J and Pattnaik P (2018). IBM POWER9 and cognitive computing, IBM Journal of Research and Development, 62:4-5, (10:1-10:12), Online publication date: 1-Jul-2018.
  27. ACM
    Zhang J and Gruenwald L Regularizing irregularity Proceedings of the 1st ACM SIGMOD Joint International Workshop on Graph Data Management Experiences & Systems (GRADES) and Network Data Analytics (NDA), (1-8)
  28. ACM
    Kumar M, Moreira J and Pattnaik P GraphBLAS Proceedings of the 15th ACM International Conference on Computing Frontiers, (260-267)
  29. ACM
    Yang C, Buluç A and Owens J Implementing Push-Pull Efficiently in GraphBLAS Proceedings of the 47th International Conference on Parallel Processing, (1-11)
  30. ACM
    Wang X, Xu P, Xue W, Ao Y, Yang C, Fu H, Gan L, Yang G and Zheng W A Fast Sparse Triangular Solver for Structured-grid Problems on Sunway Many-core Processor SW26010 Proceedings of the 47th International Conference on Parallel Processing, (1-11)
  31. Jun S, Wright A, Zhang S, Xu S and Arvind GraFboost Proceedings of the 45th Annual International Symposium on Computer Architecture, (411-424)
  32. Akbudak K and Aykanat C (2017). Exploiting Locality in Sparse Matrix-Matrix Multiplication on Many-Core Architectures, IEEE Transactions on Parallel and Distributed Systems, 28:8, (2258-2271), Online publication date: 1-Aug-2017.
  33. DeBenedictis E, Badaroglu M, Chen A, Conte T and Gargini P (2017). Sustaining Moore’s Law with 3D Chips, Computer, 50:8, (69-73), Online publication date: 1-Jan-2017.
  34. Che S, Beckmann B and Reinhardt S (2017). Programming GPGPU Graph Applications with Linear Algebra Building Blocks, International Journal of Parallel Programming, 45:3, (657-679), Online publication date: 1-Jun-2017.
  35. Yan D, Bu Y, Tian Y and Deshpande A (2017). Big Graph Analytics Platforms, Foundations and Trends in Databases, 7:1-2, (1-195), Online publication date: 12-Jan-2017.
  36. ACM
    Solomonik E, Besta M, Vella F and Hoefler T Scaling betweenness centrality using communication-efficient sparse matrix multiplication Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis, (1-14)
  37. ACM
    Derler A, Zayer R, Seidel H and Steinberger M Dynamic scheduling for efficient hierarchical sparse matrix operations on the GPU Proceedings of the International Conference on Supercomputing, (1-10)
  38. ACM
    Besta M, Podstawski M, Groner L, Solomonik E and Hoefler T To Push or To Pull Proceedings of the 26th International Symposium on High-Performance Parallel and Distributed Computing, (93-104)
  39. ACM
    Che S, Orr M and Gallmeier J Work Stealing in a Shared Virtual-Memory Heterogeneous Environment Proceedings of the Computing Frontiers Conference, (164-173)
  40. ACM
    Zhao K and Yu J All-in-One Proceedings of the 2017 ACM International Conference on Management of Data, (1165-1180)
  41. Aliaga J, Barreda M, Bollhöfer M and Quintana-Ortí E Exploiting Task-Parallelism in Message-Passing Sparse Linear System Solvers Using OmpSs Proceedings of the 22nd International Conference on Euro-Par 2016: Parallel Processing - Volume 9833, (631-643)
  42. Umuroglu Y and Jahre M (2016). Random access schemes for efficient FPGA SpMV acceleration, Microprocessors & Microsystems, 47:PB, (321-332), Online publication date: 1-Nov-2016.
  43. Catalán S, Malossi A, Bekas C and Quintana-Ortí E The Impact of Voltage-Frequency Scaling for the Matrix-Vector Product on the IBM POWER8 Proceedings of the 22nd International Conference on Euro-Par 2016: Parallel Processing - Volume 9833, (103-116)
  44. Kirchgessner R, De La Torre G, George A and Gleyzer V HISC/R Proceedings of the Sixth Workshop on Irregular Applications: Architectures and Algorithms, (70-73)
  45. Merrill D and Garland M Merge-based parallel sparse matrix-vector multiplication Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis, (1-12)
  46. ACM
    Buono D, Petrini F, Checconi F, Liu X, Que X, Long C and Tuan T Optimizing Sparse Matrix-Vector Multiplication for Large-Scale Data Analytics Proceedings of the 2016 International Conference on Supercomputing, (1-12)
  47. ACM
    Ekanadham K, Horn W, Kumar M, Jann J, Moreira J, Pattnaik P, Serrano M, Tanase G and Yu H Graph programming interface (GPI) Proceedings of the ACM International Conference on Computing Frontiers, (72-81)
  48. Rostami M and Bcker H (2015). Interactively Exploring the Connection between Bidirectional Compression and Star Bicoloring, Procedia Computer Science, 51:C, (1917-1926), Online publication date: 1-Sep-2015.
  49. Buono D, Gunnels J, Xinyu Que , Checconi F, Petrini F, Tai-Ching Tuan and Long C (2015). Optimizing Sparse Linear Algebra for Large-Scale Graph Analytics, Computer, 48:8, (26-34), Online publication date: 1-Aug-2015.
  50. Grier D (2015). In Search of the Diabolical Disconnect, Computer, 48:8, (128-128), Online publication date: 1-Aug-2015.
  51. Severance C (2015). Anil Jain: 25 Years of Biometric Recognition, Computer, 48:8, (8-10), Online publication date: 1-Aug-2015.
  52. Kepner J, Bader D, Bulu A, Gilbert J, Mattson T and Meyerhenke H (2015). Graphs, Matrices, and the GraphBLAS, Procedia Computer Science, 51:C, (2453-2462), Online publication date: 1-Sep-2015.
  53. Zheng D, Mhembere D, Burns R, Vogelstein J, Priebe C and Szalay A FlashGraph Proceedings of the 13th USENIX Conference on File and Storage Technologies, (45-58)
  54. ACM
    Sumbul H, Vaidyanathan K, Zhu Q, Franchetti F and Pileggi L A synthesis methodology for application-specific logic-in-memory designs Proceedings of the 52nd Annual Design Automation Conference, (1-6)
  55. Park J, Smelyanskiy M, Sundaram N and Dubey P Sparsifying Synchronization for High-Performance Shared-Memory Sparse Triangular Solver Proceedings of the 29th International Conference on Supercomputing - Volume 8488, (124-140)
  56. ACM
    Kernert D, Köhler F and Lehner W SLACID - sparse linear algebra in a column-oriented in-memory database system Proceedings of the 26th International Conference on Scientific and Statistical Database Management, (1-12)
  57. Ashari A, Sedaghati N, Eisenlohr J, Parthasarathy S and Sadayappan P Fast sparse matrix-vector multiplication on GPUs for graph applications Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis, (781-792)
  58. Hossain S and Steihaug T (2013). Sparse matrix computations with application to solve system of nonlinear equations, WIREs Computational Statistics, 5:5, (372-386), Online publication date: 1-Sep-2013.
  59. ACM
    Venkataraman S, Bodzsar E, Roy I, AuYoung A and Schreiber R Presto Proceedings of the 8th ACM European Conference on Computer Systems, (197-210)
  60. ACM
    Gleich D (2013). Expanders, tropical semi-rings, and nuclear norms, XRDS: Crossroads, The ACM Magazine for Students, 19:3, (32-36), Online publication date: 1-Mar-2013.
Contributors
  • Lincoln Laboratory
  • University of California, Santa Barbara

Reviews

Esfandiar Haghverdi

Graphs are among the most successful abstract models in engineering, computer science, the social sciences, and the natural sciences. However, as the problems and challenges in such domains grow in complexity, graph algorithms need to keep pace. To improve the computational efficiency of graph algorithms, researchers have proposed a shift to a parallel computing paradigm. This monograph is an edited volume collecting contributions by more than 20 researchers in the field where challenges of parallel graph algorithm implementation and good parallel performance issues are addressed by exploiting the duality between the canonical representation of graphs as a collection of vertices and edges and a sparse adjacency matrix representation. Such a linear algebraic approach allows for a wider pool of applications and complements the extant body of literature on graph algorithms. Moreover, a linear algebraic approach offers syntactically more compact algorithms that are easier to implement and can be more easily optimized to yield higher performance. The book is divided into three parts: "Algorithms," Part 1, presents the basic mathematical framework; "Data," Part 2, provides a number of examples where a linear algebraic approach is used to develop new algorithms for modeling and analyzing graphs; and "Computation," Part 3, focuses on sparse matrix computation. Over 40 algorithms are presented; even though most of these are presented in pseudocode (when working code examples are required), these are expressed in MATLAB. Beginning Part 1, chapter 1 briefly surveys some of the more interesting results found later in the book. In particular, graph/adjacency matrix duality is discussed. Chapter 2 presents the notation, definitions and conventions for graphs, matrices, arrays, and operations on them to be used throughout the remainder of the book. Chapter 3 presents two different examples of linear algebraic graph algorithms: strongly connected components are obtained via efficient computation of infinite powers of the adjacency matrix, and shortest paths are computed using a modification of matrix exponentiation. Chapter 4 provides some of the foundations of linear algebraic graph algorithms together with a number of classic algorithms, using MATLAB syntax. Chapter 5 discusses the representation of single-source shortest paths, all-pairs shortest paths, and minimum spanning tree algorithms as algebraic operations. Chapter 6 continues with algebraic representation for more complex graph algorithms: clustering, vertex betweenness centrality, and edge betweenness centrality. Chapter 7 extends the algebraic model from matrices to tensors in order to model multi-link graphs. Various experiments are presented, including distinguishing between papers written by different authors with the same name and predicting the journal in which a paper is published. Chapter 8 combines hidden Markov models and Kronecker graphs to provide estimates of the signal-to-noise ratio, probability of detection, and probability of false alarm for different classes of vertices in the foreground for the subgraph detection problem. This approach is then applied to the problem of detecting a partially labeled tree in a power law background graph. Part 2 opens with chapter 9, which includes a description of a generative model for networks that is mathematically tractable and produces the common properties of real-life networks. The model uses the Kronecker product to generate graphs called Kronecker graphs. The properties of such graphs are studied in great detail and accompanied by many experimental results. Chapter 10 follows the discussion in the preceding chapter and offers an analytical theory of power law graphs based on the Kronecker graph generation technique, including explicit, stochastic, and instance Kronecker graphs. Chapter 11 takes on the challenge of visualization of Kronecker graphs, describing an interactive framework to assist scientists and engineers in generating, analyzing, and visualizing Kronecker graphs with as little effort as possible. Part 3 starts with chapter 12, which discusses several new results related to large-scale graph analysis using centrality indices. The first parallel algorithms for evaluating such computationally intensive metrics are given. The chapter also includes an application of betweenness centrality analysis to eukaryotic protein interaction networks. Chapter 13 reviews and evaluates a number of storage formats for sparse matrices and their impact on primitive operations. Chapter 14 presents the first parallel algorithms that achieve increasing speedups for an unbounded number of processors. Chapter 15 discusses automated techniques for mapping algorithms onto parallel architectures, and chapter 16 concludes the book with a discussion of some of the questions pertaining to the mathematical and computational foundations of the analysis of large graphs. Despite being a collection of contributions by various authors, the editors and authors have taken great care to present a coherent work on the topic, thus making it suitable as the main textbook for a course on linear algebraic graph algorithms. This book can also be used as a main or auxiliary textbook for a course on graph algorithms for engineers and scientists outside the field of computer science. Online Computing Reviews Service

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.

Recommendations