sim_loop.py 1.1 KB

123456789101112131415161718192021222324252627282930313233
  1. # Run some experiments and store all values
  2. to_run = []
  3. for latency in [0 + i * 0.001 for i in range(0, 50)]:
  4. to_run.append((latency, 0.0))
  5. for latency in [0 + i * 0.001 for i in range(50, 600, 50)]:
  6. to_run.append((latency, 0.0))
  7. for latency in [0 + i * 0.001 for i in range(0, 50)]:
  8. to_run.append((0.0, latency))
  9. for latency in [0 + i * 0.001 for i in range(50, 600, 50)]:
  10. to_run.append((latency, 0.0))
  11. to_run = [(0.0, 0.0), (0.2, 0.2), (0.1, 0.1), (0.0, 0.2)]
  12. print(to_run)
  13. print("NR simulations: " + str(len(to_run)))
  14. def run_simulation(latency):
  15. import sys
  16. sys.path.append("model")
  17. from model import simulate
  18. latency_mvi, latency_mvs = latency
  19. print("SIMULATE for " + str(latency))
  20. result = simulate({"mvi2mvk_latency": 0.0, "mvk2mvs_latency": 0.0})
  21. print("(%s, %s) --> %s" % (latency_mvi, latency_mvs, result))
  22. return result
  23. from multiprocessing import Pool
  24. pool = Pool(processes=4)
  25. results = pool.map(run_simulation, to_run)
  26. print(dict(to_run, results))
  27. with open("simloop_results", 'w') as f:
  28. json.dump(f, results)