On Sunday, June 19, 2011 05:27:00 AM Michael S. Tsirkin wrote:
> OK, different people seem to test different trees.  In the hope to get
> everyone on the same page, I created several variants of this patch so
> they can be compared. Whoever's interested, please check out the
> following, and tell me how these compare:
> 
> kernel:
> 
> git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git
> 
> virtio-net-limit-xmit-polling/base - this is net-next baseline to test
> against virtio-net-limit-xmit-polling/v0 - fixes checks on out of capacity
> virtio-net-limit-xmit-polling/v1 - previous revision of the patch
>               this does xmit,free,xmit,2*free,free
> virtio-net-limit-xmit-polling/v2 - new revision of the patch
>               this does free,xmit,2*free,free
> 

Here's a summary of the results.  I've also attached an ODS format spreadsheet
(30 KB in size) that might be easier to analyze and also has some pinned VM
results data.  I broke the tests down into a local guest-to-guest scenario
and a remote host-to-guest scenario.

Within the local guest-to-guest scenario I ran:
  - TCP_RR tests using two different messsage sizes and four different
    instance counts among 1 pair of VMs and 2 pairs of VMs.
  - TCP_STREAM tests using four different message sizes and two different
    instance counts among 1 pair of VMs and 2 pairs of VMs.

Within the remote host-to-guest scenario I ran:
  - TCP_RR tests using two different messsage sizes and four different
    instance counts to 1 VM and 4 VMs.
  - TCP_STREAM and TCP_MAERTS tests using four different message sizes and
    two different instance counts to 1 VM and 4 VMs.
over a 10GbE link.

*** Local Guest-to-Guest ***

Here's the local guest-to-guest summary for 1 VM pair doing TCP_RR with
256/256 request/response message size in transactions per second:

Instances       Base            V0              V1              V2
1                8,151.56        8,460.72        8,439.16        9,990.37
25              48,761.74       51,032.62       51,103.25       49,533.52
50              55,687.38       55,974.18       56,854.10       54,888.65
100             58,255.06       58,255.86       60,380.90       59,308.36

Here's the local guest-to-guest summary for 2 VM pairs doing TCP_RR with
256/256 request/response message size in transactions per second:

Instances       Base            V0              V1              V2
1               18,758.48       19,112.50       18,597.07       19,252.04
25              80,500.50       78,801.78       80,590.68       78,782.07
50              80,594.20       77,985.44       80,431.72       77,246.90
100             82,023.23       81,325.96       81,303.32       81,727.54

Here's the local guest-to-guest summary for 1 VM pair doing TCP_STREAM with
256, 1K, 4K and 16K message size in Mbps:

256:
Instances       Base            V0              V1              V2
1                  961.78        1,115.92          794.02          740.37
4                2,498.33        2,541.82        2,441.60        2,308.26

1K:                                     
1                3,476.61        3,522.02        2,170.86        1,395.57
4                6,344.30        7,056.57        7,275.16        7,174.09

4K:                                     
1                9,213.57       10,647.44        9,883.42        9,007.29
4               11,070.66       11,300.37       11,001.02       12,103.72

16K:
1               12,065.94        9,437.78       11,710.60        6,989.93
4               12,755.28       13,050.78       12,518.06       13,227.33

Here's the local guest-to-guest summary for 2 VM pairs doing TCP_STREAM with
256, 1K, 4K and 16K message size in Mbps:

256:
Instances       Base            V0              V1              V2
1                2,434.98        2,403.23        2,308.69        2,261.35
4                5,973.82        5,729.48        5,956.76        5,831.86

1K:
1                5,305.99        5,148.72        4,960.67        5,067.76
4               10,628.38       10,649.49       10,098.90       10,380.09

4K:
1               11,577.03       10,710.33       11,700.53       10,304.09
4               14,580.66       14,881.38       14,551.17       15,053.02

16K:
1               16,801.46       16,072.50       15,773.78       15,835.66
4               17,194.00       17,294.02       17,319.78       17,121.09


*** Remote Host-to-Guest ***

Here's the remote host-to-guest summary for 1 VM doing TCP_RR with
256/256 request/response message size in transactions per second:

