Multi-Flow Testing

Anuket Project

Multi-Flow Testing

 

Vsperf Multi-Flow testing

 

Introduction

 

The purpose of this series of testing is to examine the impact of sending multiple streams thought the OVS bridge on the flow throughput and performance. Testing 2544 zero loss on both PVP and Phy2Phy2 modes.

 

Test Goals:

 

To document any disparity in flow processing between Layer 2,Layer 3 and Layer 4 for flows ranging between 1,000 through 1 million.  

 

To determine any any significant limitations or anomalies in processing in the handling of flows based on ranges that would affect performance when deployed in specific situations. Or when using in qualifications labs.   

 

To characterize the Multiflow performance for VSPERF that can be used to compare for future benchmarking.

 

Test Non-Goals:

 

This is not a maximum performance testing setup. The system has been tuned to provide it’s best performance to ensure consistent results for this test. These results should not be used as a  set of limitations for the software as different hardware configurations will be able to give different results.

 

These results are are to be used to compare within this dataset to each other.

 

This testing does not reflect performance limitations of the traffic generator used in this case. Other tools will have different abilities. One generate was used for consistent results.

 

Test Configuration:

 

 

Figure 1: Test Setup

System Configuration

 

Isolated all NUMA 1 CPU’s using tuned cpu parameters.

 

DPDK_SOCKET_MEM = ['4096', '4096']

 

VSWITCH_VHOST_CPU_MAP = [5,7,13,15]

 

VSWITCH_PMD_CPU_MASK = 'a0a0'

 

GUEST_SMP = ['3']

 

GUEST_CORE_BINDING = [('1', '9', '11')]

 

GUEST_TESTPMD_PARAMS = ['-l 0,1,2 -n 1 --socket-mem 2048 -- '

 

                       '--burst=64 -i --txqflags=0xf00 '

 

                       '--disable-hw-vlan --nb-cores=2, --txq=1 --rxq=1 --rxd=1024 --txd=1024']

Data Sets:

 

Test Data was determined by using the max number of each of the 5 iterations. This was to rule out one aberrations in the zero loss test that causes lower numbers infrequalty but impacted a flow here and there. 5 iterations were used to determine we had a level of confidence in the test numbers reported.

Test Cases:

 

Test Cases Performed

Run

Test Name

Description

Test Condition

Frame Size

Flow Counts

1-5

Baseline-001

Establish baseline metrics using 1 flow for Phy2Phy2_TPUT

Phy2Phy_TPUT

64,128,256,512,1024,1500

1

6-10

Baseline-002

Establish baseline metrics using 1 flow for PVP_TPUT

PVP_TPUT

64,128,256,512,1024,1500

1

11-15

Multi-Src-001

Run 2544 Zero Loss Test using modifying L2 Source Address only

Phy2Phy_TPUT

64,128,256,512,1024,1500

1,000 10,000 1,000,000

16-20

Multi-Src-002

Run 2544 Zero Loss Test using modifying L2 Source Address only

PVP_TPUT

64,128,256,512,1024,1500

1,000 10,000 1,000,000

21-25

Multi-Src-003

Run 2544 Zero Loss Test using modifying L3 Source Address only

Phy2Phy_TPUT

64,128,256,512,1024,1500

1,000 10,000 1,000,000

26-30

Multi-Src-004

Run 2544 Zero Loss Test using modifying L3 Source Address only

PVP_TPUT

64,128,256,512,1024,1500

1,000 10,000 1,000,000

31-35

Multi-Src-005

Run 2544 Zero Loss Test using modifying L4 Socket Source Address only

Phy2Phy_TPUT

64,128,256,512,1024,1500

1,000 10,000 64,000

36-40

Multi-Src-006

Run 2544 Zero Loss Test using modifying L4 Socket Source Address only

PVP_TPUT

64,128,256,512,1024,1500

1,000 10,000 64,000

41-45

Multi-Dst-007

Run 2544 Zero Loss Test using modifying L2 Dest Address only

Phy2Phy_TPUT

64,128,256,512,1024,1500

1,000 10,000 1,000,000

46-50

Multi-Dst-008

Run 2544 Zero Loss Test using modifying L2 Dest Address only

PVP_TPUT

64,128,256,512,1024,1500

1,000 10,000 1,000,000

51-55

Multi-Dst-009

Run 2544 Zero Loss Test using modifying L3 DestAddress only

Phy2Phy_TPUT

64,128,256,512,1024,1500

1,000 10,000 1,000,000

56-60

Multi-Dst-010

Run 2544 Zero Loss Test using modifying L3 Dest Address only

PVP_TPUT

64,128,256,512,1024,1500

1,000 10,000 1,000,000

61-65

Multi-Dst-011

Run 2544 Zero Loss Test using modifying L4 Dest Socket Address only

Phy2Phy_TPUT

64,128,256,512,1024,1500

1,000 10,000 64,000

66-70

Multi-Dst-012

Run 2544 Zero Loss Test using modifying L4 Dest Socket Address only

PVP_TPUT

64,128,256,512,1024,1500

1,000 10,000 64,000

71-75

Multi-Both-013

Run 2544 Zero Loss Test using modifying L2 Both src and Dest

Phy2Phy_TPUT

64,128,256,512,1024,1500

1,000 10,000 1,000,000

76-80

Multi-Both-014

