Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
java examples: make it easier to run them from the cmdline or from eclipse
authorMartin Quinson <martin.quinson@loria.fr>
Tue, 21 Mar 2017 15:58:41 +0000 (16:58 +0100)
committerMartin Quinson <martin.quinson@loria.fr>
Wed, 22 Mar 2017 00:44:13 +0000 (01:44 +0100)
examples/java/app/pingpong/Main.java
examples/java/cloud/masterworker/Main.java
examples/java/cloud/masterworker/Master.java

index 31e4c70..baa07d8 100644 (file)
@@ -23,8 +23,10 @@ class Main {
        platfFile = args[0];
     
     File f = new File(platfFile); 
-    if (!f.exists())
+    if (!f.exists()) {
        System.err.println("File "+platfFile+" does not exist in "+System.getProperty("user.dir"));
+       System.err.println("Usage  : Main ../platforms/platform.xml");
+    }
     
     Msg.createEnvironment(platfFile);
     new Sender("Jacquelin", "Sender", new String[] {"Boivin"}).start();
index b06f2b6..e78204c 100644 (file)
@@ -5,6 +5,8 @@
 
 package cloud.masterworker;
 
+import java.io.File;
+
 import org.simgrid.msg.Msg;
 import org.simgrid.msg.Host;
 import org.simgrid.msg.MsgException;
@@ -13,6 +15,7 @@ class Main {
   public static final double TASK_COMP_SIZE = 10;
   public static final double TASK_COMM_SIZE = 10;
   public static final int NHOSTS = 6;
+  public static final int NSTEPS = 50;
 
   private Main() {
     throw new IllegalAccessError("Utility class");
@@ -21,14 +24,17 @@ class Main {
   public static void main(String[] args) throws MsgException {
     Msg.init(args); 
 
-    if (args.length < 1) {
-      Msg.info("Usage   : Main platform_file");
-      Msg.info("Usage  : Main ../platforms/platform.xml");
-      System.exit(1);
+    String platfFile = "../../examples/platforms/small_platform.xml";
+    if (args.length >= 1)
+       platfFile = args[0];
+    
+    File f = new File(platfFile); 
+    if (!f.exists()) {
+       System.err.println("File "+platfFile+" does not exist in "+System.getProperty("user.dir"));
+       System.err.println("Usage  : Main ../platforms/platform.xml");
     }
-
-    /* Construct the platform */
-    Msg.createEnvironment(args[0]);
+    
+    Msg.createEnvironment(platfFile);
     Host[] hosts = Host.all();
     if (hosts.length < NHOSTS+1) {
       Msg.info("I need at least "+ (NHOSTS+1) +"  hosts in the platform file, but " + args[0] + " contains only "
index a7bd389..55e01cc 100644 (file)
@@ -25,7 +25,7 @@ public class Master extends Process {
        public void main(String[] args) throws MsgException {
                int workersCount = Main.NHOSTS;
 
-               for (int step = 1; step <= 50 ; step++) {
+               for (int step = 1; step <= Main.NSTEPS ; step++) {
                        ArrayList<VM> vms = new ArrayList<>();
                        // Create one VM per host and bind a process inside each one. 
                        for (int i = 0; i < workersCount; i++) {
@@ -69,9 +69,9 @@ public class Master extends Process {
                         */
 
                        Msg.verb("Migrate everyone to "+hosts[3].getName());
-                       for (int i = 0; i < vms.size(); i++) {
-                               Msg.verb("Migrate "+vms.get(i).getName()+" from "+hosts[i+1].getName()+"to "+hosts[3].getName());
-                               vms.get(i).migrate(hosts[3]);
+                       for (VM vm : vms) {
+                               Msg.verb("Migrate "+vm.getName()+" to "+hosts[3].getName());
+                               vm.migrate(hosts[3]);
                        }
 
                        Msg.verb("Let's kill everyone.");