Skip to content

NFV time-constrained performance profiling (T-CP) framework

License

Notifications You must be signed in to change notification settings

CN-UPB/nfv-t-cp

Repository files navigation

Build Status

nfv-t-cp: NFV Time-Constrained Profiler

NFV time-constrained performance profiling (T-CP) framework.

This framework can be used to build NFV profiling systems that profile single VNFs or complex SFC under a given time constraint. The framework can be either connected to a real-world profiling platform or it can be fed with existing profiling results to perform trace-based T-CP runs independently of a connected profiling platform.

Contact

Manuel Peuster
Paderborn University
manuel (dot) peuster (at) upb (dot) de
Twitter: @ManuelPeuster
GitHub: @mpeuster

Datasets

The datasets used by and generated with this tool are publicly available. If you use them, please cite the following papers:

The results are Pandas data frames exported as CSV files and are available in this Amazon Cloud folder.

Installation

python3 setup.py install

Run (single job)

nfvtcp -c example_experiment.yaml

Run (parallel jobs)

./nfvtcp_parallel.sh -c example_experiment.yaml -J 16

The argument -J specifies the number of parallel jobs to use.

Combine results of parallel jobs

If the data frames of multiple parallel jobs should be combined do:

cd out/
python combine_results.py -i "experiment_*.pkl" -o combined_result.pkl

NOTE: The quotes for the file pattern are important!

Build-in plotting

nfvtcp -c example_experiment.yaml --plot out/result.pkl

Tests

To run nfv-t-cp's unit tests do:

pytest
pytest -v -s --log-level DEBUG # be more verbose
pytest -v -s -k "midpoint" # run tests that match keyword

Examples

# run
./nfvtcp_parallel.sh -J 16 -c configs/experiment_tc_paper_synthetic_all.yaml -r 100
./nfvtcp_parallel.sh -J 16 -c configs/experiment_tc_paper_nfvsdn17_measurements.yaml -r 100

# process results
python combine_results.py -i "experiment_tc_paper_synthetic_all.job*" -o 2018-04-XX-experiment_tc_paper_synthetic_all.compressed.combined.pkl
python combine_results.py -i "experiment_tc_paper_nfvsdn17_measurements.job*" -o 2018-04-XX-experiment_tc_paper_nfvsdn17_measurements.combined.compressed.pkl

Contributor(s)

  • Manuel Peuster (manuel (at) peuster (dot) de)
  • ...

License

Apache 2.0

About

NFV time-constrained performance profiling (T-CP) framework

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages