Skip to content

Repository files navigation

online-optical-matching

This repository contains the source code for the paper (under submission) Learning-Augmented Online Optical Interconnect Reconfiguration.

Algorithms

The python file run-algorithm.py contains the implementation of the following algorithms for rematching:

  • Offline
  • Static offline
  • Online greedy
  • Online greedy with predictions. Here, predictions are based on the offline solution and by introducing a prediction error.
  • Oblivious

Datasets

run-experiments.sh automatically downloads the necessary datasets hosted on our university servers. These datasets can also be obtained from the following locations:

Each tracefile consists of a sequence of requests that specifies the source and destination nodes.

Update: The trace files are now hosted in this repository (data/) in .zip format, obtained directly from the above references.

Reproducibility

The code is written in Python3 (3.12.3) and tested on Linux Fedora 41 and Ubuntu 24.04. To reproduce the results, please follow these steps:

  • Clone the repository:
git clone https://github.com/inet-tub/online-optical-matching.git
cd online-optical-matching
  • Install the required dependencies:
chmod +x ./install-venv.sh
./install-venv.sh
source .venv/bin/activate
uv pip install --upgrade pip
pip install -r requirements.txt
  • Run the experiments
chmod +x ./run-experiments.sh
./run-experiments.sh 1
# The cmd arg indicates whether to prepare and extract the datasets (1) or not (0).
  • The results will be saved in the results directory. Plot the figures using the plot.py script. The figures will be saved in the plots directory.
python3 plot.py

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages