Skip to content
No description, website, or topics provided.
Julia JavaScript HTML Gnuplot Python CSS
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.


Type Name Latest commit message Commit time
Failed to load latest commit information.

teavar logo

Traffic Engineering Applying Value at Risk

TEAVAR is a traffic engineering scheme that balances utilization and availability to provide bandwidth guarantees at a desired SLA. This codebase also includes a simulation framework that was used to test TEAVAR, as well as implementations of other traffice engineering algorithms in Julia.

Getting started


Quick start:

  1. Install Julia

  2. Install open a julia shell using:

  3. Install JuMP version v0.18.5 using the Julia REPL:

    julia> ]
    (v1.0) pkg>add JuMP@0.18.5 
  4. Include certain files using:


Note: Most TE algorithms in this codebase are implemented as Linear Programs and require the Gurobi solver.

Using Pre-built binaries:

Instead of installing Julia and using the Julia REPL to run different files, we have compiled the codebase into binaries available on Mac and Linux. To install these go to our homepage or follow the links above.

  1. Install the binary for your operating system

  2. Unzip the file

tar -xvf linuxbuild.tar.gz
  1. Run the file teavar. Add -help or -h for more information on accepted parameters
./teavar -help


Data: All data used for TEAVAR evaluations is in the data folder. Each folder contains a topology. A topology must include 3 files.

  1. nodes.txt A list of string nodenames
  2. topology.txt A list of rows containing edges with a source, destination, capacity, and probability of failure.
  3. demand.txt A set of demands in matrix form or list form. (See data/Custom/demand.txt for list form)

Results: Results from experiments are saved in data/raw. Each experiment has its own folder in data/raw that contains a counter and saves each experiment run results in a folder with the counter number. Results used in the paper have been moved from data/raw to gnuplot/data.

Plots: Data for plots used in TEAVAR can be found in the gnuplot/data folder. All plotting code is also in gnuplot folder (gnuplot/*.gp) and each plotting file outputs plots to gnuplot/plots.

Gnuplot can be installed on OSX using homebrew (brew install gnuplot) or linux using apt (apt get gnuplot). More information on gnuplot can be found on the gnuplot website.

TE Schemes: All TE schemes (mostly case as linear programs) can be found by name in the Algorithms folder.


See the list contributors.

You can’t perform that action at this time.