X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/2534be6f143eb3b32a2dc3ea116a0f4510d4f0d5..0afad4b7e2215154531cd6b2933af898ec6b781d:/examples/java/energy/vm/EnergyVMRunner.java?ds=sidebyside diff --git a/examples/java/energy/vm/EnergyVMRunner.java b/examples/java/energy/vm/EnergyVMRunner.java index 32ac1fb571..1fbb13b1f7 100644 --- a/examples/java/energy/vm/EnergyVMRunner.java +++ b/examples/java/energy/vm/EnergyVMRunner.java @@ -5,8 +5,14 @@ package energy.vm; -import org.simgrid.msg.*; +import org.simgrid.msg.Host; +import org.simgrid.msg.HostFailureException; +import org.simgrid.msg.HostNotFoundException; +import org.simgrid.msg.Msg; import org.simgrid.msg.Process; +import org.simgrid.msg.Task; +import org.simgrid.msg.TaskCancelledException; +import org.simgrid.msg.VM; /* This class is a process in charge of running the test. It creates and starts the VMs, and fork processes within VMs */ public class EnergyVMRunner extends Process { @@ -16,58 +22,56 @@ public class EnergyVMRunner extends Process { super(host, name); } - public void main(String[] args) { + @Override + public void main(String[] strings) { Task task = new Task(this.getHost().getName()+"-task", 300E6 , 0); try { - task.execute(); - } catch (Exception e) { + task.execute(); + } catch (HostFailureException | TaskCancelledException e) { + Msg.error(e.getMessage()); e.printStackTrace(); } Msg.info("This worker is done."); } } - EnergyVMRunner(Host host, String name, String[] args) throws HostNotFoundException, NativeException { + EnergyVMRunner(Host host, String name, String[] args) throws HostNotFoundException { super(host, name, args); } - public void main(String[] strings) throws MsgException, HostNotFoundException { - double startTime = 0; - double endTime = 0; - + @Override + public void main(String[] strings) throws HostNotFoundException, HostFailureException { /* get hosts */ Host host1 = Host.getByName("MyHost1"); Host host2 = Host.getByName("MyHost2"); Host host3 = Host.getByName("MyHost3"); Msg.info("Creating and starting two VMs"); - VM vmHost1 = new VM(host1, "vmHost1", 4, 2048, 100, null, 1024 * 20, 10,50); + VM vmHost1 = new VM(host1, "vmHost1"); vmHost1.start(); - VM vmHost3 = new VM(host3, "vmHost3", 4, 2048, 100, null, 1024 * 20, 10,50); - vmHost3.start(); + VM vmHost2 = new VM(host2, "vmHost3"); + vmHost2.start(); Msg.info("Create two tasks on Host1: one inside a VM, the other directly on the host"); - new DummyProcess (vmHost1, "p11"); - new DummyProcess (host1, "p12"); + new DummyProcess (vmHost1, "p11").start(); + new DummyProcess (vmHost1, "p12").start(); Msg.info("Create two tasks on Host2: both directly on the host"); - new DummyProcess (host2, "p21"); - new DummyProcess (host2, "p22"); + new DummyProcess (vmHost2, "p21").start(); + new DummyProcess (host2, "p22").start(); Msg.info("Create two tasks on Host3: both inside a VM"); - new DummyProcess (vmHost3, "p31"); - new DummyProcess (vmHost3, "p312"); + new DummyProcess (host3, "p31").start(); + new DummyProcess (host3, "p312").start(); Msg.info("Wait 5 seconds. The tasks are still running (they run for 3 seconds, but 2 tasks are co-located, " + "so they run for 6 seconds)"); - waitFor(5); + waitFor(5); Msg.info("Wait another 5 seconds. The tasks stop at some point in between"); - waitFor(5); + waitFor(5); - vmHost1.shutdown(); - vmHost3.shutdown(); - vmHost1.finalize(); - vmHost3.finalize(); + vmHost1.destroy(); + vmHost2.destroy(); } }