Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Added files to the simple MASTER/SLAVE example.
authorvelho <velho@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Mon, 16 Jul 2007 14:46:08 +0000 (14:46 +0000)
committervelho <velho@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Mon, 16 Jul 2007 14:46:08 +0000 (14:46 +0000)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@3807 48e7efb5-ca39-0410-a469-dd3cf9ba447f

examples/msg/masterslave/deployment_masterslave.xml [moved from examples/msg/small_deployment.xml with 100% similarity]
examples/msg/masterslave/masterslave.c [moved from examples/msg/msg_test_communication_time.c with 93% similarity]
examples/msg/masterslave/masterslave.tesh.in [new file with mode: 0644]

similarity index 93%
rename from examples/msg/msg_test_communication_time.c
rename to examples/msg/masterslave/masterslave.c
index 30cf01e..1cbff74 100644 (file)
@@ -5,6 +5,7 @@
 /* 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. */
 
+#include <stdio.h>
 #include "msg/msg.h" /* Yeah! If you want to use msg, you need to include msg/msg.h */
 #include "xbt/sysdep.h" /* calloc, printf */
 
@@ -30,7 +31,6 @@ int master(int argc, char *argv[])
 {
   int slaves_count = 0;
   m_host_t *slaves = NULL;
-  m_task_t *todo = NULL;
   int number_of_tasks = 0;
   double task_comp_size = 0;
   double task_comm_size = 0;
@@ -60,7 +60,7 @@ int master(int argc, char *argv[])
 
   INFO1("Got %d slave(s) :", slaves_count);
   for (i = 0; i < slaves_count; i++)
-    INFO1("\t %s", slaves[i]->name);
+    INFO1("%s", slaves[i]->name);
 
   INFO1("Got %d task to process :", number_of_tasks);
 
@@ -94,17 +94,17 @@ int slave(int argc, char *argv[])
     a = MSG_task_get(&(task), PORT_22);
     time2 = MSG_get_clock();
     if (a == MSG_OK) {
-      INFO1("Received \"%s\" ", MSG_task_get_name(task));
+      INFO1("Received \"%s\"", MSG_task_get_name(task));
       if(MSG_task_get_data(task)==FINALIZE) {
        MSG_task_destroy(task);
        break;
       }
       if(time1<*((double *)task->data))
        time1 = *((double *) task->data);
-      INFO1("Communication time :  \"%f\" ", time2-time1);      
-      INFO1("Processing \"%s\" ", MSG_task_get_name(task));
+      INFO1("Communication time : \"%f\"", time2-time1);
+      INFO1("Processing \"%s\"", MSG_task_get_name(task));
       MSG_task_execute(task);
-      INFO1("\"%s\" done ", MSG_task_get_name(task));
+      INFO1("\"%s\" done", MSG_task_get_name(task));
       MSG_task_destroy(task);
     } else {
       INFO0("Hey ?! What's up ? ");
diff --git a/examples/msg/masterslave/masterslave.tesh.in b/examples/msg/masterslave/masterslave.tesh.in
new file mode 100644 (file)
index 0000000..52172c0
--- /dev/null
@@ -0,0 +1,125 @@
+#! ./tesh
+
+p Testing a simple master/slave example application
+
+$ ./masterslave/masterslave @srcdir@/small_platform.xml @srcdir@/masterslave/deployment_masterslave.xml 
+> [Tremblay:master:(1) 0.000000] [msg_test/INFO] Got 5 slave(s) :
+> [Tremblay:master:(1) 0.000000] [msg_test/INFO] Jupiter
+> [Tremblay:master:(1) 0.000000] [msg_test/INFO] Fafard
+> [Tremblay:master:(1) 0.000000] [msg_test/INFO] Ginette
+> [Tremblay:master:(1) 0.000000] [msg_test/INFO] Bourassa
+> [Tremblay:master:(1) 0.000000] [msg_test/INFO] Tremblay
+> [Tremblay:master:(1) 0.000000] [msg_test/INFO] Got 20 task to process :
+> [Tremblay:master:(1) 0.016077] [msg_test/INFO] Send completed
+> [Jupiter:slave:(3) 0.016077] [msg_test/INFO] Received "Task"
+> [Jupiter:slave:(3) 0.016077] [msg_test/INFO] Communication time : "0.016077"
+> [Jupiter:slave:(3) 0.016077] [msg_test/INFO] Processing "Task"
+> [Tremblay:master:(1) 0.037813] [msg_test/INFO] Send completed
+> [Fafard:slave:(4) 0.037813] [msg_test/INFO] Received "Task"
+> [Fafard:slave:(4) 0.037813] [msg_test/INFO] Communication time : "0.021736"
+> [Fafard:slave:(4) 0.037813] [msg_test/INFO] Processing "Task"
+> [Tremblay:master:(1) 0.051808] [msg_test/INFO] Send completed
+> [Ginette:slave:(5) 0.051808] [msg_test/INFO] Received "Task"
+> [Ginette:slave:(5) 0.051808] [msg_test/INFO] Communication time : "0.013995"
+> [Ginette:slave:(5) 0.051808] [msg_test/INFO] Processing "Task"
+> [Tremblay:master:(1) 0.073317] [msg_test/INFO] Send completed
+> [Bourassa:slave:(6) 0.073317] [msg_test/INFO] Received "Task"
+> [Bourassa:slave:(6) 0.073317] [msg_test/INFO] Communication time : "0.021509"
+> [Bourassa:slave:(6) 0.073317] [msg_test/INFO] Processing "Task"
+> [Tremblay:master:(1) 0.073533] [msg_test/INFO] Send completed
+> [Tremblay:slave:(2) 0.073533] [msg_test/INFO] Received "Task"
+> [Tremblay:slave:(2) 0.073533] [msg_test/INFO] Communication time : "0.000216"
+> [Tremblay:slave:(2) 0.073533] [msg_test/INFO] Processing "Task"
+> [Jupiter:slave:(3) 0.081611] [msg_test/INFO] "Task" done
+> [Tremblay:master:(1) 0.097688] [msg_test/INFO] Send completed
+> [Jupiter:slave:(3) 0.097688] [msg_test/INFO] Received "Task"
+> [Jupiter:slave:(3) 0.097688] [msg_test/INFO] Communication time : "0.016077"
+> [Jupiter:slave:(3) 0.097688] [msg_test/INFO] Processing "Task"
+> [Fafard:slave:(4) 0.103347] [msg_test/INFO] "Task" done
+> [Tremblay:slave:(2) 0.124504] [msg_test/INFO] "Task" done
+> [Tremblay:master:(1) 0.125083] [msg_test/INFO] Send completed
+> [Fafard:slave:(4) 0.125083] [msg_test/INFO] Received "Task"
+> [Fafard:slave:(4) 0.125083] [msg_test/INFO] Communication time : "0.021736"
+> [Fafard:slave:(4) 0.125083] [msg_test/INFO] Processing "Task"
+> [Ginette:slave:(5) 0.154918] [msg_test/INFO] "Task" done
+> [Jupiter:slave:(3) 0.163222] [msg_test/INFO] "Task" done
+> [Tremblay:master:(1) 0.168913] [msg_test/INFO] Send completed
+> [Ginette:slave:(5) 0.168913] [msg_test/INFO] Received "Task"
+> [Ginette:slave:(5) 0.168913] [msg_test/INFO] Communication time : "0.013995"
+> [Ginette:slave:(5) 0.168913] [msg_test/INFO] Processing "Task"
+> [Bourassa:slave:(6) 0.176427] [msg_test/INFO] "Task" done
+> [Fafard:slave:(4) 0.190618] [msg_test/INFO] "Task" done
+> [Tremblay:master:(1) 0.197936] [msg_test/INFO] Send completed
+> [Bourassa:slave:(6) 0.197936] [msg_test/INFO] Received "Task"
+> [Bourassa:slave:(6) 0.197936] [msg_test/INFO] Communication time : "0.021509"
+> [Bourassa:slave:(6) 0.197936] [msg_test/INFO] Processing "Task"
+> [Tremblay:master:(1) 0.198152] [msg_test/INFO] Send completed
+> [Tremblay:slave:(2) 0.198152] [msg_test/INFO] Received "Task"
+> [Tremblay:slave:(2) 0.198152] [msg_test/INFO] Communication time : "0.000216"
+> [Tremblay:slave:(2) 0.198152] [msg_test/INFO] Processing "Task"
+> [Tremblay:master:(1) 0.214228] [msg_test/INFO] Send completed
+> [Jupiter:slave:(3) 0.214228] [msg_test/INFO] Received "Task"
+> [Jupiter:slave:(3) 0.214228] [msg_test/INFO] Communication time : "0.016077"
+> [Jupiter:slave:(3) 0.214228] [msg_test/INFO] Processing "Task"
+> [Tremblay:master:(1) 0.235965] [msg_test/INFO] Send completed
+> [Fafard:slave:(4) 0.235965] [msg_test/INFO] Received "Task"
+> [Fafard:slave:(4) 0.235965] [msg_test/INFO] Communication time : "0.021736"
+> [Fafard:slave:(4) 0.235965] [msg_test/INFO] Processing "Task"
+> [Tremblay:slave:(2) 0.249123] [msg_test/INFO] "Task" done
+> [Ginette:slave:(5) 0.272023] [msg_test/INFO] "Task" done
+> [Jupiter:slave:(3) 0.279763] [msg_test/INFO] "Task" done
+> [Tremblay:master:(1) 0.286018] [msg_test/INFO] Send completed
+> [Ginette:slave:(5) 0.286018] [msg_test/INFO] Received "Task"
+> [Ginette:slave:(5) 0.286018] [msg_test/INFO] Communication time : "0.013995"
+> [Ginette:slave:(5) 0.286018] [msg_test/INFO] Processing "Task"
+> [Bourassa:slave:(6) 0.301046] [msg_test/INFO] "Task" done
+> [Fafard:slave:(4) 0.301499] [msg_test/INFO] "Task" done
+> [Tremblay:master:(1) 0.322555] [msg_test/INFO] Send completed
+> [Bourassa:slave:(6) 0.322555] [msg_test/INFO] Received "Task"
+> [Bourassa:slave:(6) 0.322555] [msg_test/INFO] Communication time : "0.021509"
+> [Bourassa:slave:(6) 0.322555] [msg_test/INFO] Processing "Task"
+> [Tremblay:master:(1) 0.322770] [msg_test/INFO] Send completed
+> [Tremblay:slave:(2) 0.322770] [msg_test/INFO] Received "Task"
+> [Tremblay:slave:(2) 0.322770] [msg_test/INFO] Communication time : "0.000216"
+> [Tremblay:slave:(2) 0.322770] [msg_test/INFO] Processing "Task"
+> [Tremblay:master:(1) 0.338847] [msg_test/INFO] Send completed
+> [Jupiter:slave:(3) 0.338847] [msg_test/INFO] Received "Task"
+> [Jupiter:slave:(3) 0.338847] [msg_test/INFO] Communication time : "0.016077"
+> [Jupiter:slave:(3) 0.338847] [msg_test/INFO] Processing "Task"
+> [Tremblay:master:(1) 0.360583] [msg_test/INFO] Send completed
+> [Fafard:slave:(4) 0.360583] [msg_test/INFO] Received "Task"
+> [Fafard:slave:(4) 0.360583] [msg_test/INFO] Communication time : "0.021736"
+> [Fafard:slave:(4) 0.360583] [msg_test/INFO] Processing "Task"
+> [Tremblay:slave:(2) 0.373741] [msg_test/INFO] "Task" done
+> [Ginette:slave:(5) 0.389128] [msg_test/INFO] "Task" done
+> [Tremblay:master:(1) 0.403123] [msg_test/INFO] Send completed
+> [Ginette:slave:(5) 0.403123] [msg_test/INFO] Received "Task"
+> [Ginette:slave:(5) 0.403123] [msg_test/INFO] Communication time : "0.013995"
+> [Ginette:slave:(5) 0.403123] [msg_test/INFO] Processing "Task"
+> [Jupiter:slave:(3) 0.404381] [msg_test/INFO] "Task" done
+> [Bourassa:slave:(6) 0.425664] [msg_test/INFO] "Task" done
+> [Fafard:slave:(4) 0.426118] [msg_test/INFO] "Task" done
+> [Tremblay:master:(1) 0.447173] [msg_test/INFO] Send completed
+> [Bourassa:slave:(6) 0.447173] [msg_test/INFO] Received "Task"
+> [Bourassa:slave:(6) 0.447173] [msg_test/INFO] Communication time : "0.021509"
+> [Bourassa:slave:(6) 0.447173] [msg_test/INFO] Processing "Task"
+> [Tremblay:master:(1) 0.447389] [msg_test/INFO] Send completed
+> [Tremblay:master:(1) 0.447389] [msg_test/INFO] All tasks have been dispatched. Let's tell everybody the computation is over.
+> [Tremblay:slave:(2) 0.447389] [msg_test/INFO] Received "Task"
+> [Tremblay:slave:(2) 0.447389] [msg_test/INFO] Communication time : "0.000216"
+> [Tremblay:slave:(2) 0.447389] [msg_test/INFO] Processing "Task"
+> [Jupiter:slave:(3) 0.448851] [msg_test/INFO] Received "finalize"
+> [Jupiter:slave:(3) 0.448851] [msg_test/INFO] I'm done. See you!
+> [Fafard:slave:(4) 0.450827] [msg_test/INFO] Received "finalize"
+> [Fafard:slave:(4) 0.450827] [msg_test/INFO] I'm done. See you!
+> [Tremblay:slave:(2) 0.498360] [msg_test/INFO] "Task" done
+> [Ginette:slave:(5) 0.506232] [msg_test/INFO] "Task" done
+> [Ginette:slave:(5) 0.507505] [msg_test/INFO] Received "finalize"
+> [Ginette:slave:(5) 0.507505] [msg_test/INFO] I'm done. See you!
+> [Bourassa:slave:(6) 0.550283] [msg_test/INFO] "Task" done
+> [Bourassa:slave:(6) 0.552239] [msg_test/INFO] Received "finalize"
+> [Bourassa:slave:(6) 0.552239] [msg_test/INFO] I'm done. See you!
+> [Tremblay:master:(1) 0.552254] [msg_test/INFO] Goodbye now!
+> [Tremblay:slave:(2) 0.552254] [msg_test/INFO] Received "finalize"
+> [Tremblay:slave:(2) 0.552254] [msg_test/INFO] I'm done. See you!
+> [0.552254] [msg_test/INFO] Simulation time 0.552254