ソースを参照

Fix for wrong timeout

Yentl Van Tendeloo 7 年 前
コミット
719f1e2349
2 ファイル変更31 行追加31 行削除
  1. 5 1
      calibration/calibrate.py
  2. 26 30
      model/model.py

+ 5 - 1
calibration/calibrate.py

@@ -14,12 +14,16 @@ with open("calibration/averages", 'w') as averages:
             avg = sum(operations[op]) / len(operations[op])
             op_min = 0.0
             op_max = avg * 3
-            averages.write("%20s: %f\n" % (op, avg))
+            new_list = []
 
             with open("calibration/distribution_%s" % op, 'w') as f:
                 for t in sorted(operations[op]):
                     if t < op_max:
                         f.write("%f\n" % t)
+                        new_list.append(t)
+
+            avg = sum(new_list) / len(new_list)
+            averages.write("%20s: %f\n" % (op, avg))
 
             plot.write("set terminal postscript enhanced colour portrait size 6,6\n")
             plot.write("n = 20\n")

+ 26 - 30
model/model.py

@@ -102,7 +102,7 @@ class ModelverseState(AtomicDEVS):
             for v in self.state.queue[0]:
                 start = time.time()
                 self.state.output.append(getattr(self.state.mvs, translate(v[0]))(*v[1]))
-                print("%s: %s" % (translate(v[0]), time.time() - start))
+                #print("%s: %s" % (translate(v[0]), time.time() - start))
                 self.state.timer += self.timings[translate(v[0])]()
         else:
             # Just append the message to process
@@ -144,7 +144,6 @@ class MvKState(object):
         self.current_task = None
         self.loaded_primitives = False
         self.execution_counter = 0
-        self.all_failed = True
         self.rule_generation_time = 0
 
     def __str__(self):
@@ -305,9 +304,6 @@ class ModelverseKernel(AtomicDEVS):
         return outputs
 
     def timeAdvance(self):
-        if self.state.phase == "init_task" and self.state.all_failed:
-            # Make this a parameter
-            return 200
         if self.state.commands is not None:
             return self.state.rule_generation_time
         elif self.state.waiting:
@@ -508,31 +504,31 @@ args = {
         "taskname":             taskname,
         "operations":           operations,
         "finish_on":            finish_on,
-        "mvi2mvk_latency":      1,
-        "mvi2mvk_bandwidth":    2000,
-        "mvk2mvs_latency":      1,
-        "mvk2mvs_bandwidth":    2000,
-        "mvs2mvk_latency":      1,
-        "mvs2mvk_bandwidth":    2000,
-        "mvk2mvi_latency":      1,
-        "mvk2mvi_bandwidth":    2000,
-        "read_root":            lambda: 1,
-        "create_node":          lambda: 1,
-        "create_edge":          lambda: 1,
-        "create_nodevalue":     lambda: 1,
-        "create_dict":          lambda: 1,
-        "read_value":           lambda: 1,
-        "read_outgoing":        lambda: 1,
-        "read_incoming":        lambda: 1,
-        "read_edge":            lambda: 1,
-        "read_dict":            lambda: 1,
-        "read_dict_keys":       lambda: 1,
-        "read_dict_node":       lambda: 1,
-        "read_dict_edge":       lambda: 1,
-        "read_dict_node_edge":  lambda: 1,
-        "read_reverse_dict":    lambda: 1,
-        "delete_node":          lambda: 1,
-        "delete_edge":          lambda: 1,
+        "mvi2mvk_latency":      0.000001,
+        "mvi2mvk_bandwidth":    50000000000,
+        "mvk2mvs_latency":      0.000001,
+        "mvk2mvs_bandwidth":    50000000000,
+        "mvs2mvk_latency":      0.000001,
+        "mvs2mvk_bandwidth":    50000000000,
+        "mvk2mvi_latency":      0.000001,
+        "mvk2mvi_bandwidth":    50000000000,
+        "read_root":            lambda: 0.000014,
+        "create_node":          lambda: 0.000003,
+        "create_edge":          lambda: 0.000005,
+        "create_nodevalue":     lambda: 0.000004,
+        "create_dict":          lambda: 0.000008,
+        "read_value":           lambda: 0.000003,
+        "read_outgoing":        lambda: 0.000004,
+        "read_incoming":        lambda: 0.000004,
+        "read_edge":            lambda: 0.000004,
+        "read_dict":            lambda: 0.000004,
+        "read_dict_keys":       lambda: 0.000010,
+        "read_dict_node":       lambda: 0.000010,
+        "read_dict_edge":       lambda: 0.000004,
+        "read_dict_node_edge":  lambda: 0.000010,
+        "read_reverse_dict":    lambda: 0.000026,
+        "delete_node":          lambda: 0.000037,
+        "delete_edge":          lambda: 0.000005,
         "rules_per_phase":      2000,
     }