[ovs-dev] [PATCH monitor_cond V10] RFC OVN: Implementation of conditional monitoring usage
Liran Schour
LIRANS at il.ibm.com
Mon Jul 25 06:03:55 UTC 2016
Ryan Moats/Omaha/IBM wrote on 24/07/2016 11:03:21 PM:
> From: Ryan Moats/Omaha/IBM
> To: Liran Schour <lirans at il.ibm.com>
> Cc: Ben Pfaff <blp at ovn.org>, dev at openvswitch.org
> Date: 24/07/2016 11:03 PM
> Subject: Re: [ovs-dev] [PATCH monitor_cond V10] RFC OVN:
> Implementation of conditional monitoring usage
>
> "dev" <dev-bounces at openvswitch.org> wrote on 07/19/2016 03:44:40 AM:
>
> > From: Liran Schour <lirans at il.ibm.com>
> > To: Ben Pfaff <blp at ovn.org>
> > Cc: dev at openvswitch.org
> > Date: 07/19/2016 03:45 AM
> > Subject: [ovs-dev] [PATCH monitor_cond V10] RFC OVN: Implementation
> > of conditional monitoring usage
> > Sent by: "dev" <dev-bounces at openvswitch.org>
> >
> > Conditional monitor of: Port_Binding, Logical_Flow, Multicast_Group
> > MAC_Binding tables. As a result ovn-controller will be notified only
about
> > records belongs to a datapath that is being served by this hypervisor.
> >
> > Performance evaluation:
> > OVN is the main candidate for conditional monitoring usage. It is
clear that
> > conditional monitoring reduces computation on the ovn-controller
> (client) side
> > due to the reduced size of flow tables and update messages.
Performance
> > evaluation shows up to 75% computation reduction.
> > However, performance evaluation shows also a reduction in
> > computation on the SB
> > ovsdb-server side proportional to the degree that each logical network
is
> > spread over physical hosts in the DC. Evaluation shows that in a
realistic
> > scenarios there is a computation reduction also in the server side.
> >
> > Evaluation on simulated environment of 50 hosts and 1000 logical ports
shows
> > the following results (cycles #):
> >
> > LN spread over # hosts| master | patch | change
> > -------------------------------------------------------------
> > 1 | 24597200127 | 24339235374 | 1.0%
> > 6 | 23788521572 | 19145229352 | 19.5%
> > 12 | 23886405758 | 17913143176 | 25.0%
> > 18 | 25812686279 | 23675094540 | 8.2%
> > 24 | 28414671499 | 24770202308 | 12.8%
> > 30 | 31487218890 | 28397543436 | 9.8%
> > 36 | 36116993930 | 34105388739 | 5.5%
> > 42 | 37898342465 | 38647139083 | -1.9%
> > 48 | 41637996229 | 41846616306 | -0.5%
> > 50 | 41679995357 | 43455565977 | -4.2%
> >
> > Signed-off-by: Liran Schour <lirans at il.ibm.com>
> > ---
>
> It looks like this patch needs to be rebased - it appears to conflict
> in both binding.c and patch.c
I have a rebased version on-top of the new incremental processing code
however I have a problem with one unit test (2189: ovn -- 2 HVs, 2 LRs
connected via LS, gateway router FAILED (ovn.at:3238) that I see 100%
failure when combining the incremental processing and the conditional
monitoring patch.
Although the new conditional monitoring patch improve the stability of the
tests. I run the following test:
for i in `seq 100` ; do
echo `pwd`
make check TESTSUITEFLAGS="-k ovn" 2>&1 >> check.out
done
grep 'FAILED (' check.out | sort | uniq -c
On master I get:
4 2180: ovn -- 3 HVs, 1 VIFs/HV, 1 software GW, 1 LS FAILED
(ovn.at:1473)
1 2181: ovn -- 3 HVs, 3 LS, 3 lports/LS, 1 LR FAILED
(ovn.at:1887)
75 2183: ovn -- 2 HVs, 2 LS, 1 lport/LS, 2 peer LRs FAILED
(ovn.at:2416)
15 2184: ovn -- 1 HV, 1 LS, 2 lport/LS, 1 LR FAILED
(ovn.at:2529)
1 2185: ovn -- 1 HV, 2 LSs, 1 lport/LS, 1 LR FAILED
(ovn.at:2668)
88 2186: ovn -- 2 HVs, 3 LS, 1 lport/LS, 2 peer LRs, static routes
FAILED (ovn.at:2819)
98 2188: ovn -- 2 HVs, 3 LRs connected via LS, static routes FAILED
(ovn.at:3053)
6 2189: ovn -- 2 HVs, 2 LRs connected via LS, gateway router FAILED
(ovn.at:3237)
94 2189: ovn -- 2 HVs, 2 LRs connected via LS, gateway router FAILED
(ovn.at:3240)
2 2190: ovn -- icmp_reply: 1 HVs, 2 LSs, 1 lport/LS, 1 LR FAILED
(ovn.at:3389)
And on conditional monitor patch rebased on master I get:
40 2180: ovn -- 3 HVs, 1 VIFs/HV, 1 software GW, 1 LS FAILED
(ovn.at:1474)
5 2184: ovn -- 1 HV, 1 LS, 2 lport/LS, 1 LR FAILED
(ovn.at:2530)
100 2189: ovn -- 2 HVs, 2 LRs connected via LS, gateway router FAILED
(ovn.at:3238)
As you can see things are much more stable after applying conditional
monitor patch but test 2189 has 100% failure.
Conditional monitoring without incremental processing does not fail this
test.
I will submit the rebased patch and we will all have the opportunity to
look on this.
More information about the dev
mailing list