Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'master' of github.com:mquinson/simgrid
[simgrid.git] / contrib / network_model / smpi_calibration.c
index 1d6e863..7c1abb6 100644 (file)
@@ -1,7 +1,13 @@
+/* Copyright (c) 2011, 2014. The SimGrid Team.
+ * All rights reserved.                                                     */
+
+/* This program is free software; you can redistribute it and/or modify it
+ * under the terms of the license (GNU LGPL) which comes with this package. */
+
 /**--------- <copy/paste C code snippet in surf/network.c> -------------
   * produced by:
-  * ./regression2.py ./pingpong-in.dat 0.15 100 2 2.4e-5 1.25e8
-  * outliers: 65
+  * ./regression2.py ./pingpong-in.dat 0.15 30 2 2.4e-5 1.25e8
+  * outliers: 66
   * gnuplot: 
     plot "./pingpong-in.dat" using 1:2 with lines title "data", \
         (x >= 65472) ? 0.00850436*x+558.894 : \
@@ -12,7 +18,9 @@
         (x >= 1426) ? 0.0131384*x+77.3159 : \
         (x >= 732) ? 0.0233927*x+93.6146 : \
         (x >= 257) ? 0.0236608*x+93.7637 : \
-        (x >= 0) ? 0.00985119*x+96.704 : \
+        (x >= 127) ? 0.0246645*x+94.0447 : \
+        (x >= 64) ? 0.037963*x+93.0877 : \
+        (x >= 0) ? 2.22507e-308*x+98.0633 : \
         1.0 with lines title "piecewise function"
   *-------------------------------------------------------------------*/
 
@@ -27,7 +35,9 @@ static double smpi_bandwidth_factor(double size)
     if (size >= 1426) return 0.608902;
     if (size >= 732) return 0.341987;
     if (size >= 257) return 0.338112;
-    if (size >= 0) return 0.812084;
+    if (size >= 127) return 0.324353;
+    if (size >= 64) return 0.210731;
+    if (size >= 0) return 3.59539e+305;
     return 1.0;
 }
 
@@ -42,7 +52,9 @@ static double smpi_latency_factor(double size)
     if (size >= 1426) return 1.61075;
     if (size >= 732) return 1.9503;
     if (size >= 257) return 1.95341;
-    if (size >= 0) return 2.01467;
+    if (size >= 127) return 1.95926;
+    if (size >= 64) return 1.93933;
+    if (size >= 0) return 2.04299;
     return 1.0;
 }