Gigaflow Benchmarking Guide
This guide explains how to evaluate Gigaflow against Megaflow cache using real-world vSwitch pipelines and traffic traces.
Experiment Setup
If you haven't completed the last step of installation, then you need to setup the experiment first. Inside the Ansible container, run the following command to install the datasets (pipelines and traffic traces) on the GVS and TGEN machines.
make setup-gvs-experiment
This command will also install gvs and tgen along with all their dependencies on the respective machines.
Option 1. Run All Experiments
To run all experiments (end-to-end and microbenchmarks) and collect logs, run the following command:
make run-gvs-experiment
Option 2. End-to-End Evals
To setup and run only end-to-end experiments:
make run-gvs-ee-experiment
Option 3. Microbenchmarks
To setup and run only microbenchmark experiments:
make run-gvs-bm-experiment
Option 4. Custom Experiment
To setup and run a specific experiment (with a given locality, pipeline, and Gigaflow tables configuration), modify the following variables in vars/main.yml.
Config 1: Locality
The locality (high/low) to generate the correct traffic load.
vars/main.yml | |
---|---|
68 69 70 |
|
Choose an option from locality_static
. The other available options are as following:
vars/main.yml | |
---|---|
72 73 74 75 |
|
Config 2: vSwitch Pipeline
The pipeline to install in the vSwitch and send traffic for.
vars/main.yml | |
---|---|
77 78 79 80 |
|
Choose an option from pipelines_static
. Other available options are as following:
vars/main.yml | |
---|---|
82 83 84 85 86 87 88 89 90 91 92 93 |
|
Config 3: Gigaflow Tables
The number of Gigaflow tables and entries in each of them.
vars/main.yml | |
---|---|
95 96 97 98 99 |
|
Choose an option from gigaflow_static
. Other available options are as following:
vars/main.yml | |
---|---|
101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 |
|
Once these variables are setup, run the following sequence of commands.
make resetup-tgen-scripts
make start-switch-gvs
make install-rules
make start-tgen
make stop-tgen
make uninstall-rules
make stop-switch-gvs
make collect-logs
Experiment Teardown
To stop the experiment and remove all installed components, run the following command:
make teardown-gvs-experiment