Julia GraphBLAS with Nonblocking Execution

📅 2025-09-17
📈 Citations: 0
Influential: 0
📄 PDF
🤖 AI Summary
Existing GraphBLAS implementations offer limited support for non-blocking execution, hindering operator fusion, memory optimization, and parallelism exploitation. This paper proposes a Julia-based aggressive non-blocking execution framework that leverages Julia’s asynchronous computation, multiple dispatch, and metaprogramming capabilities to model GraphBLAS operations as schedulable directed acyclic graphs (DAGs). The framework enables fine-grained dependency management, automatic operator fusion, and lazy memory allocation—breaking free from traditional blocking semantics. As a result, it significantly enhances operator-level parallelism and hardware resource utilization. We validate the core functionality on the PageRank algorithm; empirical evaluation demonstrates substantial performance gains from fusion and scheduling optimizations. This work establishes a novel pathway toward efficient, scalable asynchronous graph computing with GraphBLAS and provides a reusable systems foundation for future research.

Technology Category

Application Category

📝 Abstract
From the beginning, the GraphBLAS were designed for ``nonblocking execution''; i.e., calls to GraphBLAS methods return as soon as the arguments to the methods are validated and define a directed acyclic graph (DAG) of GraphBLAS operations. This lets GraphBLAS implementations fuse functions, elide unneeded objects, exploit parallelism, plus any additional DAG-preserving transformations. GraphBLAS implementations exist that utilize nonblocking execution but with limited scope. In this paper, we describe our work to implement GraphBLAS with support for aggressive nonblocking execution. We show how features of the Julia programming language greatly simplify implementation of nonblocking execution. This is emph{work-in-progress} sufficient to show the potential for nonblocking execution and is limited to GraphBLAS methods required to support PageRank.
Problem

Research questions and friction points this paper is trying to address.

Implementing GraphBLAS with aggressive nonblocking execution
Leveraging Julia language to simplify nonblocking implementation
Focusing on PageRank-supporting GraphBLAS methods
Innovation

Methods, ideas, or system contributions that make the work stand out.

Nonblocking execution for GraphBLAS operations
Julia language simplifies implementation approach
DAG-preserving transformations enable optimization fusion
🔎 Similar Papers
No similar papers found.
P
Pascal Costanza
Independent researcher, Sint Truiden, Belgium
T
Timothy G. Mattson
University of Bristol, Ocean Park, WA
R
Raye Kimmerer
National Energy Research Scientific Computing Center, Lawrence Berkeley National Laboratory, Berkeley, CA
Benjamin Brock
Benjamin Brock
Intel Labs, Parallel Computing Lab
Parallel ComputingProgramming Languages