gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r26209 - gnunet/src/ats


From: gnunet
Subject: [GNUnet-SVN] r26209 - gnunet/src/ats
Date: Tue, 26 Feb 2013 16:26:56 +0100

Author: wachs
Date: 2013-02-26 16:26:55 +0100 (Tue, 26 Feb 2013)
New Revision: 26209

Modified:
   gnunet/src/ats/gnunet-service-ats_addresses_mlp.c
   gnunet/src/ats/perf_ats_mlp.c
Log:
 changes


Modified: gnunet/src/ats/gnunet-service-ats_addresses_mlp.c
===================================================================
--- gnunet/src/ats/gnunet-service-ats_addresses_mlp.c   2013-02-26 15:07:40 UTC 
(rev 26208)
+++ gnunet/src/ats/gnunet-service-ats_addresses_mlp.c   2013-02-26 15:26:55 UTC 
(rev 26209)
@@ -1065,7 +1065,8 @@
 GAS_mlp_solve_problem (void *solver, struct GNUNET_CONTAINER_MultiHashMap * 
addresses)
 {
        struct GAS_MLP_Handle *mlp = solver;
-       int res = 0;
+       int res_lp = 0;
+       int res_mip = 0;
        struct GNUNET_TIME_Absolute start_build;
        struct GNUNET_TIME_Relative duration_build;
        struct GNUNET_TIME_Absolute start_lp;
@@ -1096,22 +1097,23 @@
                        LOG (GNUNET_ERROR_TYPE_DEBUG, "Problem was updated, 
resolving\n");
        }
 
-
        /* Run LP solver */
        LOG (GNUNET_ERROR_TYPE_DEBUG, "Running LP solver %s\n", (GLP_YES == 
mlp->control_param_lp.presolve)? "with presolver": "without presolver");
        start_lp = GNUNET_TIME_absolute_get();
-       res = mlp_solve_lp_problem (mlp);
+       res_lp = mlp_solve_lp_problem (mlp);
        duration_lp = GNUNET_TIME_absolute_get_duration (start_lp);
-       mlp->ps.lp_res = res;
 
+
   /* Run LP solver */
        LOG (GNUNET_ERROR_TYPE_DEBUG, "Running MLP solver \n");
        start_mlp = GNUNET_TIME_absolute_get();
-       res = mlp_solve_mlp_problem (mlp);
+       res_mip = mlp_solve_mlp_problem (mlp);
 
        duration_mlp = GNUNET_TIME_absolute_get_duration (start_mlp);
-       mlp->ps.mip_res = res;
 
+       /* Save stats */
+       mlp->ps.lp_res = res_lp;
+       mlp->ps.mip_res = res_mip;
        mlp->ps.build_dur = duration_build;
        mlp->ps.lp_dur = duration_lp;
        mlp->ps.mip_dur = duration_mlp;
@@ -1127,7 +1129,7 @@
                        (unsigned long long) duration_mlp.rel_value);
 
        /* Propagate result*/
-       if (GNUNET_OK == res)
+       if ((GNUNET_OK == res_lp) && (GNUNET_OK == res_mip))
                GNUNET_CONTAINER_multihashmap_iterate (addresses, 
&mlp_propagate_results, mlp);
 
        /* Write problem and solution to disk */
@@ -1147,7 +1149,10 @@
        mlp->mlp_prob_updated = GNUNET_NO;
        mlp->mlp_prob_changed = GNUNET_NO;
 
-       return res;
+       if ((GNUNET_OK == res_lp) && (GNUNET_OK == res_mip))
+               return GNUNET_OK;
+       else
+               return GNUNET_SYSERR;
 }
 
 /**

Modified: gnunet/src/ats/perf_ats_mlp.c
===================================================================
--- gnunet/src/ats/perf_ats_mlp.c       2013-02-26 15:07:40 UTC (rev 26208)
+++ gnunet/src/ats/perf_ats_mlp.c       2013-02-26 15:26:55 UTC (rev 26209)
@@ -76,6 +76,7 @@
 };
 
 static int ret;
+static int numeric;
 
 static int N_peers_start;
 static int N_peers_end;
@@ -216,6 +217,9 @@
        for (cp = 0; cp < count_p; cp++)
                        perf_create_peer (cp);
 
+       if (GNUNET_YES == numeric)
+               fprintf (stderr, "#peers;#addresses per peer;LP/MIP 
state;presolv;exec build in ms;exec LP in ms; exec MIP in 
ms;#cols;#rows;#nonzero elements\n");
+
        for (cp = 0; cp < count_p; cp++)
        {
                        for (ca = 0; ca < count_a; ca++)
@@ -231,15 +235,27 @@
                        {
 
                                GAS_mlp_solve_problem (mlp, addresses);
-                               fprintf (stderr, "%u peers each %u addresses; 
state [%s/%s], (build/LP/MIP in ms): %04llu %04llu %04llu; presolv LP/MIP 
[%s/%s]; size (cols x rows, nonzero elements): [%u x %u] = %u\n",
+                               if (GNUNET_NO == numeric)
+                                       fprintf (stderr, "%u peers each %u 
addresses;  LP/MIP state [%s/%s] presolv [%s/%s], (build/LP/MIP in ms): %04llu 
%04llu %04llu; size (cols x rows, nonzero elements): [%u x %u] = %u\n",
                                                        cp + 1, ca,
                                                        (GNUNET_OK == 
mlp->ps.lp_res) ? "OK" : "FAIL",
                                                        (GNUNET_OK == 
mlp->ps.mip_res) ? "OK" : "FAIL",
+                                                       (GLP_YES == 
mlp->ps.lp_presolv) ? "YES" : "NO",
+                                                       (GNUNET_OK == 
mlp->ps.mip_presolv) ? "YES" : "NO",
                                                        (unsigned long long) 
mlp->ps.build_dur.rel_value,
                                                        (unsigned long long) 
mlp->ps.lp_dur.rel_value,
                                                        (unsigned long long) 
mlp->ps.mip_dur.rel_value,
+                                                       mlp->ps.p_cols, 
mlp->ps.p_rows, mlp->ps.p_elements);
+                               else
+                                       fprintf (stderr, 
"%u;%u;%s;%s;%s;%s;%04llu;%04llu;%04llu;%u;%u;%u\n",
+                                                       cp + 1, ca,
+                                                       (GNUNET_OK == 
mlp->ps.lp_res) ? "OK" : "FAIL",
+                                                       (GNUNET_OK == 
mlp->ps.mip_res) ? "OK" : "FAIL",
                                                        (GLP_YES == 
mlp->ps.lp_presolv) ? "YES" : "NO",
                                                        (GNUNET_OK == 
mlp->ps.mip_presolv) ? "YES" : "NO",
+                                                       (unsigned long long) 
mlp->ps.build_dur.rel_value,
+                                                       (unsigned long long) 
mlp->ps.lp_dur.rel_value,
+                                                       (unsigned long long) 
mlp->ps.mip_dur.rel_value,
                                                        mlp->ps.p_cols, 
mlp->ps.p_rows, mlp->ps.p_elements);
                        }
 
@@ -302,6 +318,10 @@
                                                N_address = atoi(argv[c+1]);
                                }
                }
+               if ((0 == strcmp (argv[c], "-n")))
+               {
+                               numeric = GNUNET_YES;
+               }
   }
 
   static const struct GNUNET_GETOPT_CommandLineOption options[] = {




reply via email to

[Prev in Thread] Current Thread [Next in Thread]