Skip to content
Elwin Cheng edited this page Jul 17, 2023 · 47 revisions

Welcome to the MimicNet wiki!

Train time

./run_3_train.sh tcp train/lstm/train_lstm_tcp.py data/sw2_sv4_l0.70_L100e6_s0_qDropTailQueue_vTCPNewReno_S20_tcp_2 > run_3_train_2.out

9 hours, 50 minutes, and 48 seconds.

Inference time

Ground Truth

run_4_groundtruth_c2_S3.5.out (simulate/simulate_tcp/run_RecordAll) took 1 minute and 57 seconds.

run_4_groundtruth_c4_S3_p2.out took 2m 30s

run_4_groundtruth_c8_S3.out took 5m 7s

run_4_groundtruth_c16_S25.out took 12m 16s

run_4_groundtruth_c32_S2.out took 1 hour, 11 minutes, and 20 seconds.

run_4_groundtruth_c64_S1.4.out took 15 hours, 18 minutes, and 9 seconds

MimicNet

run_4_mimicnet_c2_S3.5.out (simulate_short.out) took 8 minutes and 46 seconds.

run_4_mimicnet_c4_S3.out took 10 minutes and 1 second.

run_4_mimicnet_c8_S3.out took 10 minutes and 29 seconds.

run_4_mimicnet_c16_S25.out took 10 minutes and 38 seconds.

run_4_mimicnet_c32_S2.out took 10 minutes and 13 seconds.

run_4_mimicnet_c64_S14.out took 10 minutes and 7 seconds.

Wasserstein distance

https://github.com/iQua/MimicNet/tree/elwin/evaluate/visualize/RTT

2 clusters: 0.0002881428415206099

4 clusters: 0.0006508629181918347

8 clusters: 0.0013641471746969713

16 clusters: 0.0017501423750385812

32 clusters: 0.0009562553626952565

64 clusters: 0.0009700889499299378

Ground Truth (Simulation) data: mimic_elwin/MimicNet/data/sw2_sv4_l0.70_L100e6_s0_qDropTailQueue_vTCPNewReno_S20_mimic_tcp.

mimic_elwin/simulate/simuate_tcp/results/sw2_sv4_l0.70_L100e6_s0_qDropTailQueue_vTCPNewReno_S3.5_tcp

Mimicnet prediction: mimic_elwin/MimicNet/simulate/simulate_mimic_tcp/results/sw2_sv4_l0.70_L100e6_s0_qDropTailQueue_vTCPNewReno_S3.5_mimic_tcp

FCT

Ground Truth: mimic_elwin/MimicNet/data/sw2_sv4_l0.70_L100e6_s0_qDropTailQueue_vTCPNewReno_S20_tcp/fct_c{2|4|8}.dat

Mimicnet prediction: mimic_elwin/MimicNet/simulate/simulate_mimic_tcp/results/sw2_sv4_l0.70_L100e6_s0_qDropTailQueue_vTCPNewReno_S3.5_mimic_tcp/fct_c2.dat

Training Settings

  • simulation length = 3.5
  • Queue = drop tail queue
  • TCPvar= tcpnewreno
  • Clusters = 2
  • Servers = 4
  • Degree = 2
  • Load = 0.70
  • Mimic_type = lstm
  • Link speed =100e6

How to compare ground truth vs mimicnet RTT

https://github.com/eniac/MimicNet/issues/5

Assume you already have run steps 1-4. All commands are run in root directory MimicNet unless stated otherwise.

  1. Generate ground truth data. in simulate/simulate_{variant} run ./run.sh RecordAll -c {num_clusters} -S {sim length in seconds} with same config as mimicnet. This will generate data inside of result/sw...

  2. Run sudo prepare/parse_pdmps.sh {directory} {num_clusters} on each directory (ground truth and mimicnet). This will generate 'eval.raw' file inside 'eval2' folder

sudo prepare/parse_pdmps.sh simulate/simulate_tcp/sw... 2

sudo prepare/parse_pdmps.sh simulate/simulate_mimic_tcp/sw... 2

  1. Generate mimic data. Similar to step 1 and 2 but for mimic. In simulate/simulate_mimic_{variant} run

./run_4_mimicnet.sh tcp data/sw2_sv4_l0.70_L100e6_s0_qDropTailQueue_vTCPNewReno_S20_tcp/in_model data/sw2_sv4_l0.70_L100e6_s0_qDropTailQueue_vTCPNewReno_S20_tcp/out_model data/sw2_sv4_l0.70_L100e6_s0_qDropTailQueue_vTCPNewReno_S20_tcp/intermimic.dat {num_clusters} -S {simulation_time}

  1. Run evaluate/parse_rtt_tcp.py {directory} {num_clusters} {evaluatedprefix}. This will generate rtt_c{num_clusters}.dat inside of results/sw...

python evaluate/parse_rtt_tcp.py simulate/simulate_mimic_tcp/results/sw2_sv4_l0.70_L100e6_s0_qDropTailQueue_vTCPNewReno_S3.5_mimic_tcp 2 1.0 > parse_rtt_tcp_mimic.out

python evaluate/parse_rtt_tcp.py simulate/simulate_tcp/results/sw2_sv4_l0.70_L100e6_s0_qDropTailQueue_vTCPNewReno_S3.5_tcp 2 1.0 > parse_rtt_tcp.out

  1. Edit MimicNet/evaluate/visualize/RTT/plot_m_cdfs_manual.py image

  2. Run plot_m_cdfs_manual.py inside of MimicNet/evaluate/visualize/RTT/

python plot_m_cdfs_manual.py ../../../simulate/simulate_tcp/results/sw2_sv4_l0.70_L100e6_s0_qDropTailQueue_vTCPNewReno_S3.5_tcp/rtt_c2.dat-../../../simulate/simulate_mimic_tcp/results/sw2_sv4_l0.70_L100e6_s0_qDropTailQueue_vTCPNewReno_S3.5_mimic_tcp/rtt_c2.dat Groundtruth-MimicNet blue-red rtt_plot > plot_m_cdfs_manual_rtt.out

errors

image

Solution: download qt5 sudo apt-get install qt5-default and run export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/qt5