Instances       Base            V0              V1              V2
1                9,732.99       10,307.98       10,529.82        8,889.28
25              43,976.18       49,480.50       46,536.66       45,682.38
50              63,031.33       67,127.15       60,073.34       65,748.62
100             64,778.43       65,338.07       66,774.12       69,391.22

Here's the remote host-to-guest summary for 4 VMs doing TCP_RR with
256/256 request/response message size in transactions per second:

Instances       Base            V0              V1              V2
1                39,270.42       38,253.60       39,353.10       39,566.33
25              207,120.91      207,964.50      211,539.70      213,882.21
50              218,801.54      221,490.56      220,529.48      223,594.25
100             218,432.62      215,061.44      222,011.61      223,480.47

Here's the remote host-to-guest summary for 1 VM doing TCP_STREAM with
256, 1K, 4K and 16K message size in Mbps:

256:
Instances       Base            V0              V1              V2
1               2,274.74        2,220.38        2,245.26        2,212.30
4               5,689.66        5,953.86        5,984.80        5,827.94

1K:
1               7,804.38        7,236.29        6,716.58        7,485.09
4               7,722.42        8,070.38        7,700.45        7,856.76

4K:
1               8,976.14        9,026.77        9,147.32        9,095.58
4               7,532.25        7,410.80        7,683.81        7,524.94

16K:
1               8,991.61        9,045.10        9,124.58        9,238.34
4               7,406.10        7,626.81        7,711.62        7,345.37

Here's the remote host-to-guest summary for 1 VM doing TCP_MAERTS with
256, 1K, 4K and 16K message size in Mbps:

256:
Instances       Base            V0              V1              V2
1               1,165.69        1,181.92        1,152.20        1,104.68
4               2,580.46        2,545.22        2,436.30        2,601.74

1K:
1               2,393.34        2,457.22        2,128.86        2,258.92
4               7,152.57        7,606.60        8,004.64        7,576.85

4K:
1               9,258.93        8,505.06        9,309.78        9,215.05
4               9,374.20        9,363.48        9,372.53        9,352.00

16K:
1               9,244.70        9,287.72        9,298.60        9,322.28
4               9,380.02        9,347.50        9,377.46        9,372.98

Here's the remote host-to-guest summary for 4 VMs doing TCP_STREAM with
256, 1K, 4K and 16K message size in Mbps:

256:
Instances       Base            V0              V1              V2
1               9,392.37        9,390.74        9,395.58        9,392.46
4               9,394.24        9,394.46        9,395.42        9,394.05

1K:
1               9,396.34        9,397.46        9,396.64        9,443.26
4               9,397.14        9,402.25        9,398.67        9,391.09

4K:
1               9,397.16        9,398.07        9,397.30        9,396.33
4               9,395.64        9,400.25        9,397.54        9,397.75

16K:
1               9,396.58        9,397.01        9,397.58        9,397.70
4               9,399.15        9,400.02        9,399.66        9,400.16


Here's the remote host-to-guest summary for 4 VMs doing TCP_MAERTS with
256, 1K, 4K and 16K message size in Mbps:

256:
Instances       Base            V0              V1              V2
1               5,048.66        5,007.26        5,074.98        4,974.86
4               9,217.23        9,245.14        9,263.97        9,294.23

1K:
1               9,378.32        9,387.12        9,386.21        9,361.55
4               9,384.42        9,384.02        9,385.50        9,385.55

4K:
1               9,391.10        9,390.28        9,389.70        9,391.02
4               9,384.38        9,383.39        9,384.74        9,384.19

16K:
1               9,390.77        9,389.62        9,388.07        9,388.19
4               9,381.86        9,382.37        9,385.54        9,383.88


Tom

> There's also this on top:
> virtio-net-limit-xmit-polling/v3 -> don't delay avail index update
> I don't think it's important to test this one, yet
> 
> Userspace to use: event index work is not yet merged upstream
> so the revision to use is still this:
> git://git.kernel.org/pub/scm/linux/kernel/git/mst/qemu-kvm.git
> virtio-net-event-idx-v3

Attachment: MST-Request.ods
Description: application/vnd.oasis.opendocument.spreadsheet

Reply via email to