Skip to content

About

AutoTuneTD-SBP is a ML-based framework that recommends parameter configurations for top-down stochastic block partitioning.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

AutoTuneTD-SBP

AutoTuneTD-SBP recommends a Top-down stochastic block partitioning (SBP) configuration for a graph. The tradeoff parameter alpha controls the objective: 0 prioritizes performance, 0.5 balances performance and accuracy, and 1 prioritizes accuracy.

Artifact for ML-Guided Parameter Configuration Selection for Top-Down Stochastic Block Partitioning, accepted at IEEE HPEC 2026.

Reusability and Broader Impact (CAIDA Network Telescope and MIT Graph Challenge Graphs)

In addition to the AutoTuneTD-SBP codebase, we provide recommended parameter configurations for the top-down SBP graph clustering algorithm for publicly available graphs from the CAIDA network telescope and MIT Graph Challenge datasets, as identified by AutoTuneTD-SBP. Researchers can use these configurations to run top-down SBP on these graphs without first running AutoTuneTD-SBP.

For each of the graphs, we provide three sets of recommended parameter configurations (obtained via AutoTuneTD-SBP experiments): for the case of alpha = 0 that prioritizes computational performance, for alpha = 0.5 that balances clustering accuracy and computational performance, and for alpha = 1 that prioritizes clustering accuracy. More details on alpha can be found in the manuscript.

Each non-reference parameter configuration (Configurations 2-27) differs from the reference parameter configuration (Configuration 1) by exactly one parameter.

The complete definitions of all 27 parameter configurations considered in this work are available in params.conf.

The table below shows one CAIDA network telescope graph and one MIT Graph Challenge graph with the parameter configuration recommended by AutoTuneTD-SBP for each alpha value:

Example Graph Recommended Configuration
(for alpha = 0)
Recommended Configuration
(for alpha = 0.5)
Recommended Configuration
(foralpha = 1)
CAIDA network telescope
20220114-
000000
Configuration 24
BATCHES=2, CACHE_SIZE=20000, DEGREEPRODUCTSORT=1, SPLITINIT=random, SPLIT=connectivity-snowball, MH_PERCENT=0.1, NODELTA=0, NONPARAMETRIC=0, GREEDY=0, APPROXIMATE=0, MIX=0
Configuration 22
BATCHES=2, CACHE_SIZE=20000, DEGREEPRODUCTSORT=1, SPLITINIT=random, SPLIT=connectivity-snowball, MH_PERCENT=1.0, NODELTA=0, NONPARAMETRIC=1, GREEDY=0, APPROXIMATE=0, MIX=0
Configuration 21
BATCHES=2, CACHE_SIZE=20000, DEGREEPRODUCTSORT=1, SPLITINIT=random, SPLIT=connectivity-snowball, MH_PERCENT=0.9, NODELTA=0, NONPARAMETRIC=1, GREEDY=0, APPROXIMATE=0, MIX=0
MIT Graph Challenge
static_lowOverlap_
highBlockSizeVar_
20000000_nodes
Configuration 12
BATCHES=2, CACHE_SIZE=20000, DEGREEPRODUCTSORT=1, SPLITINIT=random, SPLIT=single-snowball, MH_PERCENT=0.1, NODELTA=0, NONPARAMETRIC=1, GREEDY=0, APPROXIMATE=0, MIX=0
Configuration 9
BATCHES=2, CACHE_SIZE=20000, DEGREEPRODUCTSORT=1, SPLITINIT=degree-weighted, SPLIT=connectivity-snowball, MH_PERCENT=0.1, NODELTA=0, NONPARAMETRIC=1, GREEDY=0, APPROXIMATE=0, MIX=0
Configuration 1
BATCHES=2, CACHE_SIZE=20000, DEGREEPRODUCTSORT=1, SPLITINIT=random, SPLIT=connectivity-snowball, MH_PERCENT=0.1, NODELTA=0, NONPARAMETRIC=1, GREEDY=0, APPROXIMATE=0, MIX=0

Additional result files and provenance notes are available for CAIDA and the MIT Graph Challenge. [Under Construction]

Requirements

  • Python 3.11 or newer
  • An NVIDIA GPU and CUDA 12 for RAPIDS preprocessing and metrics
  • A C++17 compiler, CMake, OpenMP, and MPI for Top-down SBP

Installation

Conda is recommended:

conda env create -f environment.yml
conda activate autotune-tdsbp

Alternatively, on a CUDA 12 system:

python -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install -r requirements.txt

For CUDA 13, replace the CUDA 12 RAPIDS packages in requirements.txt with their -cu13 equivalents.

Build Top-down SBP

The original Top-down SBP code is available at vtsynergy/SBP.

TopDown-SBP-Weighted/ contains our modification of the latest Top-down SBP code to support positive integer edge weights. This is important for multigraph-derived datasets such as the CAIDA network telescope, where the same source--destination pair can occur multiple times. The edge weight preserves that multiplicity, and weighted Top-down SBP represents it as parallel unit edges during clustering.

cmake -S TopDown-SBP-Weighted -B TopDown-SBP-Weighted/build -DCMAKE_BUILD_TYPE=Release
cmake --build TopDown-SBP-Weighted/build --target TopDownSBP -j

Run

Top-down SBP accepts a weighted tab-separated edge list named <graph>.tsv:

source_vertex<TAB>target_vertex<TAB>weight

Run the paper's parameter sweep:

TopDown-SBP/scripts/run_parameter_sweep.sh \
  Data/CAIDA/20220114-000000 \
  runs/CAIDA/20220114-000000

Compute graph and clustering metrics:

python Data-Preprocessing/compute_metrics_cpu.py --help
python Data-Preprocessing/compute_metrics_gpu.py --help

Train the recommendation model:

python AutoTuneTD-SBP/train.py \
  --input path/to/training_measurements.csv \
  --output-dir models/xgboost

Recommend configurations for a new graph:

python AutoTuneTD-SBP/recommend.py \
  --model models/xgboost/model.joblib \
  --graph-features path/to/new_graph_features.csv \
  --configurations TopDown-SBP/configs/params.conf \
  --alpha 0.5 \
  --output recommendations.csv

See AutoTuneTD-SBP/README.md and Data-Preprocessing/README.md for input-column and preprocessing details.

Parameter configurations

All 27 configurations evaluated in the paper are listed in params.conf. The first row is the reference configuration; every other row changes one setting. Dataset-specific experiments may use only a subset of these configurations.

Citation

@inproceedings{dey2026autotunetdsbp,
  author    = {Saikat Dey and Wu-chun Feng},
  title     = {ML-Guided Parameter Configuration Selection for Top-Down Stochastic Block Partitioning},
  booktitle = {2026 IEEE High Performance Extreme Computing Conference (HPEC)},
  year      = {2026}
}

Machine-readable metadata is available in CITATION.cff.

License

This project is released under the MIT License.

About

AutoTuneTD-SBP is a ML-based framework that recommends parameter configurations for top-down stochastic block partitioning.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages