One-way delay measurement for netperf-wrapper
Hal Murray
hmurray at megapathdsl.net
Thu Nov 28 15:30:03 EST 2013
toke at 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.
More information about the Bloat-devel
mailing list