This directory contains some explorative experimental results related to the high-speed OpenNetVM platform on a COTS server.
This directory contains our explorative experiments of the state-of-the-art OpenNetVM (ONVM) platform on a commodity off-the-shelf server. Our experiments focus on the performance diagnoses of ONVM. Please refer to the main website for further information. The general architecture of ONVM is illustrated below:
The experiments include 5 different Service Function Chaining (SFC) configurations, namely:
- Linear
- DAG-1
- DAG-2
- Tree
- Bridge
We conduct three types of experiments:
-
Load stimulus: Perturbing the input traffic with different input rates and patterns.
-
Resource stimulus: Perturbing the allocated resource to individual VNFs. Currently, we assign collocated parasite processes to each VNF to perturb its CPU share.
-
The combination of the previous two experiments.
Please refer to each SFC directory for data and further details.
- tx_stats: Statistics for the input traffic. The input traffic was generated and recorded using the MoonGen traffic generator. The generated synthetic packets follow either pure 128 B or the Internet IMIX distribution (i.e., 64B: 512B: 1024B = 7:4:1). Please refer to the tx_stats.csv file in each directory to check the packet size distribution. Normally, the packet rate of IMIX should not surpass 4 Mpps (i.e., million packets per second). A sample tx_stats record is illustrated below:
Time | Device | Direction | PacketRate | Mbit | MbitWithFraming | TotalPackets | TotalBytes |
---|---|---|---|---|---|---|---|
1686141358 | Device: id=0 | TX | 0.33343282345416 | 943.37429415621 | 996.72354590888 | 339888 | 120205980 |
- rx_stats: End-to-end throughput statistics are also measured and recorded using MoonGen. This file follows the same format as tx_stats. A sample rx_stats record is illustrated below:
Time | Device | Direction | PacketRate | Mbit | MbitWithFraming | TotalPackets | TotalBytes |
---|---|---|---|---|---|---|---|
1686141399 | Device: id=1 | RX | 0.18560265302008 | 525.69664884533 | 555.39307332854 | 15963959 | 5653132404 |
- latency: Statistics for the end-to-end latency. This is also measured using MoonGen by injecting PTP packets every second into the tx traffic. The latency is measured in nanoseconds.
Sequence no. | Latency (ns) |
---|---|
188 | 3765443 |
- nf: Statistics of individual VNFs measured by Perf. The interesting features include CPU frequency, l1-dcache-misses, and LLC cache references, and so on.
- nf_out: This file is output by ONVM to measure the statistics of the individual VNFs on a configured SFC. Some interesting statistics include the TX/RX rates, RX/TX counts, TX/RX drop rates, TX/RX drops. The column names are listed as follows:
nfs[i].tag, nfs[i].instance_id, nfs[i].service_id, nfs[i].thread_info.core, rx_pps, tx_pps, rx, tx, act_out, act_tonf, act_drop, nfs[i].thread_info.parent, state, rte_atomic16_read(&nfs[i].thread_info.children_cnt), rx_drop_rate, tx_drop_rate, rx_drop, tx_drop, act_next, act_buffer, act_returned
Please refer to our paper if you find this work interesting:
Qiong Liu, Tianzhu Zhang, Leonardo Linguaglossa. "Non-invasive performance prediction of high-speed softwarized network services with limited knowledge," IEEE International Conference on Computer Communications (INFOCOM), 2024.
This project involves a collaborative effort between Telecom Paris and Nokia Bell Labs. Our partnership reflects a shared commitment to advancing open-source software development, data science research, and applied AI/ML in networking.
We extend our gratitude to all contributors and supporters who have made this project possible. If you would like more details, questions, or suggestions about our project, please feel free to contact us at [email protected] or [email protected].