From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-oa0-f52.google.com (mail-oa0-f52.google.com [209.85.219.52]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority" (verified OK)) by huchra.bufferbloat.net (Postfix) with ESMTPS id 95E3C20016C; Wed, 30 Jan 2013 15:38:49 -0800 (PST) Received: by mail-oa0-f52.google.com with SMTP id k14so2292537oag.25 for ; Wed, 30 Jan 2013 15:38:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:x-received:in-reply-to:references:date:message-id :subject:from:to:cc:content-type; bh=/25OrHVT+alVsojCgEsxe+H+w316HRaIIfTfc+kRs9Y=; b=aKWJc2PuK/UEaFWhNhFBUX4VxMiJptHjeXb+58P6Etnf/HNZ+VXdMecvZ8K4WtYDIV ugTKvcd5sjnaGjG5uF2AdHkFkpU1yIFWhbtsIorz5S8GyVrAzHGUSxCOz55UH7VWEQDg kmlPy/1O+yKx3Rc+Zf7Og795Xyxy2nKPmhtxeWBB/8G3uclaUoLRhfMgUJ0rln/XE+8x DBkE8OgH8ki7wAboSRLBzCUAu5Gq6c3xxnX7m/lGRVcSoyskk7M03z9YKyo6ajDlQ7bh PkpMOmFaACD93LjipBX8Gkcym9ZtHgo7e8yqvhTCQDzwLyweYpm/BnBwEUbBvcWNA5mq YlzA== MIME-Version: 1.0 X-Received: by 10.60.21.133 with SMTP id v5mr5079465oee.69.1359589128169; Wed, 30 Jan 2013 15:38:48 -0800 (PST) Received: by 10.60.17.231 with HTTP; Wed, 30 Jan 2013 15:38:47 -0800 (PST) In-Reply-To: References: Date: Thu, 31 Jan 2013 10:38:47 +1100 Message-ID: From: Andrew McGregor To: igorm@etf.rs Content-Type: multipart/alternative; boundary=e89a8ff1c15606684004d48a03de Cc: codel@lists.bufferbloat.net, andrew.mcgregor@alliedtelesis.co.nz, bloat@lists.bufferbloat.net Subject: Re: [Codel] Python scripts from ns-3-dev GitHub repo X-BeenThere: codel@lists.bufferbloat.net X-Mailman-Version: 2.1.13 Precedence: list List-Id: CoDel AQM discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 30 Jan 2013 23:38:49 -0000 --e89a8ff1c15606684004d48a03de Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Ok, so multirun.py runs a whole set of experiments. The various commented bits of code around line 85 give ways to do ranges of options in several different ways. The options are just passed as text to tcp_qfp.cc. It runs experiment cases in parallel, one for each core in your machine. That will produce a huge number of files, with names that tell you which experiment they belong to and which nodes in the topology they were collected from. Then you can analyse them. burstmemoryestimators.py is a graphing routine that gives you a whole lot of information about what happened in each run. It opens the ptrace files left by the experiment (passed as an argument, you want a file called something like tcp_qfp-1-11-Left.pcap if there were 10 nodes in your experiment), and calculates a bunch of statistics: packet interarrival time (blue dots), burstiness metric (red) and queue markov memory metric (green)= . The burstiness metric runs from -1 (periodic) through 0 (Poisson process) to +1 (1/f noise). The memory metric is zero if the queue is perfectly memoryless, and non-zero proportional to how much memory it has. Thus it shows the queue's contribution to interarrival time statistics. Note that a queue is memoryless both if it is empty OR if it is completely full, and this metric is signed (negative if the queue is draining). It only makes sense to run this script on a leaf link; if there is more than one flow, the estimators will not track flows separately and thus will not make sense. On Wed, Jan 30, 2013 at 11:21 PM, Igor Maravi=C4=87 wrote: > Hi Andrew, > > I'm trying to use useful python scripts from ns-3-dev GitHub repo, but > unsuccessfully. > > Could you provide some usage cases on how they should be used? > > BR > Igor > _______________________________________________ > Codel mailing list > Codel@lists.bufferbloat.net > https://lists.bufferbloat.net/listinfo/codel > --e89a8ff1c15606684004d48a03de Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Ok, so multirun.py runs a whole set of experiments. =C2=A0= The various commented bits of code around line 85 give ways to do ranges of= options in several different ways. =C2=A0The options are just passed as te= xt to tcp_qfp.cc. =C2=A0It runs experiment cases in parallel, one for each = core in your machine.

That will produce a huge number of files, with names t= hat tell you which experiment they belong to and which nodes in the topolog= y they were collected from. =C2=A0Then you can analyse them.

burstmemoryestimators.py is a graphing routine that gi= ves you a whole lot of information about what happened in each run. =C2=A0I= t opens the ptrace files left by the experiment (passed as an argument, you= want a file called something like tcp_qfp-1-11-Left.pcap if there were 10 = nodes in your experiment), and calculates a bunch of statistics: packet int= erarrival time (blue dots), burstiness metric (red) and queue markov memory= metric (green).

The burstiness metric runs from -1 (periodi= c) through 0 (Poisson process) to +1 (1/f noise).

The memory metric is zero if the queue is perfectly memoryless,= and non-zero proportional to how much memory it has. =C2=A0Thus it shows t= he queue's contribution to interarrival time statistics. =C2=A0Note tha= t a queue is memoryless both if it is empty OR if it is completely full, an= d this metric is signed (negative if the queue is draining).

It only makes sense to run this script on a= leaf link; if there is more than one flow, the estimators will not track f= lows separately and thus will not make sense.


On Wed, Jan 30, 2013 at 11:21 PM, Igor M= aravi=C4=87 <igorm@etf.rs> wrote:
Hi Andrew,

I'm trying to use useful python scripts from ns-3-dev GitHub repo, but<= br> unsuccessfully.

Could you provide some usage cases on how they should be used?

BR
Igor
_______________________________________________
Codel mailing list
Codel@lists.bufferbloat.net<= /a>
= https://lists.bufferbloat.net/listinfo/codel

--e89a8ff1c15606684004d48a03de--