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
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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)
- 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.
- 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.
- 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)
- 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.
- 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.
- 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.
- 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)
- 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)
- 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)
- Arslan H and Manguoglu M (2019). A parallel bio-inspried shortest path algorithm, Computing, 101:8, (969-988), Online publication date: 1-Aug-2019.
- Sommer J, Boehm M, Evfimievski A, Reinwald B and Haas P MNC Proceedings of the 2019 International Conference on Management of Data, (1607-1623)
- 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)
- 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)
- 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.
- 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.
- 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.
- 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.
- 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.
- 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)
- Kumar M, Moreira J and Pattnaik P GraphBLAS Proceedings of the 15th ACM International Conference on Computing Frontiers, (260-267)
- Yang C, Buluç A and Owens J Implementing Push-Pull Efficiently in GraphBLAS Proceedings of the 47th International Conference on Parallel Processing, (1-11)
- 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)
- Jun S, Wright A, Zhang S, Xu S and Arvind GraFboost Proceedings of the 45th Annual International Symposium on Computer Architecture, (411-424)
- 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.
- 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.
- 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.
- 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.
- 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)
- 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)
- 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)
- Che S, Orr M and Gallmeier J Work Stealing in a Shared Virtual-Memory Heterogeneous Environment Proceedings of the Computing Frontiers Conference, (164-173)
- Zhao K and Yu J All-in-One Proceedings of the 2017 ACM International Conference on Management of Data, (1165-1180)
- 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)
- 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.
- 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)
- 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)
- 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)
- 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)
- 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)
- 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.
- 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.
- Grier D (2015). In Search of the Diabolical Disconnect, Computer, 48:8, (128-128), Online publication date: 1-Aug-2015.
- Severance C (2015). Anil Jain: 25 Years of Biometric Recognition, Computer, 48:8, (8-10), Online publication date: 1-Aug-2015.
- 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.
- 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)
- 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)
- 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)
- 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)
- 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)
- 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.
- Venkataraman S, Bodzsar E, Roy I, AuYoung A and Schreiber R Presto Proceedings of the 8th ACM European Conference on Computer Systems, (197-210)
- 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.
Index Terms
- Graph Algorithms in the Language of Linear Algebra
Recommendations
Approximation algorithms for clique transversals on some graph classes
Given a graph G = ( V , E ) a clique is a maximal subset of pairwise adjacent vertices of V of size at least 2. A clique transversal is a subset of vertices that intersects the vertex set of each clique of G. Finding a minimum-cardinality clique ...
Exact Algorithms for Graph Homomorphisms
Graph homomorphism, also called H-coloring, is a natural generalization of graph coloring: There is a homomorphism from a graph G to a complete graph on k vertices if and only if G is k-colorable. During recent years the topic of exact (exponential-time)...