Search Mailing List Archives
[mininet-discuss] Link creation time
rlantz at cs.stanford.edu
Thu Apr 10 15:01:43 PDT 2014
This is something that certainly worth looking at. We should be able to create 1000s of links in a second, but currently it's dog slow. This problem is definitely fixable but it requires effort by some enterprising folks. ;-)
I think we need async link and switch creation; we can also batch link creation and/or extend mnexec to create links. I think we will also find that there are some kernel issues (for example a hard timeout or sleep on link creation) that need to be fixed.
One thing that puzzles me is that in my own experiments I can create tons of links very quickly, but it seems to be slower in the context of Mininet, which is puzzling. I don't think we're sleeping or timing out, although we used to do that. Further investigation is definitely required.
Since Mininet startup shows only about 10% system utilization, that means that we're idling 90% of the time, and we should be able to improve startup speed by a factor of 10 or so, even on a single CPU, so it's very clear that we have only scratched the surface of performance improvement.
On Apr 10, 2014, at 2:44 PM, Sukhbir Singh <sukhbir.in at gmail.com> wrote:
> I was wondering if there was any way to speed up the link creation time
> in Mininet so I decided to look under the hood: it is basically creating
> veth pairs, so my first thought was to use multiprocessing to speed up
> the process and since this is done in pairs of src -> dst (unique), I
> was thinking (however naively ;) that this would help avoid any
> potential race conditions.
> Modifying net.py, I changed net.py#L344:
> self.addLink( src, dst, srcPort, dstPort, **params )
> ... and then modified to use Python's multiprocessing module so that
> instead of running this for one (src, dst) pair, this could be done
> concurrently for multiple pairs.
> This however doesn't work and I think I am missing something obvious
> here. I get this error:
> RTNETLINK answers: File exists
> After trying to debug this, I think this has got to do with pairs where
> the src is the same, for example, (x, y) and (x, z).
> Has anyone tried something like this (improving link creation time) or
> can anyone shed some light on the above steps?
> mininet-discuss mailing list
> mininet-discuss at lists.stanford.edu
More information about the mininet-discuss