gnunet-svn
[Top][All Lists]
Advanced

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

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


From: gnunet
Subject: [GNUnet-SVN] r20987 - gnunet/src/ats
Date: Mon, 16 Apr 2012 17:37:46 +0200

Author: wachs
Date: 2012-04-16 17:37:46 +0200 (Mon, 16 Apr 2012)
New Revision: 20987

Modified:
   gnunet/src/ats/ats_api_scheduling.c
   gnunet/src/ats/gnunet-service-ats_addresses.c
   gnunet/src/ats/gnunet-service-ats_addresses_mlp.c
   gnunet/src/ats/perf_ats_mlp.c
   gnunet/src/ats/test_ats_api.conf
Log:
- changes


Modified: gnunet/src/ats/ats_api_scheduling.c
===================================================================
--- gnunet/src/ats/ats_api_scheduling.c 2012-04-16 14:29:42 UTC (rev 20986)
+++ gnunet/src/ats/ats_api_scheduling.c 2012-04-16 15:37:46 UTC (rev 20987)
@@ -418,9 +418,13 @@
 remove_session (struct GNUNET_ATS_SchedulingHandle *sh, uint32_t session_id,
                 const struct GNUNET_PeerIdentity *peer)
 {
+  GNUNET_assert (peer != NULL);
+  GNUNET_assert (sh != NULL);
+
   GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, "ats-scheduling-api",
-              "Remove sessionID %u from peer %s in %p\n", "ats-scheduling-api",
+              "Release sessionID %u from peer %s in %p\n",
               (unsigned int) session_id, GNUNET_i2s (peer), sh);
+
   if (0 == session_id)
     return;
   GNUNET_assert (session_id < sh->session_array_size);

Modified: gnunet/src/ats/gnunet-service-ats_addresses.c
===================================================================
--- gnunet/src/ats/gnunet-service-ats_addresses.c       2012-04-16 14:29:42 UTC 
(rev 20986)
+++ gnunet/src/ats/gnunet-service-ats_addresses.c       2012-04-16 15:37:46 UTC 
(rev 20987)
@@ -615,7 +615,7 @@
 
   if (aa == NULL)
   {
-    GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+    GNUNET_log (GNUNET_ERROR_TYPE_DEBUG | GNUNET_ERROR_TYPE_BULK,
                 "Cannot suggest address for peer `%s'\n", GNUNET_i2s (peer));
     return;
   }
@@ -648,7 +648,7 @@
                                               &find_address_it, &aa);
   if (aa == NULL)
   {
-    GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+    GNUNET_log (GNUNET_ERROR_TYPE_DEBUG | GNUNET_ERROR_TYPE_BULK,
                 "Cannot suggest address for peer `%s'\n", GNUNET_i2s (peer));
     return;
   }

Modified: gnunet/src/ats/gnunet-service-ats_addresses_mlp.c
===================================================================
--- gnunet/src/ats/gnunet-service-ats_addresses_mlp.c   2012-04-16 14:29:42 UTC 
(rev 20986)
+++ gnunet/src/ats/gnunet-service-ats_addresses_mlp.c   2012-04-16 15:37:46 UTC 
(rev 20987)
@@ -869,8 +869,8 @@
   mlp->lp_total_duration =+ duration.rel_value;
 
   GNUNET_STATISTICS_update (mlp->stats,"# LP problem solved", 1, GNUNET_NO);
