🫵 Looking for collaborators who would be interested in integrating a traffic load optimizer (such as this one or a more powerful version) into a real-world network controller. If you're such a person, please contact me at [email protected].
SRTE-LS is a fast optimizer to find (near) optimal traffic placement in Segment Routing enabled networks. It is a Go implementation of the Link-Guided Local Search algorithm presented in [1] and [2].
Segment Routing is a network technology that allows network operators to steer traffic along a specific path through the network by encoding instructions in the packet headers. Optimizing traffic placement in such networks is crucial for improving network performance, reducing congestion, and enhancing overall efficiency. SRTE-LS aims to address this optimization problem by efficiently determining the best placement of traffic flows within a Segment Routing network.
Before using SRTE-LS, ensure you have Go installed on your system. You can install it from the official Go website.
Clone the repository:
git clone https://github.com/rhartert/srte-ls.git
Build the SRTE-LS solver by running the following command from the root of the repository
The examples
directory contains a complete implementation of a LGS solver. Follow these steps to run it:
cd srte-ls
go build
Then, simply run the solver on a test instance from the examples
directory:
./srte-ls -network=examples/synth100.graph -demands=examples/synth100.demands
The output should be similar to the following:
total time (ms): 395
optimization time (ms): 301
utilization (before): 2.325262
utilization (after): 0.854984
This project is licensed under the MIT License.