Table of Contents
Fetching ...

Scalable Maxflow Processing for Dynamic Graphs

Shruthi Kannappan, Ashwina Kumar, Rupesh Nasre

TL;DR

The paper tackles scalable maxflow on large dynamic graphs using GPU parallelism, presenting a static GPU maxflow algorithm and an incremental dynamic variant that reuses prior results after edge-capacity updates, aided by a Bi-CSR graph representation for efficient reverse-edge access ($e(t)$ as the maxflow value). It combines topology- or data-driven worklists with CUDA-level optimizations and the global relabel heuristic to improve throughput and memory efficiency. A formal correctness framework is provided for the static algorithm and its dynamic extension, leveraging height invariants and cut properties to guarantee maximum flow. Empirical evaluations on real-world networks show substantial runtime and memory advantages for the dynamic GPU approach over full recomputation, with scalability gained from Bi-CSR, worklists, and GPU-specific optimizations.

Abstract

The Maximum Flow (Max-Flow) problem is a cornerstone in graph theory and combinatorial optimization, aiming to determine the largest possible flow from a designated source node to a sink node within a capacitated flow network. It has extensive applications across diverse domains such as computer networking, transportation systems, and image segmentation. The objective is to maximize the total throughput while respecting edge capacity constraints and maintaining flow conservation at all intermediate vertices. Among the various algorithms proposed for solving the Max-Flow problem, the Push--Relabel algorithm is particularly notable for its efficiency and suitability for parallelization, owing to its localized vertex-based operations. This property has motivated extensive research into GPU-accelerated Max-Flow computation, leveraging the high degree of parallelism inherent to modern GPU architectures. In this paper, we present a novel GPU-parallel Max-Flow algorithm capable of incrementally recomputing the maximum flow of a dynamic graph following a batch of edge updates. In addition, we introduce a high-performance static GPU algorithm designed for efficiently computing the initial Max-Flow on static graphs. We further describe a series of CUDA-specific implementation optimizations that enhance performance, scalability, and memory efficiency on GPU platforms.

Scalable Maxflow Processing for Dynamic Graphs

TL;DR

The paper tackles scalable maxflow on large dynamic graphs using GPU parallelism, presenting a static GPU maxflow algorithm and an incremental dynamic variant that reuses prior results after edge-capacity updates, aided by a Bi-CSR graph representation for efficient reverse-edge access ( as the maxflow value). It combines topology- or data-driven worklists with CUDA-level optimizations and the global relabel heuristic to improve throughput and memory efficiency. A formal correctness framework is provided for the static algorithm and its dynamic extension, leveraging height invariants and cut properties to guarantee maximum flow. Empirical evaluations on real-world networks show substantial runtime and memory advantages for the dynamic GPU approach over full recomputation, with scalability gained from Bi-CSR, worklists, and GPU-specific optimizations.

Abstract

The Maximum Flow (Max-Flow) problem is a cornerstone in graph theory and combinatorial optimization, aiming to determine the largest possible flow from a designated source node to a sink node within a capacitated flow network. It has extensive applications across diverse domains such as computer networking, transportation systems, and image segmentation. The objective is to maximize the total throughput while respecting edge capacity constraints and maintaining flow conservation at all intermediate vertices. Among the various algorithms proposed for solving the Max-Flow problem, the Push--Relabel algorithm is particularly notable for its efficiency and suitability for parallelization, owing to its localized vertex-based operations. This property has motivated extensive research into GPU-accelerated Max-Flow computation, leveraging the high degree of parallelism inherent to modern GPU architectures. In this paper, we present a novel GPU-parallel Max-Flow algorithm capable of incrementally recomputing the maximum flow of a dynamic graph following a batch of edge updates. In addition, we introduce a high-performance static GPU algorithm designed for efficiently computing the initial Max-Flow on static graphs. We further describe a series of CUDA-specific implementation optimizations that enhance performance, scalability, and memory efficiency on GPU platforms.

Paper Structure

This paper contains 6 sections, 4 algorithms.