-  GNUNET_STATISTICS_set (mlp->stats,"# LP execution time", duration.rel_value, 
GNUNET_NO);
-  GNUNET_STATISTICS_set (mlp->stats,"# LP execution time average",
+  GNUNET_STATISTICS_set (mlp->stats,"# LP execution time (ms)", 
duration.rel_value, GNUNET_NO);
+  GNUNET_STATISTICS_set (mlp->stats,"# LP execution time average (ms)",
                          mlp->lp_total_duration / mlp->lp_solved,  GNUNET_NO);
 
 
@@ -945,8 +945,8 @@
   mlp->mlp_total_duration =+ duration.rel_value;
 
   GNUNET_STATISTICS_update (mlp->stats,"# MLP problem solved", 1, GNUNET_NO);
-  GNUNET_STATISTICS_set (mlp->stats,"# MLP execution time", 
duration.rel_value, GNUNET_NO);
-  GNUNET_STATISTICS_set (mlp->stats,"# MLP execution time average",
+  GNUNET_STATISTICS_set (mlp->stats,"# MLP execution time (ms)", 
duration.rel_value, GNUNET_NO);
+  GNUNET_STATISTICS_set (mlp->stats,"# MLP execution time average (ms)",
                          mlp->mlp_total_duration / mlp->mlp_solved,  
GNUNET_NO);
 
   /* Analyze problem status  */
@@ -1244,7 +1244,7 @@
     }
     else if (GNUNET_ATS_NET_UNSPECIFIED == quotas[c])
     {
-      quota_out = 0;
+      quota_out = mlp->BIG_M;
     }
     else
     {
@@ -1262,7 +1262,7 @@
     }
     else if (GNUNET_ATS_NET_UNSPECIFIED == quotas[c])
     {
-      quota_in = 0;
+      quota_in = mlp->BIG_M;
     }
     else
     {
@@ -1510,7 +1510,7 @@
   int new;
   struct MLP_information *mlpi;
 
-  GNUNET_STATISTICS_update (mlp->stats,"# LP address updates", 1, GNUNET_NO);
+  GNUNET_STATISTICS_update (mlp->stats, "# MLP address updates", 1, GNUNET_NO);
 
   /* We add a new address */
   if (address->mlp_information == NULL)
@@ -1536,6 +1536,7 @@
 
     address->mlp_information = mlpi;
     mlp->addr_in_problem ++;
+    GNUNET_STATISTICS_update (mlp->stats, "# addresses in MLP", 1, GNUNET_NO);
 
     /* Check for and add peer */
     struct ATS_Peer *peer = mlp_find_peer (mlp, &address->peer);
@@ -1562,6 +1563,7 @@
       GNUNET_CONTAINER_DLL_insert (peer->head, peer->tail, address);
       GNUNET_CONTAINER_DLL_insert (mlp->peer_head, mlp->peer_tail, peer);
       mlp->c_p ++;
+      GNUNET_STATISTICS_update (mlp->stats, "# peers in MLP", 1, GNUNET_NO);
     }
     else
     {
@@ -1617,6 +1619,7 @@
     address->mlp_information = NULL;
 
     mlp->addr_in_problem --;
+    GNUNET_STATISTICS_update (mlp->stats, "# addresses in MLP", -1, GNUNET_NO);
   }
 
   /* Remove from peer list */
@@ -1635,6 +1638,7 @@
     GNUNET_CONTAINER_DLL_remove (mlp->peer_head, mlp->peer_tail, head);
     GNUNET_free (head);
     mlp->c_p --;
+    GNUNET_STATISTICS_update (mlp->stats, "# peers in MLP", -1, GNUNET_NO);
   }
 
   /* Update problem */

Modified: gnunet/src/ats/perf_ats_mlp.c
===================================================================
--- gnunet/src/ats/perf_ats_mlp.c       2012-04-16 14:29:42 UTC (rev 20986)
+++ gnunet/src/ats/perf_ats_mlp.c       2012-04-16 15:37:46 UTC (rev 20987)
@@ -35,12 +35,17 @@
 #define MLP_MAX_EXEC_DURATION   
GNUNET_TIME_relative_multiply(GNUNET_TIME_UNIT_SECONDS, 3)
 #define MLP_MAX_ITERATIONS      INT_MAX
 
+#define DEF_PEERS 10
+#define DEF_ADDRESSES_PER_PEER 5
 
+static unsigned int peers;
+static unsigned int addresses;
+
 static int ret;
 
 struct GNUNET_STATISTICS_Handle * stats;
 
-struct GNUNET_CONTAINER_MultiHashMap * addresses;
+//struct GNUNET_CONTAINER_MultiHashMap * addresses;
 
 struct GAS_MLP_Handle *mlp;
 
@@ -53,56 +58,26 @@
   ret = 1;
   return;
 #endif
-  struct ATS_Address addr[10];
 
-  stats = GNUNET_STATISTICS_create("ats", cfg);
+  if (peers == 0)
+    peers = DEF_PEERS;
+  if (addresses == 0)
+    addresses = DEF_ADDRESSES_PER_PEER;
 
