Performance comparison between Snabb versions. Compares scores with various benchmarks, workloads, configurations, and software dependency versions. Results are mostly reported as probability density graphs to show the distribution of benchmark scores (measured in Gbps for iperf and Mpps for l2fwd).

The overall purpose of this report is to highlight the relative strengths and weaknesses between Snabb software versions. This is particularly intended for evaluating how experimental changes affect performance and reliability.

This report starts with a very broad summary and then drills down on iperf and l2fwd results separately.

Significance test

This first graph is special: its purpose is to show whether there are “statistically significant” differences between the Snabb versions. It is plotted in an especially suitable way: a CDF (see Reading CDF Graphs) with a 95% confidence band. (Explanation follows below.)

Significant differences appear as gaps (blank space) between confidence bands. For each gap the band above seems to be significantly slower than the band below. If bands criss-cross this suggests that one version is faster on some benchmarks and slower on others.

If two bands have no gaps (i.e. they overlap at every point on the X-axis) then no significant differences between those bands was found. In this case any apparent differences between branches in the other plots below should be taken with a grain of salt.

Notes:

  • The breadth of the confidence bands depends on the number of benchmarks. The more data you have, the narrower your bands, the easier it is to find small gaps. If you think there is a difference but the bands are too broad to be sure then consider re-running the benchmark with more iterations.
  • The confidence bands are calculated using a method based on the Kolmogorov-Smirnov (KS) test.

Overall summary

Split by benchmark

iperf

Configuration

Guest kernel

QEMU

Success and failure

Success rate:

Sucesses:

##           config                        qemu          kernel     
##  base        :2520   2.1.3                :1800   3.18.29:12600  
##  filter      :2520   2.1.3-with-snabbpatch:1800                  
##  ipsec       :2520   2.2.1                :1800                  
##  l2tpv3      :2520   2.3.1                :1800                  
##  l2tpv3_ipsec:2520   2.4.1                :1800                  
##                      2.5.1                :1800                  
##                      2.6.0                :1800

Failures:

##           config                     qemu       kernel 
##  base        :0   2.1.3                :0   3.18.29:0  
##  filter      :0   2.1.3-with-snabbpatch:0              
##  ipsec       :0   2.2.1                :0              
##  l2tpv3      :0   2.3.1                :0              
##  l2tpv3_ipsec:0   2.4.1                :0              
##                   2.5.1                :0              
##                   2.6.0                :0

l2fwd

Packet size

Configuration

DPDK

DPDK + configuration

QEMU

Success and failure

Success rate:

Sucesses:

##    config                        qemu         dpdk            snabb     
##  base :4200   2.1.3                :1800   1.8.0:   0   next     :6300  
##  noind:4200   2.1.3-with-snabbpatch:1800   16.04:2520   vring-opt:6300  
##  nomrg:4200   2.2.1                :1800   16.07:2520                   
##               2.3.1                :1800   2.0.0:2520                   
##               2.4.1                :1800   2.1.0:2520                   
##               2.5.1                :1800   2.2.0:2520                   
##               2.6.0                :1800                                
##  pktsize   
##  64 :6300  
##  256:6300  
##            
##            
##            
##            
## 

Failures:

##    config                       qemu        dpdk            snabb     
##  base :840   2.1.3                :360   1.8.0:2520   next     :1260  
##  noind:840   2.1.3-with-snabbpatch:360   16.04:   0   vring-opt:1260  
##  nomrg:840   2.2.1                :360   16.07:   0                   
##              2.3.1                :360   2.0.0:   0                   
##              2.4.1                :360   2.1.0:   0                   
##              2.5.1                :360   2.2.0:   0                   
##              2.6.0                :360                                
##  pktsize   
##  64 :1260  
##  256:1260  
##            
##            
##            
##            
##