Node A:
$ gcc -pthread common.c generator.c -o generator -lrt $ ./generator -s 10 udp:10.0.0.2:50000
Node C:
$ python controller.py -n 1000
Displaying results:
$ python plot_latency.py output.txt
Node B:
$ gcc analyzer.c common.c -o analyzer $ ./analyzer -s 10 udp:10.0.0.2:50000
Node C:
$ gcc -DHOST_C analyzer.c common.c -o analyzer $ ./analyzer -s 10 udp:10.0.0.2:50000
Node A:
$ gcc -pthread common.c generator.c -o generator -lrt $ ./generator -s 10 udp:10.0.0.2:50000
Node C4:
$ java -jar target/floodlight.jar
Node C1:
$ python controller.py -n 1001
Substitute analyzer.c
with analyzer_multistream.c
or analyzer_close_up.c
or analyzer_second_lowest.c
to obtain different results (see paper).
Displaying results:
$ python plot.py B.txt C.txt (multi stream case) $ python plot.py B_output_port.txt C_output_port.txt (single stream case)
Use either of passthrough
or duplicate
methods within the start
method of controller.py
to conduct experiments with the respective flow: either simply connect A to B, or duplicate to C and D as well. (Comment the one out that's not needed)
Node A:
$ gcc -pthread common.c generator.c -o generator -lrt $ gcc -shared -lrt -fPIC -I/usr/include/python2.7 -lpython2.7 -o cutils.so cutils.c $ python server.py
Node B:
$ gcc analyzer.c common.c -o analyzer ./analyzer -s 10 udp:10.0.0.2:50000
Node C4:
$ java -jar target/floodlight.jar
Node C1:
$ python controller.py -n 1001
For multistream tests, make sure to use sockets 50000-50006 when launching the analyzer instances on B, since this is what the controller expects. Displaying results:
$ python plot_out_of_order.py 1stream_passthrough/B_50000.txt $ python plot_loss.py 1stream_passthrough/output.txt 1stream_passthrough/B_50000.txt $ python plot_out_of_order.py 1stream_duplication/B_50000.txt $ python plot_loss.py 1stream_duplication/output.txt 1stream_duplication/B_50000.txt $ python plot_out_of_order.py 7stream_passthrough/B_50000.txt $ python plot_loss.py 7stream_passthrough/output.txt 7stream_passthrough/B_50000.txt $ python plot_out_of_order.py 7stream_duplication/B_50000.txt $ python plot_loss.py 7stream_duplication/output.txt 7stream_duplication/B_50000.txt