[ovs-discuss] OVS Switch startup time

Sukhbir Singh sukhbir.in at gmail.com
Thu Apr 17 15:45:25 UTC 2014


Hi,

I am resuming this thread from the earlier discussion about switch
startup time.  I decided to remove Mininet from the picture, just to
check how much time it takes for OVS to start a switch. To measure this,
I created a switch with:

ovs-vsctl add-br s1 -- set Bridge s1
other_config:datapath-id=0000000000000001 -- set-fail-mode s1 secure --
add-port s1 s1-eth1 -- set Interface s1-eth1 ofport_request=1  --
add-port s1 s1-eth2 -- set Interface s1-eth2 ofport_request=2 --
set-controller s1 tcp:127.0.0.1:6633 ptcp:6634 -- set bridge s1
other-config:disable-in-band=true

(Wrapped)

I repeated this with the relevant changes to datapath_id, etc., for up
to 200 switches. Here are the start up times:

        number of switches | time to start (seconds)
                       5   | .6
                       25  | 5
                       50  | 18
                       100 | 67
                       200 | 264

OVS tends to get progressively slower as the number of switches
increase. For the last example (200 switches), the first few switches
started in ~.05 seconds while towards the end, it took ~2-3 seconds for
a single switch to start.

My question is this: is there a way to speed up switch creation times?
Right now, I have tested with 200 switches but I plan to add a lot more
(probably greater than 1000; reason for doing this explained in the
first message in the thread).  As a naive approach, I did try
parallelizing the switch creation (writing to ovsdb concurrently) but
that doesn't seem to work.

Another question that is probably related is the theoretical limit of
the number of switches that can be created, assuming we are bound by the
usual constraints. The man page for ovs-vswitchd [0] does not talk about
it.

[0] -
http://openvswitch.org/cgi-bin/ovsman.cgi?page=vswitchd%2Fovs-vswitchd.8

-- 
Sukhbir



More information about the discuss mailing list