-  addresses = GNUNET_CONTAINER_multihashmap_create (10);
+  GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Setting up %u peers with %u addresses 
per peer\n", peers, addresses);
 
-  GNUNET_CRYPTO_hash_create_random(GNUNET_CRYPTO_QUALITY_WEAK, 
&addr[0].peer.hashPubKey);
-  addr[0].mlp_information = NULL;
-  addr[0].next = NULL;
-  addr[0].prev = NULL;
-  addr[0].plugin = strdup ("dummy");
+  GNUNET_HashCode hash;
+  //memset (&hash, '\0', sizeof (GNUNET_HashCode));
+  //hash.bits[0] = 1;
+  //GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "peer %s\n", GNUNET_h2s_full (&hash));
 
-  addr[1].peer = addr[0].peer;
-  addr[1].mlp_information = NULL;
-  addr[1].next = NULL;
-  addr[1].prev = NULL;
-  addr[1].plugin = strdup ("dummy2");
-
-  GNUNET_CONTAINER_multihashmap_put(addresses, &addr[0].peer.hashPubKey, 
&addr[0], GNUNET_CONTAINER_MULTIHASHMAPOPTION_MULTIPLE);
-
   mlp = GAS_mlp_init (cfg, NULL, MLP_MAX_EXEC_DURATION, MLP_MAX_ITERATIONS);
+  mlp->auto_solve = GNUNET_NO;
 
-  /* Add a new address */
-#if 0
-  GAS_mlp_address_update (mlp, addresses, &addr[0]);
 
-  GNUNET_assert (mlp != NULL);
-  GNUNET_assert (mlp->addr_in_problem == 1);
 
-  /* Update an new address */
-  GAS_mlp_address_update (mlp, addresses, &addr[0]);
-  GNUNET_assert (mlp->addr_in_problem == 1);
-
-  /* Add a second address for same peer */
-  GNUNET_CONTAINER_multihashmap_put(addresses, &addr[0].peer.hashPubKey, 
&addr[1], GNUNET_CONTAINER_MULTIHASHMAPOPTION_MULTIPLE);
-  GAS_mlp_address_update (mlp, addresses, &addr[1]);
-  GNUNET_assert (mlp->addr_in_problem == 2);
-
-  /* Delete an address */
-  GNUNET_CONTAINER_multihashmap_remove (addresses, &addr[0].peer.hashPubKey, 
&addr[0]);
-  GAS_mlp_address_delete (mlp, addresses, &addr[0]);
-  GAS_mlp_address_delete (mlp, addresses, &addr[1]);
-#endif
   GAS_mlp_done (mlp);
 
-  GNUNET_free (addr[0].plugin);
-  GNUNET_free (addr[1].plugin);
-  GNUNET_CONTAINER_multihashmap_destroy (addresses);
-  GNUNET_STATISTICS_destroy(stats, GNUNET_NO);
-
   ret = 0;
   return;
 }
@@ -124,6 +99,12 @@
   };
 
   static struct GNUNET_GETOPT_CommandLineOption options[] = {
+    {'a', "addresses", NULL,
+     gettext_noop ("addresses per peer"), 1,
+     &GNUNET_GETOPT_set_uint, &addresses},
+    {'p', "peers", NULL,
+     gettext_noop ("peers"), 1,
+     &GNUNET_GETOPT_set_uint, &peers},
     GNUNET_GETOPT_OPTION_END
   };
 

Modified: gnunet/src/ats/test_ats_api.conf
===================================================================
--- gnunet/src/ats/test_ats_api.conf    2012-04-16 14:29:42 UTC (rev 20986)
+++ gnunet/src/ats/test_ats_api.conf    2012-04-16 15:37:46 UTC (rev 20987)
@@ -8,7 +8,7 @@
 
 [ats]
 #DEBUG = YES
-PREFIX = valgrind --leak-check=full
+#PREFIX = valgrind --leak-check=full
 AUTOSTART = YES
 PORT = 12002
 HOSTNAME = localhost
@@ -22,7 +22,7 @@
 UNIX_MATCH_GID = YES
 
 # Enable MLP mode (default: NO)
-MLP = YES
+MLP = NO
 # Network specific inbound/outbound quotas
 # LOOPBACK
 LOOPBACK_QUOTA_IN = unlimited




reply via email to

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