multifacet / cornifer

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CORNIFER

Pre-requisite

  • Make sure you are runnning python 3.8 or above.
  • Install pip3.
  • Install matplotlib, pandas, numpy, scipy or run pip3 install -r requirements.txt. If you are manually installing these packages, you can find the required versions in requirements.txt,

Repository Content

  • metro-pop-slo: This comprises the latencies for each metro-pop pair at a given percentile. We use the 90th percentile window in our implementation.
  • topologies: This comprises all the synthetic topologies generated by CORNIFER. All the files are in the format of topology_{size}_{number}, where size represents the number of metro locations in the topology. We have 10 variations of each topology size, and number represents any number between 1 and 10.
  • results: Once you run CORNIFER, the results will be placed here. It currently has an example output for your reference.

Note that all the latency measurements are synthetic.

Running Cornifer

  • Clone the repository.
  • Run python cornifer.py -s <topology_size> -n <topology_number> to find the virtual WAN placement of topology of size topology_size and variation topology_number. Eg: Running python cornifer.py -s 5 -n 1 with find placement for topology_5_1.csv. This finds placement for l_optimal, k_optimal, mean_k mode, and writes the output under results/{mode}/topology_{size}_{number}.

About


Languages

Language:Python 100.0%