Run 2544 Zero Loss Test using modifying L2 Both src and Dest

PVP_TPUT

64,128,256,512,1024,1500

1,000 10,000 1,000,000

81-85

Multi-Both-015

Run 2544 Zero Loss Test using modifying L3 Both src and Dest

Phy2Phy_TPUT

64,128,256,512,1024,1500

1,000 10,000 1,000,000

86-90

Multi-Both-016

Run 2544 Zero Loss Test using modifying L3 Both src and Dest

PVP_TPUT

64,128,256,512,1024,1500

1,000 10,000 1,000,000

91-95

Multi-Both-017

Run 2544 Zero Loss Test using modifying L4 Both src and Dest

Phy2Phy_TPUT

64,128,256,512,1024,1500

1,000 10,000 64,000

96-100

Multi-Both-018

Run 2544 Zero Loss Test using modifying L4 Both src and Dest

PVP_TPUT

64,128,256,512,1024,1500

1,000 10,000 64,000

 

 

Analysis of Test Results:

 

Test Results

 

Baseline  

 

Figure 2: 1 Flow Phy2Phy RFC 2544 Zero Loss. Verify Duration 20 Minutes

 

 

Figure 3: 1 Flow PVP_TPUT RFC 2544 Zero Loss. Verify Duration 20 Minutes

 

 

Modify Both Source and Destination Address

 

Figure 4: Layer 2 Src & Des PVP_TPUT RFC 2544 Zero Loss. Verify Duration 20 Minutes

 

 

Figure 5: Layer 3 Src & Des PVP_TPUT RFC 2544 Zero Loss. Verify Duration 20 Minutes

 













Figure 6: Layer 4 Src & Des PVP_TPUT RFC 2544 Zero Loss. Verify Duration 20 Minutes

 

 

Figure 7: Layer 2 Src & Dst Phy2Phy_TPUT RFC 2544 Zero Loss. Verify Duration 20 Minutes

 





Figure 8: Layer 3 Src & Dst Phy2Phy_TPUT RFC 2544 Zero Loss. Verify Duration 20 Minutes

 

 

Figure 9: Layer 4 Src & Dst Phy2Phy_TPUT RFC 2544 Zero Loss. Verify Duration 20 Minutes

 



Flows Rotating Source address only

 

Figure 10: Layer 2 Src only PVP_TPUT RFC 2544 Zero Loss. Verify Duration 20 Minutes

 

 

Figure 11: Layer 3 Src only PVP_TPUT RFC 2544 Zero Loss. Verify Duration 20 Minutes

 



Figure 12: Layer 4 Src only PVP_TPUT RFC 2544 Zero Loss. Verify Duration 20 Minutes

 

 

Figure 13: Layer 2 Src only Phy2Phy_TPUT RFC 2544 Zero Loss. Verify Duration 20 Minutes

 



Figure 14: Layer 3 Src only Phy2Phy_TPUT RFC 2544 Zero Loss. Verify Duration 20 Minutes

 

 

Figure 15: Layer 4 Src only Phy2Phy_TPUT RFC 2544 Zero Loss. Verify Duration 20 Minutes

 

 

Flows Rotating Destination address only

 

Figure 16: Layer 2 Dest only PVP_TPUT RFC 2544 Zero Loss. Verify Duration 20 Minutes

 

 

Figure 17: Layer 3 Dest only PVP_TPUT RFC 2544 Zero Loss. Verify Duration 20 Minutes

 



Figure 18: Layer 4 Dest only PVP_TPUT RFC 2544 Zero Loss. Verify Duration 20 Minutes

 

 

Figure 19: Layer 2 Dest only Phy2Phy_TPUT RFC 2544 Zero Loss. Verify Duration 20 Minutes

 



Figure 20: Layer 3 Dest only Phy2Phy_TPUT RFC 2544 Zero Loss. Verify Duration 20 Minutes

 

 

Figure 21: Layer 4 Dest only Phy2Phy_TPUT RFC 2544 Zero Loss. Verify Duration 20 Minutes

 








Flow Cross Analysis

 

PVP_TPUT Cross Flow Analysis

 



Rx fps PVP_TPUT L2 1,000 Flows

Test

Flows

64

128

256

512

1500

Layer

Test

Rotate_Both

1,000

5,706,159

5,618,036

5,181,619

4,574,736

1,636,512

L2

PVP_TPUT

Rotate_SRC

1,000

5,706,160

5,592,918

5,181,618

4,624,379

1,636,512

L2

PVP_TPUT

Rotate_DST

1,000

5,286,931

5,558,547

5,213,515

4,607,830

1,636,512

L2

PVP_TPUT

 

 

 

 

 

 

 

 

 

Rx fps PVP_TPUT L2 10,000 Flows

Test

Flows

64

128

256

512

1500

Layer

Test

Rotate_Both

10,000

5,286,930

5,677,521

5,149,722

4,591,304

1,636,512

L2

PVP_TPUT

Rotate_SRC

10,000

5,033,066

5,558,550

5,213,517

4,574,736

1,636,512

L2

PVP_TPUT

Rotate_DST

10,000

1,849,888

4,528,837

4,990,231

4,475,443

1,636,512

L2

PVP_TPUT

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Rx fps PVP_TPUT L2 1,000,000 Flows

Test

Flows

64

128

256

512

1500

Layer

Test

Rotate_Both

1,000,000

5,182,123