JuliaCon Local Paris 2025

GraphLab.jl: A Julia Framework for Graph Partitioning Algorithms
2025-10-03 , Robert Faure Amphitheater
Language: English

We present GraphLab.jl, a Julia package designed to facilitate the study, experimentation, and research of graph partitioning. GraphLab.jl provides a framework for exploring the principles and trade-offs of partitioning algorithms through hands-on tools. It implements a growing set of methods—including coordinate, inertial, and spectral bisection, random spheres, space-filling curves, and nested dissection—with support for recursive partitioning. The package includes routines for generating adjacency matrices, computing partition quality metrics, benchmarking problems, and visualizing partitioned graphs. GraphLab.jl enables integration with external graph partitioning software, thus allowing users to compare additional methods and results in a unified environment. Our work aims to introduce Julia's capabilities to learners and researchers engaging in graph theory and related partitioning problems.


Graph partitioning is a fundamental problem with wide-ranging applications in computational biology, social network analysis, high-performance computing, and distributed systems. Partitioning large graphs into loosely connected subsets of roughly equal size promotes parallel execution, reduces communication overhead, and provides insights into the structure of complex networks.

Over the years, a plethora of graph partitioning techniques have been developed. Evaluating their effectiveness and comparing their trade-offs are key to building intuition and practical understanding. We address this need with GraphLab.jl, a package designed to facilitate the study, experimentation, and research of graph partitioning in an integrated, hands-on workflow. GraphLab.jl offers an accessible framework that enables users to experiment with algorithms, visualize results, and assess partition quality in an interactive environment. The package implements a diverse set of partitioning algorithms, including coordinate, inertial, and spectral bisection, random spheres, space-filling curves, and nested dissection. These methods can be applied recursively for hierarchical partitioning or multi-level strategies. GraphLab.jl also provides routines for generating adjacency matrices, computing partition quality metrics, benchmarking problems, and visualizing partitioned graphs. It allows integration with external graph partitioning software, thus enabling users to compare additional methods and results in a unified environment.

Our work aims to contribute to the educational efforts of the Julia graph community and to assist in introducing Julia's capabilities to learners and researchers engaging in graph theory and related partitioning problems.

The code is openly available on GitHub: https://github.com/lechekhabm/GraphLab.jl

I am a postdoctoral fellow at Università della Svizzera italiana (USI) in Lugano, Switzerland. The focus of my research is centered around algorithms for graph learning and combinatorial optimization for graph clustering and anomaly detection. Currently, I am leading the project “Directed acyclic graph partitioning for scheduling tasks“, financed by the Huawei Research Center Zürich. I have an MSc and PhD in Computational Science from USI, and a Degree of Physics from the Aristotle University of Thessaloniki, Greece.


Personal website: https://dmspas.github.io/

I'm a PhD student in High Performance Computing at the Advanced Computing Laboratory, Università della Svizzera italiana. I hold a master’s degree in Finance from HEC, University of Lausanne. My research interests include graph theory, anomaly detection, and computational finance. In my free time, I enjoy all mountain sports, from hiking to paragliding.