Linear Algebra Approaches for Directed Triad Counting and Enumeration @ IA3
2024
Yuttapichai Kerdcharoen, Upasana Sridhar, Orathai Sangpetch, Tze Meng Low
Workshop Paper
Abstract
Triangle counting and enumeration are commonly used in real-world applications on directed graphs.
However, the
performance of triangle counting algorithms is usually benchmarked on undirected graphs. As such, many
of
these
algorithms and formulations are not suitable for identifying the types of directed triangles in directed
graphs.
In this work, we show how algorithms for counting each type of directed triad (directed triangle) can be
formulated using linear algebra. Leveraging the FLAME methodology, we show that provably correct
counting
and
enumeration algorithms for directed triads can be derived from the linear algebraic formulation. These
algorithms
can be used to either count individual triads or together to count all possible triads. We show that
despite being
designed for individual use, the combined use of these algorithms yields a speedup of 16.77x to 1122.2x
over the
implementation in NetworkX, and 0.37x to 33.49x over GraphBLAS implementations using SuiteSparse 7.2 on
various
workloads from real-world directed graphs.
Exploiting Fusion Opportunities in Linear Algebraic Graph Query Engines @ IEEE HPEC 2023
Yuttapichai Kerdcharoen, Upasana Sridhar, Tze Meng Low
Conference Paper
Abstract
Queries in a graph database are often converted into a sequence of graph operations by a graph query
engine.
In recent years, it has been recognized that the query engine benefits from using high-performance graph
libraries
via the GraphBLAS interface to implement time-consuming operations such as graph traversal. However,
using
GraphBLAS requires explicitly casting data into linear algebra objects and decomposing the query into
multiple
operations, some of which are expressible by the GraphBLAS. The combination of these two requirements
translates
into increased memory footprints and additional execution times. In this paper, we show that fusing
different
stages of the query engines into GraphBLAS calls can reduce the size of the intermediate data generated
during the
query. Furthermore, by relaxing the semi-ring constraints imposed by GraphBLAS, more aggressive fusions
of
the
stages can be performed. We show a speedup of up to 1235.89x (8.82x on geometric average) relative to an
open-source graph query engine using GraphBLAS (i.e. RedisGraph) for processing undirected subgraph
enumeration
queries.
Opportunities for Linear Algebraic Graph Databases @ ARRAY
2023
Yuttapichai Kerdcharoen, Upasana Sridhar, Tze Meng Low
Extended Abstract
Abstract
In recent years, there has been renewed interest in casting graph algorithms in the language of linear
algebra. By
replacing the computations with appropriate operations over different semi-rings, different graph
algorithms can
be cast as a sequence of linear algebra operations. In this work, we study the use of the linear
algebraic
approach to graph algorithms within the context of graph database systems. Specifically, we identify the
issues
with using existing linear algebraic graph libraries, such as SuiteSparse, which conform to the
GraphBLAS
specifications. We also highlight gaps between the GraphBLAS specification and computations that are
required by
the graph query algorithms utilized in graph databases. We show that overcoming these challenges in
using
a linear
algebraic approach within a graph database system can lead to significant performance improvements to an
open-source graph database system.