Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
More java approach with a specific task type for finalization instead of magic value...
authormquinson <mquinson@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Sat, 27 Oct 2007 09:59:52 +0000 (09:59 +0000)
committermquinson <mquinson@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Sat, 27 Oct 2007 09:59:52 +0000 (09:59 +0000)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@4904 48e7efb5-ca39-0410-a469-dd3cf9ba447f

examples/java/basic/Forwarder.java
examples/java/basic/Makefile.am
examples/java/basic/Makefile.in
examples/java/basic/Master.java
examples/java/basic/Slave.java
examples/java/comm_time/Makefile.am
examples/java/comm_time/Makefile.in
examples/java/comm_time/Master.java
examples/java/comm_time/Slave.java

index 2e08701..3d94f7d 100644 (file)
@@ -32,32 +32,28 @@ public class Forwarder extends simgrid.msg.Process {
                
       int taskCount = 0;
       while(true) {
-                       
-        BasicTask task = (BasicTask)channel.get();
+        Task t = channel.get();        
         
-        Msg.info("Received \"" + task.getName() + "\" ");
-        
-        if(task.getData() == 221297) {
+        if (t instanceof FinalizeTask) {
            Msg.info("All tasks have been dispatched. Let's tell everybody the computation is over.");
            
            for (int cpt = 0; cpt<slavesCount; cpt++) {
-              BasicTask forwardedtask = new BasicTask("finalize", 0, 0);
-              forwardedtask.setData(221297);
-              
-              channel.put(forwardedtask,slaves[cpt]);
+              channel.put(new FinalizeTask(),slaves[cpt]);
            }
            break;
-           
-        } else {
-           
-           Msg.info("Sending \"" + task.getName() + "\" to \"" + slaves[taskCount % slavesCount].getName() + "\"");
-           channel.put(task, slaves[taskCount % slavesCount]);
-           
-           taskCount++;
         }
+        BasicTask task = (BasicTask)t;
         
-        Msg.info("I'm done. See you!");
+        Msg.info("Received \"" + task.getName() + "\" ");
+                   
+        Msg.info("Sending \"" + task.getName() + "\" to \"" + slaves[taskCount % slavesCount].getName() + "\"");
+        channel.put(task, slaves[taskCount % slavesCount]);
+           
+        taskCount++;
       }
+      
+        
+      Msg.info("I'm done. See you!");
    }
 }
 
index 6f55ad8..7c6dfbc 100644 (file)
@@ -8,7 +8,8 @@
 EXTRA_DIST=basic_deployment.xml basic_platform.xml
 
 # Declare sources:
-JAVA_SRC=Master.java Forwarder.java Slave.java BasicTest.java BasicTask.java
+JAVA_SRC=Master.java Forwarder.java Slave.java BasicTest.java \
+         BasicTask.java FinalizeTask.java
 JAVA_TESTS=BasicTest.class
 
 EXTRA_DIST+=$(JAVA_SRC)
index ef20033..87f7b4b 100644 (file)
@@ -206,7 +206,9 @@ top_srcdir = @top_srcdir@
 EXTRA_DIST = basic_deployment.xml basic_platform.xml $(JAVA_SRC)
 
 # Declare sources:
-JAVA_SRC = Master.java Forwarder.java Slave.java BasicTest.java BasicTask.java
+JAVA_SRC = Master.java Forwarder.java Slave.java BasicTest.java \
+         BasicTask.java FinalizeTask.java
+
 JAVA_TESTS = BasicTest.class
 
 # Declare test class
index d3d354b..4fa8f44 100644 (file)
@@ -74,9 +74,7 @@ public class Master extends simgrid.msg.Process {
       Msg.info("All tasks have been dispatched. Let's tell everybody the computation is over.");
       
       for (int i = 0; i < slaveCount; i++) {
-        BasicTask task = new BasicTask("finalize", 0, 0);
-        task.setData(221297);   
-        channel.put(task,slaves[i]);
+        channel.put(new FinalizeTask(),slaves[i]);
       }
       
       Msg.info("Goodbye now!");
index a688ad4..f3b6764 100644 (file)
@@ -17,8 +17,12 @@ public class Slave extends simgrid.msg.Process {
       Channel channel = new Channel(0);
 
       while(true) { 
-        BasicTask task=(BasicTask)channel.get();
+        Task t = channel.get();        
         
+        if (t instanceof FinalizeTask) {
+           break;
+        }
+        BasicTask task = (BasicTask)t;
         Msg.info("Received \"" + task.getName() + "\" ");
         
         if (task.getData() == 0) {
@@ -33,6 +37,6 @@ public class Slave extends simgrid.msg.Process {
         Msg.info("\"" + task.getName() + "\" done ");
        }
        
-       Msg.info("I'm done. See you!");
+      Msg.info("Received Finalize. I'm done. See you!");
     }
 }
\ No newline at end of file
index e3435b3..f6b3a60 100644 (file)
@@ -8,7 +8,8 @@
 EXTRA_DIST=comm_time_deployment.xml comm_time_platform.xml
 
 # Declare sources:
-JAVA_SRC=Master.java Slave.java CommTimeTest.java CommTimeTask.java
+JAVA_SRC=Master.java Slave.java CommTimeTest.java \
+         CommTimeTask.java FinalizeTask.java
 JAVA_TESTS=CommTimeTest.class
 
 EXTRA_DIST+=$(JAVA_SRC)
index b4b277d..509948b 100644 (file)
@@ -207,7 +207,9 @@ EXTRA_DIST = comm_time_deployment.xml comm_time_platform.xml \
        $(JAVA_SRC)
 
 # Declare sources:
-JAVA_SRC = Master.java Slave.java CommTimeTest.java CommTimeTask.java
+JAVA_SRC = Master.java Slave.java CommTimeTest.java \
+         CommTimeTask.java FinalizeTask.java
+
 JAVA_TESTS = CommTimeTest.class
 
 # Declare test class
index f33c6c6..5567e91 100644 (file)
@@ -53,12 +53,8 @@ public class Master extends simgrid.msg.Process {
                
       for (int i = 0; i < slavecount; i++) { 
                        
-        FinalizeTask task = new FinalizeTask();
-                       
-        Msg.info("Send task to host : " + slaves[i].getName());
-        channel.put(task,slaves[i]);
-                       
-        Msg.info("Send completed " + slaves[i].getName() +  " [" + i + "]");
+        Msg.info("Finalize host " + slaves[i].getName() +  " [" + i + "]");
+        channel.put(new FinalizeTask(),slaves[i]);
       }
       
       Msg.info("All finalize messages have been dispatched. Goodbye now!");
index 7c622a6..78cde4f 100644 (file)
@@ -19,13 +19,11 @@ public class Slave extends simgrid.msg.Process {
       Channel channel = new Channel(0);
                
       while(true) {
-        int a;
         double time1 = Msg.getClock();       
         Task t = channel.get();        
         double time2 = Msg.getClock();
  
         if (t instanceof FinalizeTask) {
-           Msg.info("Received Finalize " + getHost().getName());
            break;
         }
         CommTimeTask task = (CommTimeTask)t;
@@ -37,10 +35,8 @@ public class Slave extends simgrid.msg.Process {
                  " (Communication time : " +  (time2 - time1) + ")");
 */          
         task.execute();
-        
-        
       }
        
-      Msg.info("I'm done. See you!" + getHost().getName());
+      Msg.info("Received Finalize. I'm done. See you!");
    }
 }
\ No newline at end of file