ASSOLO is a new active probing tool for estimating available bandwidth based on the concept of "self-induced congestion". The tool features a new probing traffic profile called REACH (Reflected ExponentiAl Chirp), which tests a wide range of rates being more accurate in the center of the probing interval. Moreover, the tool runs inside a real-time operating system and uses some de-noising techniques to improve the measurement process. GENERAL OVERVIEW ================ This code uses REACH UDP-trains of packets to estimate available bandwidth (aka unused capacity) of a network path. Instead of reinventing the wheel, ASSOLO re-uses the basic low-level network packet sending functions of pathChirp 2.4.1, another great measurement tool devoleped by Vinay Ribeiro, Ryan Christopher King and Niels Kang Hoven (Rice University). The SENDER (assolo_snd) and RECEIVER (assolo_rcv) modules run as daemons on hosts at opposite edges of a path to be probed. Packet trains travel from the SENDER to the RECEIVER. We initiate the assolo probing using a third module, assolo_run, which can be run on any host (called the MASTER). This module also collects the results of the experiment and stores them in a file locally. Thus experiments can be initiated and the results analyzed from a central location in the Internet which runs the assolo_run module. The assolo_snd and assolo_rcv modules can be started on different machines around the Internet and will run indefinitely. They need not be restarted for each experiment. chirps SENDER ----------------> RECEIVER (assolo_rcv) (assolo_snd) | | MASTER (assolo_run) (starts experiment/collects results) INSTALL INSTRUCTIONS ==================== Run the following: 1) ./configure 2) make The following binaries will be generated: Bin//assolo_rcv Bin//assolo_snd Bin//assolo_run For example on your Linux box could be =i686. RUNNING EXPERIMENTS =================== 1) SENDER (needs to be run just once) Bin//assolo_snd Options: -U -h help (produces this output) -v version -D print debug information NOTE ON PORT NUMBER: In case the default port number is already used at the sender, try out other port numbers larger than 1024 using the -U option. The receiver must then use the same port number with the -U option. 2) RECEIVER (needs to be run just once) Bin//assolo_rcv Options: -h Help -v Version -D print debug information 3) MASTER (needs to be rerun for each experiment) Bin//assolo_run -S -R -t ** In case of interrupt coalescence on Gigabit networks use the -J option: Example: Bin//assolo_rcv -S -R -t -J 6 All Options: -n -d 1), default=1.5> -b 2), default=5> -U -h help: produces this output -S sender host name or IP address -R receiver host name or IP address -J number of packets per Jumbo packet,default=1. In case of packet coalescence use values larger than 1, e.g. -J 6 -l lowest rate (Mbps) to probe at within chirp, default=10.000000Mbps. NOTE: by default assolo will find an appropriate probing range. -u highest rate (Mbps) to probe at within chirp, default=200.000000Mbps -p packet size <40-8200>,default=1000 bytes -t duration of experiment(sec), default=600 sec -s spread factor: ratio of consecutive inter-arrivals within a chirp, default=1.2 -a average probing rate (Mbps), default=0.3Mbps -v version -e treshold (default 5%) -f filter (default type 0 - Vertical Horizontal Filter) RESULTS ======= At the MASTER, the file __