On Fri, Aug 21, 2020 at 12:16 PM Han Zhou <[email protected]> wrote:
>
> Incremental processing has been implementation in ovn-controller, but we
were
> still doing full comparison between desired flow table and installed flow
table
> every time to figure out the changes need to be pushed to OVS. This
series is
> mainly to utilize the incremental processing information to figure out
flow
> changes to OVS without full table scanning, to further reduce CPU of
> ovn-controller. In a scale environment of 1200 HVs and 12k lports, the
CPU is
> reduced by ~39% for port binding operation on local chassis.
>
I did more tests with the help of [0] so that the end to end latency is
accurately measured.
With 3k HVs (yes!) and 30k lports, without this patch series, the time
spent on adding a static route:
ovn-northd completion: 1107ms
ovn-controller(s) completion: 2171ms
With the patch series:
ovn-northd completion: 1108ms
ovn-controller(s) completion: 1505ms
We can see that including the processing time of both ovn-northd and all
ovn-controllers, the end to end latency is reduced by 30%.
If considering ovn-controllers only (the total time spent on processing SB
lflow change by all HVs), the latency reduced by 60%.
[0] https://patchwork.ozlabs.org/project/ovn/list/?series=198962
> Another important change of this series is the fix of the conjunction
handling
> problem.
>
> Han Zhou (9):
> ofctrl: change ofctrl_dup_flow to module internal function
> ovn.at: Fix AT for conjunction case.
> lflow.c: No need to remove flows for adding new datapath.
> ovn-controller: Fix conjunction handling with incremental processing.
> ovn.at: Add test case for duplicated flow handling.
> ofctrl.c: Maintain references between installed flows and desired flows.
> ofctrl.c: Refactor - move openflow msg construction to functions.
> ofctrl: Incremental processing for flow installation by tracking.
> ofctrl.c: Merge opposite changes of tracked flows before installing.
>
> controller/lflow.c | 106 ++++---
> controller/ofctrl.c | 865
+++++++++++++++++++++++++++++++++++++++++++---------
> controller/ofctrl.h | 39 ++-
> tests/ovn.at | 225 +++++++++++++-
> 4 files changed, 1036 insertions(+), 199 deletions(-)
>
> --
> 2.1.0
>
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev