Historic archive of defunct list bloat-devel@lists.bufferbloat.net
 help / color / mirror / Atom feed
* Re: One-way delay measurement for netperf-wrapper
@ 2013-12-02  5:45 Hal Murray
  2013-12-02  8:34 ` Toke Høiland-Jørgensen
  0 siblings, 1 reply; 12+ messages in thread
From: Hal Murray @ 2013-12-02  5:45 UTC (permalink / raw)
  To: bloat-devel


toke@toke.dk said:
> - Is clock drift something to worry about over the timescales of these
>   tests? 

It depends.  :)

How long are you running the tests?  How accurate do you expect the timings 
to be?

ntpd assumes the network delays are symmetric.  It's easy to break that 
assumption by sending a lot of traffic in one direction.  ntpd tries to avoid 
that problem.  It remembers the last 8 packets to a server and uses the one 
with the shortest round trip time.  If you run tests for long enough you will 
overflow that buffer.  The time scale is somewhere between minutes and hours.


-- 
These are my opinions.  I hate spam.




^ permalink raw reply	[flat|nested] 12+ messages in thread
* Re: One-way delay measurement for netperf-wrapper
@ 2013-11-28 20:30 Hal Murray
  0 siblings, 0 replies; 12+ messages in thread
From: Hal Murray @ 2013-11-28 20:30 UTC (permalink / raw)
  To: bloat-devel


toke@toke.dk said:
> So I've been thinking about adding one-way delay measurement to
> netperf-wrapper, but thought I'd solicit some input on how best to do that. 

I haven't worked with netperf in ages, but I have done a lot of one-way 
measurements using ntp.

I think you have two choices.  One is to assume that both clocks are 
accurate.  The other is to assume that the network delays are symmetric.

What sort of delays are you measuring and/or what sort of accuracy do you 
want/expect?

If you assume the clocks are accurate, it's easy to make graphs and such.  
You can get how-accurate info from ntpd's log files if you turn on enough 
logging.  It's not unreasonable to setup your own GPS receiver so you can be 
sure your clock is accurate.  (I'll say more if anybody wants.)

Suppose you don't trust the times.  Here is the handwave recipe for measuring 
the time offset assuming the network delays are symmetric:

Take a bunch of NTP like calibration measurements.  Each measurement gives 
you 3 time stamps: left here, got there, got back here.  That's enough to 
compute the round trip time.  Graph the round trip time vs time-of-test.  
There should be a band of points clustered around some minimum round trip 
time.  Those are the good ones.  Everything else hit some queuing delays.  If 
you assume the network delays are symmetric you can compute the offset.  If 
you assume the offset is 0 (aka clocks are good) you can compute the one-way 
delays.

If you are interested in that approach, I suggest writing some calibration 
code, collecting some data and graphing it to get a feel for things.

If you know in advance the pairs of machines you are likely to use for 
testing, you can set their ntpds to point to eachother and turn on rawstats 
logging and ntpd will collect calibration data for you.  That will give you 
an eye-ball level sanity check.


-- 
These are my opinions.  I hate spam.




^ permalink raw reply	[flat|nested] 12+ messages in thread
* One-way delay measurement for netperf-wrapper
@ 2013-11-28 18:51 Toke Høiland-Jørgensen
  2013-11-29  8:45 ` Eggert, Lars
  0 siblings, 1 reply; 12+ messages in thread
From: Toke Høiland-Jørgensen @ 2013-11-28 18:51 UTC (permalink / raw)
  To: bloat-devel

[-- Attachment #1: Type: text/plain, Size: 770 bytes --]

So I've been thinking about adding one-way delay measurement to
netperf-wrapper, but thought I'd solicit some input on how best to do
that.

The obvious way would be to parse owamp[1] output, but since
that relies on clock synchronisation (and is another dependency),
perhaps it might be worth looking at other approaches.

The people at LINCS seem to have had some success with passive
measurements of induced queueing delay based on TCP timestamps[2];
would adding something like that to (e.g.) netperf be worthwhile? And is
it possible (as in, is there an API to get to the timestamp values) for
TCP? Other ideas?

-Toke

[1] http://www.infres.enst.fr/~drossi/index.php?n=Dataset.BufferbloatMethodology

[2] http://www.enst.fr/~drossi/dataset/bufferbloat-methodology

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 489 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2013-12-02 18:20 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-12-02  5:45 One-way delay measurement for netperf-wrapper Hal Murray
2013-12-02  8:34 ` Toke Høiland-Jørgensen
  -- strict thread matches above, loose matches on Subject: below --
2013-11-28 20:30 Hal Murray
2013-11-28 18:51 Toke Høiland-Jørgensen
2013-11-29  8:45 ` Eggert, Lars
2013-11-29  9:42   ` Toke Høiland-Jørgensen
2013-11-29 10:20     ` Eggert, Lars
2013-11-29 13:04       ` Toke Høiland-Jørgensen
2013-11-29 14:30         ` Eggert, Lars
2013-11-29 16:55           ` Dave Taht
2013-12-02 18:11     ` Rick Jones
2013-12-02 18:20       ` Toke Høiland-Jørgensen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox