https://github.com/cn-upb/nfv-t-cp

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

https://github.com/cn-upb/nfv-t-cp

Science Score: 10.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: ieee.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.8%) to scientific vocabulary

Keywords

5g 5gtango nfv performance profiling
Last synced: 5 months ago · JSON representation

Repository

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

Basic Info
  • Host: GitHub
  • Owner: CN-UPB
  • License: apache-2.0
  • Language: Jupyter Notebook
  • Default Branch: master
  • Size: 9.71 MB
Statistics
  • Stars: 3
  • Watchers: 6
  • Forks: 3
  • Open Issues: 0
  • Releases: 0
Topics
5g 5gtango nfv performance profiling
Created almost 8 years ago · Last pushed about 6 years ago

https://github.com/CN-UPB/nfv-t-cp/blob/master/

[![Build Status](https://travis-ci.org/CN-UPB/nfv-t-cp.svg?branch=master)](https://travis-ci.org/CN-UPB/nfv-t-cp)

# 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: * [Peuster2017] M. Peuster and H. Karl: [**Profile Your Chains, Not Functions: Automated Network Service Profiling in DevOps Environments**](https://ieeexplore.ieee.org/document/8169826/). IEEE Conference on Network Function Virtualization and Software Defined Networks (NFV-SDN), Berlin, Germany. (2017) * [Peuster2018] M. Peuster, H. Karl: [**Understand your chains and keep your deadlines: Introducing time-constrained profiling for NFV**](https://ris.uni-paderborn.de/record/6016). In IEEE/IFIP 14th International Conference on Network and Service Management (CNSM), Rome, Italy. (2018) The results are Pandas data frames exported as CSV files and are available in [this Amazon Cloud folder](https://amzn.to/2rI6GXB). * [peuster_karl_ieeenfvsdn17_3vnf_sfc_profiling_measurements_clean.csv](https://1drv.ms/u/s!AnmoFTwaiiHYhHPTBUcjpK6DsBY8?e=Dwc1aj) (100.2 KB): Cleaned up RAW measurements of a SFC with three layer 4 forwarding VNFs as presented in [Peuster2017]. * [2018-04-26-experiment_tc_paper_synthetic_all.combined.csv](https://1drv.ms/u/s!AnmoFTwaiiHYhH9yuDR17h3_pgLa?e=hOgboe) (5.81 GB!): T-CP system evaluation (e.g. different selector and predictor algorithms) using our randomized synthetic SFC-UT performance model. * [2018-04-26-experiment_tc_paper_nfvsdn17_measurements.combined.csv](https://1drv.ms/u/s!AnmoFTwaiiHYhQUka5Mp_fht_UYH?e=rhiguA) (6.00 GB!): T-CP system evaluation (e.g. different selector and predictor algorithms) using real-world SFC performance measurements. ## Installation ```bash python3 setup.py install ``` ## Run (single job) ```bash nfvtcp -c example_experiment.yaml ``` ## Run (parallel jobs) ```bash ./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: ```bash 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 ```bash nfvtcp -c example_experiment.yaml --plot out/result.pkl ``` ## Tests To run `nfv-t-cp`'s unit tests do: ```bash pytest pytest -v -s --log-level DEBUG # be more verbose pytest -v -s -k "midpoint" # run tests that match keyword ``` ### Examples ```bash # 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

Owner

  • Name: Computer Networks group @ UPB
  • Login: CN-UPB
  • Kind: organization
  • Location: Paderborn, Germany

Computer Networks Group of Paderborn University

GitHub Events

Total
Last Year