Search Mailing List Archives


Limit search to: Subject & Body Subject Author
Sort by: Reverse Sort
Limit to: All This Week Last Week This Month Last Month
Select Date Range     through    

[mininet-discuss] Link creation time

Bob Lantz rlantz at cs.stanford.edu
Thu Apr 10 15:01:43 PDT 2014


Sukhbir

Definitely!

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.

-Bob

On Apr 10, 2014, at 2:44 PM, Sukhbir Singh <sukhbir.in at gmail.com> wrote:

> Hi,
> 
> 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?
> 
> -- 
> Sukhbir
> _______________________________________________
> mininet-discuss mailing list
> mininet-discuss at lists.stanford.edu
> https://mailman.stanford.edu/mailman/listinfo/mininet-discuss



More information about the mininet-discuss mailing list