Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'master' into v3.20-expose-simgrid-jni
[simgrid.git] / examples / java / hostload / LoadRunner.java
1 /* Copyright (c) 2016-2018. The SimGrid Team. All rights reserved.          */
2
3 /* This program is free software; you can redistribute it and/or modify it
4  * under the terms of the license (GNU LGPL) which comes with this package. */
5
6 package hostload;
7
8 import org.simgrid.msg.*;
9 import org.simgrid.msg.Process;
10
11
12 public class LoadRunner extends Process {
13
14     public LoadRunner(Host host, String s) {
15         super(host, s);
16     }
17
18     public void display(){
19         Msg.info("Speed="+getHost().getSpeed()+" flop/s");
20         Msg.info("Computed Flops "+             getHost().getComputedFlops());
21         Msg.info("AvgLoad "+            getHost().getAvgLoad());
22     }
23     @Override
24     public void main(String[] strings) throws MsgException {
25         Host host = getHost();
26         display();
27         Msg.info("Sleep for 10 seconds");
28         waitFor(10);
29         display();
30
31         // Run a task
32         Task task1 = new Task("t1", 200E6, 0);
33         task1.execute();
34         display();
35         double taskTime = Msg.getClock();
36         Msg.info("Task1 simulation time: "+ taskTime);
37
38         // Run a second task
39         new Task("t1", 200E6, 0).execute();
40
41         taskTime = Msg.getClock() - taskTime;
42         Msg.info("Task2 simulation time: "+ taskTime);
43         display();
44
45     }
46
47
48 }