[ovs-dev] [PATCH ovn 0/9] Incremental processing for flow installation.
hzhou at ovn.org
Thu Sep 3 04:31:26 UTC 2020
On Fri, Aug 21, 2020 at 12:16 PM Han Zhou <hzhou at ovn.org> wrote:
> Incremental processing has been implementation in ovn-controller, but we
> still doing full comparison between desired flow table and installed flow
> every time to figure out the changes need to be pushed to OVS. This
> mainly to utilize the incremental processing information to figure out
> 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
> reduced by ~39% for port binding operation on local chassis.
I did more tests with the help of  so that the end to end latency is
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%.
> Another important change of this series is the fix of the conjunction
> 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(-)
More information about the dev