Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Increase the number of messages when we reach the maximum msg_size allowed
authoreyraudl <eyraudl@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Thu, 30 Nov 2006 14:11:32 +0000 (14:11 +0000)
committereyraudl <eyraudl@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Thu, 30 Nov 2006 14:11:32 +0000 (14:11 +0000)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@2949 48e7efb5-ca39-0410-a469-dd3cf9ba447f

src/amok/Bandwidth/bandwidth.c

index 2d4d547..912cf65 100644 (file)
@@ -197,17 +197,26 @@ void amok_bw_test(gras_socket_t peer,
            
       request->msg_size = request->msg_size * increase;
 
            
       request->msg_size = request->msg_size * increase;
 
-      /* Do not do too large experiments messages or the sensors will start to swap to store one of them */
-      if (request->msg_size > 64*1024*1024)
+      /* Do not do too large experiments messages or the sensors 
+        will start to swap to store one of them.
+        And then increase the number of messages to compensate */
+      if (request->msg_size > 64*1024*1024) {
+       nb_messages = ( (request->msg_size / ((double)64*1024*1024)) 
+                       * nb_messages ) + 1; 
        request->msg_size = 64*1024*1024;
        request->msg_size = 64*1024*1024;
+      }
+
+      VERB6("The experiment was too short (%f sec<%f sec). Redo it with exp_size=%lu msg_size=%lu (nb_messages=%d) (got %fkb/s)",
+           meas_duration, min_duration, 
+           request->exp_size, request->msg_size, nb_messages, 
+           ((double)request->exp_size) / *sec/1024);
 
       if (request->exp_size > request->msg_size * nb_messages) 
         CRITICAL0("overflow on the experiment size! You must have a *really* fat pipe. Please fix your platform");
       else
         request->exp_size = request->msg_size * nb_messages;
 
 
       if (request->exp_size > request->msg_size * nb_messages) 
         CRITICAL0("overflow on the experiment size! You must have a *really* fat pipe. Please fix your platform");
       else
         request->exp_size = request->msg_size * nb_messages;
 
-      VERB5("The experiment was too short (%f sec<%f sec). Redo it with exp_size=%lu msg_size=%lu (got %fkb/s)",
-            meas_duration,min_duration,request->exp_size,request->msg_size,((double)exp_size) / *sec/1024);
+
       gras_msg_rpccall(peer, 60, gras_msgtype_by_name("BW reask"),&request, NULL);      
     }
 
       gras_msg_rpccall(peer, 60, gras_msgtype_by_name("BW reask"),&request, NULL);      
     }