[ovs-dev] [PATCH monitor_cond V6 00/11] Implement conditional monitoring
Liran Schour
lirans at il.ibm.com
Tue May 17 14:26:58 UTC 2016
This patch series implements conditional monitoring by introducing an OVSDB
RFC extension with 2 new JSON-RPC methods: "monitor_cond" and
"monitor_cond_update". Specification of this extension is defined in the
ovsdb-server (1) man page.
Monitor2 is now merged into monitor_cond. A monitor_cond session with an empty
condition, will behave exactly like monitor2 and will get update2 notifications
on all rows.
This patch series is also available on: https://github.com/liranschour/ovs.git
branch monitor_cond_ovn.
OVN:
Last patch in this series is a RFC for OVN usage of conditional monitoring.
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. 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 on simulated environment of 50 hosts and 1000 logical ports shows
the following results (cycles #):
LN spread over # hosts| master | patch | change
-------------------------------------------------------------
1 | 58855158082 | 38175941755 | 35.1%
3 | 54816462604 | 40255584120 | 26.5%
6 | 52972265506 | 39481653891 | 25.4%
12 | 57036827284 | 42008285519 | 26.3%
18 | 61900476558 | 45903107035 | 25.8%
24 | 64281399690 | 55617752599 | 13.4%
30 | 66905128558 | 61835913623 | 7.5%
42 | 76763742331 | 70522724721 | 8.1%
50 | 85372146321 | 80130285454 | 6.1%
Liran Schour (11):
ovsdb: create column index mapping between ovsdb row to monitor row
ovsdb: add conditions utilities to support monitor_cond
ovsdb: allow unmonitored columns in condition evaluation
ovsdb: generate update notifications for monitor_cond session
ovsdb-client: support monitor-cond method
ovsdb: enable jsonrpc-server to service "monitor_cond_update" request
lib: add to ovsdb-idl monitor_id
lib: add monitor_cond_update API to C IDL lib
python: move Python idl to work with monitor_cond
tests: add testing for idl conditional monitoring
RFC OVN: Quick implementation of conditional monitoring
NEWS | 3 +-
lib/ovsdb-idl-provider.h | 13 +
lib/ovsdb-idl.c | 250 ++++++++++++++++--
lib/ovsdb-idl.h | 39 +++
ovn/controller/binding.c | 114 +++++++-
ovn/controller/binding.h | 4 +-
ovn/controller/lport.c | 124 ++++++++-
ovn/controller/lport.h | 10 +-
ovn/controller/ovn-controller.c | 54 +++-
ovn/controller/ovn-controller.h | 8 +
ovsdb/condition.c | 186 ++++++++++++-
ovsdb/condition.h | 41 ++-
ovsdb/jsonrpc-server.c | 222 ++++++++++++++--
ovsdb/jsonrpc-server.h | 2 +-
ovsdb/monitor.c | 572 +++++++++++++++++++++++++++++++++++-----
ovsdb/monitor.h | 35 ++-
ovsdb/ovsdb-client.1.in | 37 ++-
ovsdb/ovsdb-client.c | 70 +++--
ovsdb/ovsdb-idlc.in | 336 +++++++++++++++++++++++
ovsdb/ovsdb-server.1.in | 230 ++++++++++++++--
ovsdb/ovsdb-server.c | 20 +-
ovsdb/query.c | 6 +-
python/ovs/db/data.py | 16 +-
python/ovs/db/idl.py | 172 ++++++++++--
tests/ovs-vswitchd.at | 8 +-
tests/ovsdb-condition.at | 41 +++
tests/ovsdb-idl.at | 243 ++++++++++++++++-
tests/ovsdb-monitor.at | 207 +++++++++++++++
tests/test-ovsdb.c | 271 ++++++++++++++++++-
tests/test-ovsdb.py | 27 ++
30 files changed, 3107 insertions(+), 254 deletions(-)
--
2.1.4
More information about the dev
mailing list