Broom is a tool kit that can correct network-path measurements for bias stemming from sampling. Broom places no burden on the measurement process itself and can be applied ex post facto. Techniques in Broom include a few types of embeddings.
|
Download details
|
Note By installing, copying, or otherwise using this software, you agree to be bound by the terms of its license. Read the license. |
Paper
You can read more about Broom in this paper.
Sampling Biases in Network Measurements and What to Do About It
Srikanth Kandula, Ratul Mahajan. ACM Internet Measurement Conference 2009
Installation Instructions
Prerequisites:
0) Windows computer
1) Visual Studio
2) Install MS solver foundation. You can get a free version from http://www.solverfoundation.com/
To compile, open Broom.sln in visual studio and hit build
By default, executable goes into bin/Debug
Sample Topologies are at data/topos
Netdiff dataset is at data/netdiff-data
To run, type
$./bin/Debug/Broom.exe
Broom.exe [global options] <topofile> <sampler> <variableNumberOfFixers> <sampleWhat> <outputTag> <optional samplerArgs>
sampler = {Independent, PickSource, UntilConvergence, PickPathsFromFile, NetDiff, BlindSpot, SourceDegreeBiased}
fixer = {DoNothing, DoubleHalveTail, RingEmbedding, VivaldiEmbedding}
sampleWhat = {latency, hopcount, lossrate, mincapacity}
OptionalSamplerArgs for Independent PickSource UntilConvergence SourceDegreeBiased -- fractionOfPaths,numRepeats
OptionalSamplerArgs for PickPathsFromFile -- fileName
OptionalSamplerArgs for NetDiff -- none
OptionalSamplerArgs for BlindSplot -- fractionOfPaths,numRepeats,[fractionBlind=0.5],[weightBlindSources=0.1]
Global options:
--serializeRouting: serializes the computed routing info and exits
--deserializeRouting: reads routing info from file instead of computing it
Example command lines:
1)
./bin/Debug/Broom.exe data/topos/sig_1.topo PickSource DoubleHalveTail latency test .5,1
For the sig_1.topo topology, evaluate source-biased sampling and fix by doubling the tail half. Path property to be sampled is latency, output gets suffixed by .test and is in results dir. .5,1 denotes sample half the paths and repeat 1 time.
2)
./bin/Debug/Broom.exe data/topos/sig_1.topo PickSource DoubleHalveTail,DoNothing,RingEmbedding latency test .5,1
Same as above except it evalutes unbiasing by both ring embedding and doubling tail half. DoNothing denotes the raw output of the sampling experiment (without any unbiasing).
Paper
You can read more about Broom in this paper.
Sampling Biases in Network Measurements and What to Do About It
Srikanth Kandula, Ratul Mahajan
ACM Internet Measurement Conference 2009
