[Mini-NDN] convergence time

Lan Wang (lanwang) lanwang at memphis.edu
Tue Nov 29 12:54:31 PST 2016


The original experiment was done with our first NLSR implementation on CCND.  The codebase has been completely changed for NLSR, NFD and ndn-cxx so it’s difficult to know exactly what part contributed to the difference.  One suggestion I have is to run the experiment longer to see if there’s any switching back to the lower cost path.  My suspicion is something in the best-route strategy that’s preventing the switching back in a timely manner.

Nick: could you repeat the experiment and investigate what might be the problem?  Thanks.

Lan

On Nov 28, 2016, at 6:14 PM, sepehr abdous <sepehrabdous1375 at gmail.com<mailto:sepehrabdous1375 at gmail.com>> wrote:

Hello all,
I'm trying to implement the following topology with the information bellow:
<Screenshot from 2016-11-08 03-29-33.png>
<2.png>
and the expected result is:
<Untitled.png>
but when I used the experiment which will be added bellow I got the following result:
<image(2).png>
and I have 2 questions:
(1) why the convergence takes 20 pings while it's expected to take 60 pings while I set ctime=60?
(2)why does the last 20 pings still about 60 ms while they're expected to be about 40 ms like the first 60 pings?

the experiment that caused the figure above is:


class test(CustomExperiment):

    def __init__(self, args):
        self.pctTraffic = float(args["pctTraffic"])
        print "Using %f traffic" % self.pctTraffic
        self.nFaces = int(input())
        print "number of faces is %f" %self.nFaces
        if self.nFaces==0:
            args["nPings"] = 1000
        if self.nFaces==1:
            args["nPings"] = 700
        self.strategy = args["strategy"]
        print self.strategy
        CustomExperiment.__init__(self, args)

    def run(self):
        self.startPctPings("node2","node6")

        time.sleep(60)

        for host in self.net.hosts:
            if host.name<http://host.name/> == "node4":
                self.failNode(host)
                break

        if self.nFaces==1:
            print "Waiting " + str(self.convergenceTime) + " seconds for convergence..."
            time.sleep(self.convergenceTime)
            print "...done"

            # To check whether all the nodes of NLSR have converged
            didNlsrConverge = True

            # Checking for convergence
            for host in self.net.hosts:
                if host.name<http://host.name/>=="node2":
                    statusRouter = host.cmd("nfd-status -b | grep /ndn/edu/%C1.Router/cs/")
                    statusPrefix = host.cmd("nfd-status -b | grep /ndn/edu/")
                    didNodeConverge = True
                    for node in self.nodes.split(","):
                        # print node
                        if node!="node4":
                            if ("/ndn/edu/%C1.Router/cs/" + node) not in statusRouter:
                                print "fuck"
                                didNodeConverge = False
                                didNlsrConverge = False
                            if str(host) != node and ("/ndn/edu/" + node) not in statusPrefix:
                                print"fuck2"
                                didNodeConverge = False
                                didNlsrConverge = False

                    host.cmd("echo " + str(didNodeConverge) + " > convergence-result &")

            if didNlsrConverge:
                print("NLSR has successfully converged.")
            else:
                print("NLSR has not converged. Exiting...")
                self.net.stop()
                self.sys.exit(1)
            time.sleep(60)

            # time.sleep(120)

        else:
            time.sleep(120)

        for host in self.net.hosts:
            if host.name<http://host.name/> == "node4":
                self.recoverNode(host)

        time.sleep(20)

CustomExperiment.register("test", test)

Thank you
--

_______________________________________________
Mini-NDN mailing list
Mini-NDN at lists.cs.ucla.edu<mailto:Mini-NDN at lists.cs.ucla.edu>
http://www.lists.cs.ucla.edu/mailman/listinfo/mini-ndn

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.lists.cs.ucla.edu/pipermail/mini-ndn/attachments/20161129/41dc9cc8/attachment.html>


More information about the Mini-NDN mailing list