Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'master' of github.com:mquinson/simgrid
authorMartin Quinson <martin.quinson@loria.fr>
Tue, 19 Jan 2016 15:08:01 +0000 (16:08 +0100)
committerMartin Quinson <martin.quinson@loria.fr>
Tue, 19 Jan 2016 15:08:01 +0000 (16:08 +0100)
37 files changed:
.gitignore
examples/java/energy/CMakeLists.txt [new file with mode: 0644]
examples/java/energy/Energy.java [new file with mode: 0644]
examples/java/energy/EnergyConsumer.java [new file with mode: 0644]
examples/java/energy/energy.tesh [new file with mode: 0644]
examples/simdag/dax/dax_test.c
examples/simdag/dot/dot_test.c
examples/simdag/dot/ptg_test.c
examples/simdag/goal/goal_test.c
examples/simdag/io/sd_io.c
examples/simdag/metaxml/sd_meta.c
examples/simdag/properties/test_prop.tesh
examples/simdag/scheduling/minmin_test.c
examples/simdag/sd_avail.c
examples/simdag/sd_test.c
examples/simdag/sd_test2.c
examples/simdag/test_simdag.tesh
examples/simdag/test_simdag_avail.tesh
examples/simdag/test_simdag_seq_access.tesh
include/simgrid/simdag.h
src/bindings/java/jmsg.cpp
src/bindings/java/jmsg.h
src/bindings/java/jmsg_host.cpp
src/bindings/java/jmsg_host.h
src/bindings/java/org/simgrid/msg/Host.java
src/bindings/java/org/simgrid/msg/Msg.java
src/simdag/sd_global.cpp
src/simdag/sd_workstation.cpp
teshsuite/simdag/availability/availability_test.c
teshsuite/simdag/platforms/Evaluate_get_route_time.c
teshsuite/simdag/platforms/Evaluate_parse_time.c
teshsuite/simdag/platforms/basic_link_test.c
teshsuite/simdag/platforms/basic_parsing_test.c
teshsuite/simdag/platforms/flatifier.cpp
teshsuite/simdag/platforms/is_router_test.c
tools/cmake/MakeExe.cmake
tools/cmake/Tests.cmake

index 3e7397f..626c4c4 100644 (file)
@@ -1052,6 +1052,7 @@ examples/java/chord/java_chord_compiled
 examples/java/cloud/java_cloud_compiled
 examples/java/cloud/migration/java_cloud_migration_compiled
 examples/java/commTime/java_commTime_compiled
+examples/java/energy/java_energy_compiled
 examples/java/io/java_io_compiled
 examples/java/kademlia/java_kademlia_compiled
 examples/java/master_slave_bypass/java_master_slave_bypass_compiled
diff --git a/examples/java/energy/CMakeLists.txt b/examples/java/energy/CMakeLists.txt
new file mode 100644 (file)
index 0000000..f881650
--- /dev/null
@@ -0,0 +1,43 @@
+set(example java_energy)
+set(sources
+  ${CMAKE_CURRENT_SOURCE_DIR}/EnergyConsumer.java
+  ${CMAKE_CURRENT_SOURCE_DIR}/Energy.java
+  )
+
+if(enable_java)
+  add_custom_command(
+    COMMENT "Building ${example}..."
+    OUTPUT ${example}_compiled
+    DEPENDS ${sources} simgrid-java_jar ${SIMGRID_JAR}
+    COMMAND ${JAVA_COMPILE} -classpath ${SIMGRID_JAR}
+                             -d ${CMAKE_CURRENT_BINARY_DIR}/.. ${sources}
+    COMMAND ${CMAKE_COMMAND} -E remove ${example}_compiled
+    COMMAND ${CMAKE_COMMAND} -E touch ${example}_compiled
+  )
+  add_custom_target(${example} ALL DEPENDS ${example}_compiled)
+endif()
+
+set(tesh_files
+  ${tesh_files}
+  ${CMAKE_CURRENT_SOURCE_DIR}/energy.tesh
+  PARENT_SCOPE
+  )
+set(xml_files
+  ${xml_files}
+  ${CMAKE_CURRENT_SOURCE_DIR}/energyDeployment.xml
+  PARENT_SCOPE
+  )
+set(examples_src
+  ${examples_src}
+  ${sources}
+  PARENT_SCOPE
+  )
+set(bin_files
+  ${bin_files}
+  PARENT_SCOPE
+  )
+set(txt_files
+  ${txt_files}
+  ${CMAKE_CURRENT_SOURCE_DIR}/README
+  PARENT_SCOPE
+  )
diff --git a/examples/java/energy/Energy.java b/examples/java/energy/Energy.java
new file mode 100644 (file)
index 0000000..8f70b7b
--- /dev/null
@@ -0,0 +1,41 @@
+/* Copyright (c) 2012-2014. The SimGrid Team.
+ * All rights reserved.                                                     */
+
+/* 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. */
+
+package energy;
+
+import org.simgrid.msg.Host;
+import org.simgrid.msg.Msg;
+import org.simgrid.msg.MsgException;
+/**
+ * Example showing the use of the new experimental Cloud API.
+ */
+public class Energy {
+       public static final double task_comp_size = 10;
+       public static final double task_comm_size = 10;
+       public static final int hostNB = 2 ; 
+       public static void main(String[] args) throws MsgException {  
+               Msg.energyInit(); 
+           Msg.init(args); 
+           
+           if (args.length < 1) {
+               Msg.info("Usage  : Cloud platform_file");
+               Msg.info("Usage  : Cloud platform.xml");
+               System.exit(1);
+           }
+           /* Construct the platform */
+               Msg.createEnvironment(args[0]);
+               Host[] hosts = Host.all();
+               if (hosts.length < 1) {
+                       Msg.info("I need at least one host in the platform file, but " + args[0] + " contains only " + hosts.length + " hosts");
+                       System.exit(42);
+               }
+               /* Instanciate a process */
+               new EnergyConsumer(hosts[0],"energyConsumer",null).start();
+               /* Execute the simulation */
+               Msg.run();
+               
+    }
+}
diff --git a/examples/java/energy/EnergyConsumer.java b/examples/java/energy/EnergyConsumer.java
new file mode 100644 (file)
index 0000000..50b6ea8
--- /dev/null
@@ -0,0 +1,29 @@
+/* Copyright (c) 2006-2014. The SimGrid Team.
+ * All rights reserved.                                                     */
+
+/* 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. */
+
+package energy;
+
+import org.simgrid.msg.Comm;
+import org.simgrid.msg.Host;
+import org.simgrid.msg.Msg;
+import org.simgrid.msg.MsgException;
+import org.simgrid.msg.Process;
+import org.simgrid.msg.Task;
+import org.simgrid.msg.TimeoutException;
+
+public class EnergyConsumer extends Process {
+       public EnergyConsumer(Host host, String name, String[] args) {
+               super(host,name,args);
+       }
+       @Override
+       public void main(String[] args) throws MsgException {
+          Msg.info("Currently consumed energy: "+getHost().getConsumedEnergy());
+          this.waitFor(10);
+          Msg.info("Currently consumed energy after sleeping 10 sec: "+getHost().getConsumedEnergy());
+          new Task(null, 1E9, 0).execute();
+          Msg.info("Currently consumed energy after executing 1E9 flops: "+getHost().getConsumedEnergy());        
+       }
+}
diff --git a/examples/java/energy/energy.tesh b/examples/java/energy/energy.tesh
new file mode 100644 (file)
index 0000000..9bd1cd5
--- /dev/null
@@ -0,0 +1,14 @@
+#! tesh
+
+! timeout 15
+
+$ java -classpath ${classpath:=.} energy/Energy ${srcdir:=.}/../platforms/energy_platform.xml
+> [0.000000] [jmsg/INFO] Using regular java threads.
+> [MyHost1:energyConsumer:(1) 0.000000] [jmsg/INFO] Currently consumed energy: 0.0
+> [MyHost1:energyConsumer:(1) 10.000000] [jmsg/INFO] Currently consumed energy after sleeping 10 sec: 1000.0
+> [MyHost1:energyConsumer:(1) 20.000000] [jmsg/INFO] Currently consumed energy after executing 1E9 flops: 3000.0
+> [20.000000] [jmsg/INFO] MSG_main finished; Cleaning up the simulation...
+> [20.000000] [surf_energy/INFO] Total energy of host MyHost1: 3000.000000 Joules
+> [20.000000] [surf_energy/INFO] Total energy of host MyHost2: 2000.000000 Joules
+> [20.000000] [surf_energy/INFO] Total energy of host MyHost3: 2000.000000 Joules
+
index 6bc8f25..92b035d 100644 (file)
@@ -84,11 +84,11 @@ int main(int argc, char **argv)
   /* Schedule them all on the first workstation */
   XBT_INFO("------------------- Schedule tasks ---------------------------");
   const SD_workstation_t *ws_list = SD_workstation_get_list();
-  int totalHosts = SD_workstation_get_number();
+  int totalHosts = SD_workstation_get_count();
   qsort((void *) ws_list, totalHosts, sizeof(SD_workstation_t),
         name_compare_hosts);
 
-  int count = SD_workstation_get_number();
+  int count = SD_workstation_get_count();
   xbt_dynar_foreach(dax, cursor, task) {
     if (SD_task_get_kind(task) == SD_TASK_COMP_SEQ) {
       if (!strcmp(SD_task_get_name(task), "end"))
index f263870..382c921 100644 (file)
@@ -75,7 +75,7 @@ int main(int argc, char **argv)
   XBT_INFO("------------------- Schedule tasks ---------------------------");
   const SD_workstation_t *ws_list = SD_workstation_get_list();
 
-  int count = SD_workstation_get_number();
+  int count = SD_workstation_get_count();
   xbt_dynar_foreach(dot, cursor, task) {
     if (SD_task_get_kind(task) == SD_TASK_COMP_SEQ) {
       if (!strcmp(SD_task_get_name(task), "end"))
index ab2fc09..623e461 100644 (file)
@@ -59,7 +59,7 @@ int main(int argc, char **argv){
   /* Schedule them all on all the first workstation */
   XBT_INFO("------------------- Schedule tasks ---------------------------");
   const SD_workstation_t *ws_list = SD_workstation_get_list();
-  int count = SD_workstation_get_number();
+  int count = SD_workstation_get_count();
   xbt_dynar_foreach(dot, cursor, task) {
     if (SD_task_get_kind(task) == SD_TASK_COMP_PAR_AMDAHL) {
         SD_task_schedulev(task, count, ws_list);
index bba9ac7..1b2e514 100644 (file)
@@ -73,7 +73,7 @@ int main(int argc, char **argv) {
   xbt_dynar_t done = NULL;
 
   xbt_os_cputimer_start(timer);
-  send_one(0,SD_workstation_get_number());
+  send_one(0,SD_workstation_get_count());
   do {
     if (done != NULL && !xbt_dynar_is_empty(done)) {
       unsigned int cursor;
index c215a23..5dc9a57 100644 (file)
@@ -29,7 +29,7 @@ int main(int argc, char **argv)
   SD_config("host/model", "default");
   SD_create_environment(argv[1]);
   workstations = SD_workstation_get_list();
-  total_nworkstations = SD_workstation_get_number();
+  total_nworkstations = SD_workstation_get_count();
 
   for (ctr=0; ctr<total_nworkstations;ctr++){
     current_storage_list = SD_workstation_get_mounted_storage_list(workstations[ctr]);
index 0f2f339..170a265 100644 (file)
@@ -47,7 +47,7 @@ int main(int argc, char **argv)
 
   /* test the estimation functions */
   workstations = SD_workstation_get_list();
-  ws_nr = SD_workstation_get_number();
+  ws_nr = SD_workstation_get_count();
 
 
   /* Show routes between all workstation */
@@ -65,9 +65,9 @@ int main(int argc, char **argv)
       route_size = SD_route_get_size(w1, w2);
       for (k = 0; k < route_size; k++) {
         XBT_INFO("\tLink %s: latency = %f, bandwidth = %f",
-              SD_link_get_name(route[k]),
-              SD_link_get_current_latency(route[k]),
-              SD_link_get_current_bandwidth(route[k]));
+              sg_link_name(route[k]),
+              sg_link_latency(route[k]),
+              sg_link_bandwidth(route[k]));
       }
     }
   }
index 7c969a5..22c76d2 100755 (executable)
@@ -15,8 +15,8 @@ $ $SG_TEST_EXENV properties/sd_prop ${srcdir:=.}/../platforms/prop.xml
 > [0.000000] [test/INFO]       Property: Hdd old value: 120
 > [0.000000] [test/INFO]       Property: Hdd new value: 250
 > [0.000000] [sd_workstation/INFO] Displaying workstation host2
-> [0.000000] [sd_workstation/INFO]   - power: 1000000000
-> [0.000000] [sd_workstation/INFO]   - available power: 1.00
+> [0.000000] [sd_workstation/INFO]   - speed: 1000000000
+> [0.000000] [sd_workstation/INFO]   - available speed: 1.00
 > [0.000000] [sd_workstation/INFO]   - access mode: Exclusive
 > [0.000000] [sd_workstation/INFO]     no task running
 > [0.000000] [sd_workstation/INFO]   - properties:
index 5f1c3a6..2d60522 100644 (file)
@@ -157,7 +157,7 @@ static SD_workstation_t SD_task_get_best_workstation(SD_task_t task)
   int i;
   double EFT, min_EFT = -1.0;
   const SD_workstation_t *workstations = SD_workstation_get_list();
-  int nworkstations = SD_workstation_get_number();
+  int nworkstations = SD_workstation_get_count();
   SD_workstation_t best_workstation;
 
   best_workstation = workstations[0];
@@ -182,7 +182,7 @@ static void output_xml(FILE * out, xbt_dynar_t dax)
 {
   unsigned int i, j, k;
   int current_nworkstations;
-  const int nworkstations = SD_workstation_get_number();
+  const int nworkstations = SD_workstation_get_count();
   const SD_workstation_t *workstations = SD_workstation_get_list();
   SD_task_t task;
   SD_workstation_t *list;
@@ -284,7 +284,7 @@ int main(int argc, char **argv)
   SD_create_environment(argv[1]);
 
   /*  Allocating the workstation attribute */
-  total_nworkstations = SD_workstation_get_number();
+  total_nworkstations = SD_workstation_get_count();
   workstations = SD_workstation_get_list();
 
   for (cursor = 0; cursor < total_nworkstations; cursor++)
index 231a780..94c5809 100644 (file)
@@ -87,14 +87,14 @@ int main(int argc, char **argv)
 
   while (!xbt_dynar_is_empty((changed_tasks = SD_simulate(-1.0)))) {    
     XBT_INFO("link1: bw=%.0f, lat=%f",
-             SD_route_get_current_bandwidth(workstations[0], workstations[1]),
-             SD_route_get_current_latency(workstations[0], workstations[1]));
-    XBT_INFO("Jupiter: power=%.0f",
-             SD_workstation_get_power(workstations[0])*
-             SD_workstation_get_available_power(workstations[0]));
-    XBT_INFO("Tremblay: power=%.0f",
-             SD_workstation_get_power(workstations[1])*
-             SD_workstation_get_available_power(workstations[1]));
+             SD_route_get_bandwidth(workstations[0], workstations[1]),
+             SD_route_get_latency(workstations[0], workstations[1]));
+    XBT_INFO("Jupiter: speed=%.0f",
+             SD_workstation_get_speed(workstations[0])*
+             SD_workstation_get_available_speed(workstations[0]));
+    XBT_INFO("Tremblay: speed=%.0f",
+             SD_workstation_get_speed(workstations[1])*
+             SD_workstation_get_available_speed(workstations[1]));
     xbt_dynar_foreach(changed_tasks, ctr, task) {
       XBT_INFO("Task '%s' start time: %f, finish time: %f",
            SD_task_get_name(task),
index 0f4220f..20f6c47 100644 (file)
@@ -75,13 +75,13 @@ int main(int argc, char **argv)
   route_size = SD_route_get_size(w1, w2);
   for (i = 0; i < route_size; i++) {
     XBT_INFO("   Link %s: latency = %f, bandwidth = %f",
-          SD_link_get_name(route[i]),
-          SD_link_get_current_latency(route[i]),
-          SD_link_get_current_bandwidth(route[i]));
+          sg_link_name(route[i]),
+          sg_link_latency(route[i]),
+          sg_link_bandwidth(route[i]));
   }
   XBT_INFO("Route latency = %f, route bandwidth = %f",
-        SD_route_get_current_latency(w1, w2),
-        SD_route_get_current_bandwidth(w1, w2));
+        SD_route_get_latency(w1, w2),
+        SD_route_get_bandwidth(w1, w2));
   XBT_INFO("Communication time for %f bytes between %s and %s: %f",
         communication_amount12, name1, name2,
         SD_route_get_communication_time(w1, w2, communication_amount12));
index aaa60fd..0a9bf56 100644 (file)
@@ -67,7 +67,7 @@ int main(int argc, char **argv)
             argv[1]);
 
   /* getting platform infos */
-  n_hosts = SD_workstation_get_number();
+  n_hosts = SD_workstation_get_count();
   hosts = SD_workstation_get_list();
 
   /* sorting hosts by hostname */
index 5da3a1b..d81c786 100644 (file)
@@ -15,6 +15,6 @@ $ $SG_TEST_EXENV ./sd_test ${srcdir:=.}/../platforms/platform.xml
 > [0.000000] [sd_test/INFO] Route latency = 0.070615, route bandwidth = 472125.000000
 > [0.000000] [sd_test/INFO] Communication time for 2000000.000000 bytes between Jacquelin and Intel: 4.306781
 > [0.000000] [sd_test/INFO] Communication time for 3000000.000000 bytes between Intel and Jacquelin: 6.424864
-> [0.000000] [sd_test/INFO] Estimated time for 'Task D': 6.502761
+> [0.000000] [sd_test/INFO] Estimated time for 'Task D': 6.432146
 > [21.322061] [sd_test/INFO] Task 'Task D' start time: 0.000000, finish time: 10.661030
 > [21.322061] [sd_test/INFO] Task 'Task B' start time: 10.661030, finish time: 21.322061
index 87134ea..c4591ba 100644 (file)
@@ -5,30 +5,30 @@ p Test of the management of availability traces with simdag
 $ $SG_TEST_EXENV ${bindir:=.}/sd_avail two_hosts.xml
 > [0.000000] [surf_host/INFO] Switching to the L07 model to handle parallel tasks.
 > [1.000000] [sd_avail/INFO] link1: bw=125000000, lat=0.000100
-> [1.000000] [sd_avail/INFO] Jupiter: power=12500000
-> [1.000000] [sd_avail/INFO] Tremblay: power=12500000
+> [1.000000] [sd_avail/INFO] Jupiter: speed=12500000
+> [1.000000] [sd_avail/INFO] Tremblay: speed=12500000
 > [1.000000] [sd_avail/INFO] Task 't1' start time: 0.000000, finish time: 1.000000
 > [2.000200] [sd_avail/INFO] link1: bw=62500000, lat=0.000100
-> [2.000200] [sd_avail/INFO] Jupiter: power=12500000
-> [2.000200] [sd_avail/INFO] Tremblay: power=25000000
+> [2.000200] [sd_avail/INFO] Jupiter: speed=12500000
+> [2.000200] [sd_avail/INFO] Tremblay: speed=25000000
 > [2.000200] [sd_avail/INFO] Task 'c1' start time: 1.000000, finish time: 2.000200
 > [3.000200] [sd_avail/INFO] link1: bw=62500000, lat=0.000100
-> [3.000200] [sd_avail/INFO] Jupiter: power=12500000
-> [3.000200] [sd_avail/INFO] Tremblay: power=25000000
+> [3.000200] [sd_avail/INFO] Jupiter: speed=12500000
+> [3.000200] [sd_avail/INFO] Tremblay: speed=25000000
 > [3.000200] [sd_avail/INFO] Task 't2' start time: 2.000200, finish time: 3.000200
 > [4.000600] [sd_avail/INFO] link1: bw=31250000, lat=0.000100
-> [4.000600] [sd_avail/INFO] Jupiter: power=25000000
-> [4.000600] [sd_avail/INFO] Tremblay: power=25000000
+> [4.000600] [sd_avail/INFO] Jupiter: speed=25000000
+> [4.000600] [sd_avail/INFO] Tremblay: speed=25000000
 > [4.000600] [sd_avail/INFO] Task 'c2' start time: 3.000200, finish time: 4.000600
 > [5.000600] [sd_avail/INFO] link1: bw=31250000, lat=0.000100
-> [5.000600] [sd_avail/INFO] Jupiter: power=25000000
-> [5.000600] [sd_avail/INFO] Tremblay: power=25000000
+> [5.000600] [sd_avail/INFO] Jupiter: speed=25000000
+> [5.000600] [sd_avail/INFO] Tremblay: speed=25000000
 > [5.000600] [sd_avail/INFO] Task 't3' start time: 4.000600, finish time: 5.000600
 > [6.000700] [sd_avail/INFO] link1: bw=31250000, lat=0.000100
-> [6.000700] [sd_avail/INFO] Jupiter: power=25000000
-> [6.000700] [sd_avail/INFO] Tremblay: power=25000000
+> [6.000700] [sd_avail/INFO] Jupiter: speed=25000000
+> [6.000700] [sd_avail/INFO] Tremblay: speed=25000000
 > [6.000700] [sd_avail/INFO] Task 'c3' start time: 5.000600, finish time: 6.000700
 > [7.000700] [sd_avail/INFO] link1: bw=31250000, lat=0.000100
-> [7.000700] [sd_avail/INFO] Jupiter: power=25000000
-> [7.000700] [sd_avail/INFO] Tremblay: power=25000000
+> [7.000700] [sd_avail/INFO] Jupiter: speed=25000000
+> [7.000700] [sd_avail/INFO] Tremblay: speed=25000000
 > [7.000700] [sd_avail/INFO] Task 't4' start time: 6.000700, finish time: 7.000700
\ No newline at end of file
index 6b6eb66..d7de480 100644 (file)
@@ -5,63 +5,63 @@ p Simple test of simdag
 $ $SG_TEST_EXENV ./sd_seq_access ${srcdir:=.}/2clusters.xml
 > [0.000000] [surf_host/INFO] Switching to the L07 model to handle parallel tasks.
 > [0.000000] [sd_workstation/INFO] Displaying workstation C2-05
-> [0.000000] [sd_workstation/INFO]   - power: 5000000000
-> [0.000000] [sd_workstation/INFO]   - available power: 1.00
+> [0.000000] [sd_workstation/INFO]   - speed: 5000000000
+> [0.000000] [sd_workstation/INFO]   - available speed: 1.00
 > [0.000000] [sd_workstation/INFO]   - access mode: Space shared
 > [0.000000] [sd_seq_access/INFO]  Change access mode of C2-05 to sequential
 > [0.000000] [sd_workstation/INFO] Displaying workstation C2-06
-> [0.000000] [sd_workstation/INFO]   - power: 5000000000
-> [0.000000] [sd_workstation/INFO]   - available power: 1.00
+> [0.000000] [sd_workstation/INFO]   - speed: 5000000000
+> [0.000000] [sd_workstation/INFO]   - available speed: 1.00
 > [0.000000] [sd_workstation/INFO]   - access mode: Space shared
 > [0.000000] [sd_seq_access/INFO]  Change access mode of C2-06 to sequential
 > [0.000000] [sd_seq_access/INFO]  Change access mode of C2-06 to shared
 > [0.000000] [sd_seq_access/INFO]  Simulation was suspended, check workstation states
 > [0.000000] [sd_workstation/INFO] Displaying workstation C2-05
-> [0.000000] [sd_workstation/INFO]   - power: 5000000000
-> [0.000000] [sd_workstation/INFO]   - available power: 1.00
+> [0.000000] [sd_workstation/INFO]   - speed: 5000000000
+> [0.000000] [sd_workstation/INFO]   - available speed: 1.00
 > [0.000000] [sd_workstation/INFO]   - access mode: Exclusive
 > [0.000000] [sd_workstation/INFO]     current running task: Task A
 > [0.000000] [sd_workstation/INFO] Displaying workstation C2-06
-> [0.000000] [sd_workstation/INFO]   - power: 5000000000
-> [0.000000] [sd_workstation/INFO]   - available power: 1.00
+> [0.000000] [sd_workstation/INFO]   - speed: 5000000000
+> [0.000000] [sd_workstation/INFO]   - available speed: 1.00
 > [0.000000] [sd_workstation/INFO]   - access mode: Space shared
 > [4.000000] [sd_seq_access/INFO]  Simulation was suspended, check workstation states
 > [4.000000] [sd_workstation/INFO] Displaying workstation C2-05
-> [4.000000] [sd_workstation/INFO]   - power: 5000000000
-> [4.000000] [sd_workstation/INFO]   - available power: 1.00
+> [4.000000] [sd_workstation/INFO]   - speed: 5000000000
+> [4.000000] [sd_workstation/INFO]   - available speed: 1.00
 > [4.000000] [sd_workstation/INFO]   - access mode: Exclusive
 > [4.000000] [sd_workstation/INFO]     current running task: Task B
 > [4.000000] [sd_workstation/INFO] Displaying workstation C2-06
-> [4.000000] [sd_workstation/INFO]   - power: 5000000000
-> [4.000000] [sd_workstation/INFO]   - available power: 1.00
+> [4.000000] [sd_workstation/INFO]   - speed: 5000000000
+> [4.000000] [sd_workstation/INFO]   - available speed: 1.00
 > [4.000000] [sd_workstation/INFO]   - access mode: Space shared
 > [5.600300] [sd_seq_access/INFO]  Simulation was suspended, check workstation states
 > [5.600300] [sd_workstation/INFO] Displaying workstation C2-05
-> [5.600300] [sd_workstation/INFO]   - power: 5000000000
-> [5.600300] [sd_workstation/INFO]   - available power: 1.00
+> [5.600300] [sd_workstation/INFO]   - speed: 5000000000
+> [5.600300] [sd_workstation/INFO]   - available speed: 1.00
 > [5.600300] [sd_workstation/INFO]   - access mode: Exclusive
 > [5.600300] [sd_workstation/INFO]     no task running
 > [5.600300] [sd_workstation/INFO] Displaying workstation C2-06
-> [5.600300] [sd_workstation/INFO]   - power: 5000000000
-> [5.600300] [sd_workstation/INFO]   - available power: 1.00
+> [5.600300] [sd_workstation/INFO]   - speed: 5000000000
+> [5.600300] [sd_workstation/INFO]   - available speed: 1.00
 > [5.600300] [sd_workstation/INFO]   - access mode: Space shared
 > [9.600300] [sd_seq_access/INFO]  Simulation was suspended, check workstation states
 > [9.600300] [sd_workstation/INFO] Displaying workstation C2-05
-> [9.600300] [sd_workstation/INFO]   - power: 5000000000
-> [9.600300] [sd_workstation/INFO]   - available power: 1.00
+> [9.600300] [sd_workstation/INFO]   - speed: 5000000000
+> [9.600300] [sd_workstation/INFO]   - available speed: 1.00
 > [9.600300] [sd_workstation/INFO]   - access mode: Exclusive
 > [9.600300] [sd_workstation/INFO]     no task running
 > [9.600300] [sd_workstation/INFO] Displaying workstation C2-06
-> [9.600300] [sd_workstation/INFO]   - power: 5000000000
-> [9.600300] [sd_workstation/INFO]   - available power: 1.00
+> [9.600300] [sd_workstation/INFO]   - speed: 5000000000
+> [9.600300] [sd_workstation/INFO]   - available speed: 1.00
 > [9.600300] [sd_workstation/INFO]   - access mode: Space shared
 > [22.000000] [sd_seq_access/INFO]  Simulation was suspended, check workstation states
 > [22.000000] [sd_workstation/INFO] Displaying workstation C2-05
-> [22.000000] [sd_workstation/INFO]   - power: 5000000000
-> [22.000000] [sd_workstation/INFO]   - available power: 1.00
+> [22.000000] [sd_workstation/INFO]   - speed: 5000000000
+> [22.000000] [sd_workstation/INFO]   - available speed: 1.00
 > [22.000000] [sd_workstation/INFO]   - access mode: Exclusive
 > [22.000000] [sd_workstation/INFO]     no task running
 > [22.000000] [sd_workstation/INFO] Displaying workstation C2-06
-> [22.000000] [sd_workstation/INFO]   - power: 5000000000
-> [22.000000] [sd_workstation/INFO]   - available power: 1.00
+> [22.000000] [sd_workstation/INFO]   - speed: 5000000000
+> [22.000000] [sd_workstation/INFO]   - available speed: 1.00
 > [22.000000] [sd_workstation/INFO]   - access mode: Space shared
index c6cab06..0b4e263 100644 (file)
@@ -67,7 +67,7 @@ typedef struct SD_task *SD_task_t;
     @see SD_task_management */
 typedef enum {
   SD_NOT_SCHEDULED = 0,      /**< @brief Initial state (not valid for SD_watch and SD_unwatch). */
-  SD_SCHEDULABLE = 0x0001,               /**< @brief A task becomes SD_SCHEDULABLE as soon as its dependencies are satisfied */
+  SD_SCHEDULABLE = 0x0001,   /**< @brief A task becomes SD_SCHEDULABLE as soon as its dependencies are satisfied */
   SD_SCHEDULED = 0x0002,     /**< @brief A task becomes SD_SCHEDULED when you call function
                                   SD_task_schedule. SD_simulate will execute it when it becomes SD_RUNNABLE. */
   SD_RUNNABLE = 0x0004,      /**< @brief A scheduled task becomes runnable is SD_simulate as soon as its dependencies are satisfied. */
@@ -112,42 +112,7 @@ typedef xbt_dictelm_t SD_storage_t;
  *  @{
  */
 XBT_PUBLIC(const SD_link_t *) SD_link_get_list(void);
-/** @brief Returns the number of links in the whole platform */
-static inline int SD_link_get_number(void) {
-  return sg_link_count();
-}
 
-/** @brief Returns the user data of a link */
-static inline void *SD_link_get_data(SD_link_t link) {
-  return sg_link_data(link);
-}
-
-/** @brief Sets the user data of a link
- *
- * The new data can be \c NULL. The old data should have been freed first
- * if it was not \c NULL.
- */
-static inline void SD_link_set_data(SD_link_t link, void *data) {
-       sg_link_data_set(link, data);
-}
-/** @brief Returns the name of a link  */
-static inline const char *SD_link_get_name(SD_link_t link) {
-  return sg_link_name(link);
-}
-/** @brief Returns the current bandwidth of a link (in bytes per second) */
-static inline double SD_link_get_current_bandwidth(SD_link_t link) {
-  return sg_link_bandwidth(link);
-}
-/** @brief Returns the current latency of a link (in seconds) */
-static inline double SD_link_get_current_latency(SD_link_t link){
-  return sg_link_latency(link);
-}
-/** @brief Returns the sharing policy of this workstation.
- *  @return true if the link is shared, and false if it's a fatpipe
- */
-static inline int SD_link_is_shared(SD_link_t link) {
-  return sg_link_is_shared(link);
-}
 /** @} */
 
 /************************** Workstation handling ****************************/
@@ -168,7 +133,7 @@ static inline int SD_link_is_shared(SD_link_t link) {
  */
 XBT_PUBLIC(SD_workstation_t) SD_workstation_get_by_name(const char *name);
 XBT_PUBLIC(const SD_workstation_t *) SD_workstation_get_list(void);
-XBT_PUBLIC(int) SD_workstation_get_number(void);
+XBT_PUBLIC(int) SD_workstation_get_count(void);
 XBT_PUBLIC(void) SD_workstation_set_data(SD_workstation_t workstation,
                                          void *data);
 XBT_PUBLIC(void *) SD_workstation_get_data(SD_workstation_t workstation);
@@ -186,8 +151,8 @@ XBT_PUBLIC(const SD_link_t *) SD_route_get_list(SD_workstation_t src,
                                                 SD_workstation_t dst);
 XBT_PUBLIC(int) SD_route_get_size(SD_workstation_t src,
                                   SD_workstation_t dst);
-XBT_PUBLIC(double) SD_workstation_get_power(SD_workstation_t workstation);
-XBT_PUBLIC(double) SD_workstation_get_available_power(SD_workstation_t
+XBT_PUBLIC(double) SD_workstation_get_speed(SD_workstation_t workstation);
+XBT_PUBLIC(double) SD_workstation_get_available_speed(SD_workstation_t
                                                       workstation);
 XBT_PUBLIC(int) SD_workstation_get_cores(SD_workstation_t workstation);
 XBT_PUBLIC(e_SD_workstation_access_mode_t)
@@ -199,9 +164,9 @@ XBT_PUBLIC(void) SD_workstation_set_access_mode(SD_workstation_t
 
 XBT_PUBLIC(double) SD_workstation_get_computation_time(SD_workstation_t workstation,
                                                        double flops_amount);
-XBT_PUBLIC(double) SD_route_get_current_latency(SD_workstation_t src,
+XBT_PUBLIC(double) SD_route_get_latency(SD_workstation_t src,
                                                 SD_workstation_t dst);
-XBT_PUBLIC(double) SD_route_get_current_bandwidth(SD_workstation_t src,
+XBT_PUBLIC(double) SD_route_get_bandwidth(SD_workstation_t src,
                                                   SD_workstation_t dst);
 XBT_PUBLIC(double) SD_route_get_communication_time(SD_workstation_t src,
                                                    SD_workstation_t dst,
index a3479b3..b8300a4 100644 (file)
@@ -359,3 +359,10 @@ void java_main_jprocess(jobject jprocess)
 }
 }
 
+
+
+#include "simgrid/plugins/energy.h"
+JNIEXPORT void JNICALL
+Java_org_simgrid_msg_Msg_energyInit(void) {
+  sg_energy_plugin_init();
+}
index bc8ad54..75ad3db 100644 (file)
@@ -40,6 +40,9 @@ JNIEXPORT void JNICALL
 JNIEXPORT void JNICALL
 Java_org_simgrid_msg_Msg_init(JNIEnv * env, jclass cls, jobjectArray jargs);
 
+JNIEXPORT void JNICALL
+Java_org_simgrid_msg_Msg_energyInit(void);
+
 JNIEXPORT void JNICALL Java_org_simgrid_msg_Msg_debug(JNIEnv *, jclass,
                                                  jstring);
 
index accb02e..55cc4a1 100644 (file)
@@ -381,3 +381,17 @@ Java_org_simgrid_msg_Host_setAsyncMailbox(JNIEnv * env, jclass cls_arg, jobject
   env->ReleaseStringUTFChars((jstring) jname, name);
 
 }
+
+#include "simgrid/plugins/energy.h"
+JNIEXPORT jdouble JNICALL Java_org_simgrid_msg_Host_getConsumedEnergy (JNIEnv *env, jobject jhost) {
+  msg_host_t host = jhost_get_native(env, jhost);
+
+  if (!host) {
+    jxbt_throw_notbound(env, "host", jhost);
+    return 0;
+  }
+
+  return MSG_host_get_consumed_energy(host);
+
+}
+
index b3d8b81..5a342f2 100644 (file)
@@ -214,6 +214,8 @@ Java_org_simgrid_msg_Host_all(JNIEnv *, jclass);
 JNIEXPORT void JNICALL 
 Java_org_simgrid_msg_Host_setAsyncMailbox(JNIEnv * env, jclass cls_arg, jobject jname);
 
+JNIEXPORT jdouble JNICALL Java_org_simgrid_msg_Host_getConsumedEnergy
+    (JNIEnv *, jobject);
 
 
 #endif                          /*!MSG_JHOST_H */
index 6738525..aa058cf 100644 (file)
@@ -206,6 +206,8 @@ public class Host {
         */
        public native String[] getAttachedStorage();
 
+       /** Returns the amount of Joules consumed by that host so far */
+       public native double getConsumedEnergy();
 
        /**
         * Class initializer, to initialize various JNI stuff
index b324db8..263a22f 100644 (file)
@@ -57,6 +57,9 @@ public final class Msg {
         * @param args            The arguments of the command line of the simulation.
         */
        public final static native void init(String[]args);
+       
+       /** Tell the kernel that you want to use the energy plugin */
+       public final static native void energyInit();
 
        /**
         * Run the MSG simulation.
index bd067f6..0eb1691 100644 (file)
@@ -187,7 +187,7 @@ void SD_create_environment(const char *platform_file)
 
 
   XBT_DEBUG("Workstation number: %d, link number: %d",
-         SD_workstation_get_number(), SD_link_get_number());
+         SD_workstation_get_count(), sg_link_count());
 #ifdef HAVE_JEDULE
   jedule_setup_platform();
 #endif
index d40c185..38517ff 100644 (file)
@@ -83,7 +83,7 @@ SD_workstation_t SD_workstation_get_by_name(const char *name)
  * \see SD_workstation_get_number()
  */
 const SD_workstation_t *SD_workstation_get_list(void) {
-  xbt_assert(SD_workstation_get_number() > 0, "There is no workstation!");
+  xbt_assert(SD_workstation_get_count() > 0, "There is no workstation!");
 
   if (sd_global->workstation_list == NULL)     /* this is the first time the function is called */
     sd_global->workstation_list = (SD_workstation_t*)xbt_dynar_to_array(sg_hosts_as_dynar());
@@ -97,7 +97,7 @@ const SD_workstation_t *SD_workstation_get_list(void) {
  * \return the number of existing workstations
  * \see SD_workstation_get_list()
  */
-int SD_workstation_get_number(void)
+int SD_workstation_get_count(void)
 {
   return sg_host_count();
 }
@@ -175,8 +175,8 @@ void SD_workstation_dump(SD_workstation_t ws)
   SD_task_t task = NULL;
   
   XBT_INFO("Displaying workstation %s", SD_workstation_get_name(ws));
-  XBT_INFO("  - power: %.0f", SD_workstation_get_power(ws));
-  XBT_INFO("  - available power: %.2f", SD_workstation_get_available_power(ws));
+  XBT_INFO("  - speed: %.0f", SD_workstation_get_speed(ws));
+  XBT_INFO("  - available speed: %.2f", SD_workstation_get_available_speed(ws));
   switch (sg_host_sd(ws)->access_mode){
   case SD_WORKSTATION_SHARED_ACCESS:
       XBT_INFO("  - access mode: Space shared");
@@ -222,7 +222,7 @@ const SD_link_t *SD_route_get_list(SD_workstation_t src,
 
   if (sd_global->recyclable_route == NULL) {
     /* first run */
-    sd_global->recyclable_route = xbt_new(SD_link_t, SD_link_get_number());
+    sd_global->recyclable_route = xbt_new(SD_link_t, sg_link_count());
   }
 
   surf_route = surf_host_model_get_route((surf_host_model_t)surf_host_model, src, dst);
@@ -248,13 +248,13 @@ int SD_route_get_size(SD_workstation_t src, SD_workstation_t dst)
 }
 
 /**
- * \brief Returns the total power of a workstation
+ * \brief Returns the total speed of a workstation
  *
  * \param workstation a workstation
- * \return the total power of this workstation
- * \see SD_workstation_get_available_power()
+ * \return the total speed of this workstation
+ * \see SD_workstation_get_available_speed()
  */
-double SD_workstation_get_power(SD_workstation_t workstation)
+double SD_workstation_get_speed(SD_workstation_t workstation)
 {
   return workstation->speed();
 }
@@ -269,13 +269,13 @@ int SD_workstation_get_cores(SD_workstation_t workstation) {
 }
 
 /**
- * \brief Returns the proportion of available power in a workstation
+ * \brief Returns the proportion of available speed in a workstation
  *
  * \param workstation a workstation
- * \return the proportion of power currently available in this workstation (normally a number between 0 and 1)
- * \see SD_workstation_get_power()
+ * \return the proportion of speed currently available in this workstation (normally a number between 0 and 1)
+ * \see SD_workstation_get_speed()
  */
-double SD_workstation_get_available_power(SD_workstation_t workstation)
+double SD_workstation_get_available_speed(SD_workstation_t workstation)
 {
   return surf_host_get_available_speed(workstation);
 }
@@ -292,7 +292,7 @@ double SD_workstation_get_computation_time(SD_workstation_t workstation,
 {
   xbt_assert(flops_amount >= 0,
               "flops_amount must be greater than or equal to zero");
-  return flops_amount / SD_workstation_get_power(workstation);
+  return flops_amount / SD_workstation_get_speed(workstation);
 }
 
 /**
@@ -301,12 +301,12 @@ double SD_workstation_get_computation_time(SD_workstation_t workstation,
  * \param src the first workstation
  * \param dst the second workstation
  * \return the latency of the route between the two workstations (in seconds)
- * \see SD_route_get_current_bandwidth()
+ * \see SD_route_get_bandwidth()
  */
-double SD_route_get_current_latency(SD_workstation_t src, SD_workstation_t dst)
+double SD_route_get_latency(SD_workstation_t src, SD_workstation_t dst)
 {
   xbt_dynar_t route = NULL;
-  double latency;
+  double latency = 0;
 
   routing_platf->getRouteAndLatency(src->pimpl_netcard, dst->pimpl_netcard,
                                     &route, &latency);
@@ -315,16 +315,16 @@ double SD_route_get_current_latency(SD_workstation_t src, SD_workstation_t dst)
 }
 
 /**
- * \brief Returns the bandwidth of the route between two workstations, i.e. the minimum link bandwidth of all
- * between the workstations.
+ * \brief Returns the bandwidth of the route between two workstations,
+ * i.e. the minimum link bandwidth of all between the workstations.
  *
  * \param src the first workstation
  * \param dst the second workstation
- * \return the bandwidth of the route between the two workstations (in bytes/second)
- * \see SD_route_get_current_latency()
+ * \return the bandwidth of the route between the two workstations
+ * (in bytes/second)
+ * \see SD_route_get_latency()
  */
-double SD_route_get_current_bandwidth(SD_workstation_t src,
-                                      SD_workstation_t dst)
+double SD_route_get_bandwidth(SD_workstation_t src, SD_workstation_t dst)
 {
 
   const SD_link_t *links;
@@ -338,7 +338,7 @@ double SD_route_get_current_bandwidth(SD_workstation_t src,
   min_bandwidth = -1.0;
 
   for (i = 0; i < nb_links; i++) {
-    bandwidth = SD_link_get_current_bandwidth(links[i]);
+    bandwidth = sg_link_bandwidth(links[i]);
     if (bandwidth < min_bandwidth || min_bandwidth == -1.0)
       min_bandwidth = bandwidth;
   }
@@ -369,7 +369,7 @@ double SD_route_get_communication_time(SD_workstation_t src,
   xbt_dynar_t route = NULL;
   int nb_links;
   double bandwidth, min_bandwidth;
-  double latency;
+  double latency = 0;
   int i;
 
   xbt_assert(bytes_amount >= 0, "bytes_amount must be greater than or equal to zero");
@@ -386,7 +386,7 @@ double SD_route_get_communication_time(SD_workstation_t src,
   min_bandwidth = -1.0;
 
   for (i = 0; i < nb_links; i++) {
-    bandwidth = SD_link_get_current_bandwidth(links[i]);
+    bandwidth = sg_link_bandwidth(links[i]);
     if (bandwidth < min_bandwidth || min_bandwidth == -1.0)
       min_bandwidth = bandwidth;
   }
index d4fd48f..02a7020 100644 (file)
@@ -69,12 +69,11 @@ static void scheduleDAX(xbt_dynar_t dax)
   SD_task_t task;
 
   const SD_workstation_t *ws_list = SD_workstation_get_list();
-  int totalHosts = SD_workstation_get_number();
+  int totalHosts = SD_workstation_get_count();
   qsort((void *) ws_list, totalHosts, sizeof(SD_workstation_t),
         name_compare_hosts);
 
-  int count = SD_workstation_get_number();
-  //fprintf(stdout, "No. workstations: %d, %d\n", count, (dax != NULL));
+  //fprintf(stdout, "No. workstations: %d, %d\n", totalHosts, (dax != NULL));
 
   xbt_dynar_foreach(dax, cursor, task) {
     if (SD_task_get_kind(task) == SD_TASK_COMP_SEQ) {
@@ -85,8 +84,8 @@ static void scheduleDAX(xbt_dynar_t dax)
         SD_task_schedulel(task, 1, ws_list[0]);
       } else {
         fprintf(stdout, "Scheduling %s to node: %s\n", SD_task_get_name(task),
-                SD_workstation_get_name(ws_list[(cursor) % count]));
-        SD_task_schedulel(task, 1, ws_list[(cursor) % count]);
+                SD_workstation_get_name(ws_list[(cursor) % totalHosts]));
+        SD_task_schedulel(task, 1, ws_list[(cursor) % totalHosts]);
       }
     }
   }
index 7bc2794..5eb24b3 100644 (file)
@@ -31,7 +31,7 @@ int main(int argc, char **argv)
   SD_create_environment(argv[1]);
 
   workstations = SD_workstation_get_list();
-  list_size = SD_workstation_get_number();
+  list_size = SD_workstation_get_count();
 
   /* Random number initialization */
   srand( (int) (xbt_os_time()*1000) );
index 33ea0cc..0a96873 100644 (file)
@@ -29,7 +29,7 @@ int main(int argc, char **argv)
   /* Display the result and exit after cleanup */
   printf( "%f\n", xbt_os_timer_elapsed(timer) );
     printf("Workstation number: %d, link number: %d\n",
-           SD_workstation_get_number(), SD_link_get_number());
+           SD_workstation_get_count(), sg_link_count());
   if(argv[2]){
     printf("Wait for %ss\n",argv[2]);
     sleep(atoi(argv[2]));
index 04a3566..67e2b42 100644 (file)
@@ -13,8 +13,8 @@ XBT_LOG_NEW_DEFAULT_SUBCATEGORY(basic_link_test, sd,
                                 "SimDag test basic_link_test");
 
 static int cmp_link(const void*a, const void*b) {
-       const char *nameA = SD_link_get_name(*(SD_link_t*)a);
-       const char *nameB = SD_link_get_name(*(SD_link_t*)b);
+       const char *nameA = sg_link_name(*(SD_link_t*)a);
+       const char *nameB = sg_link_name(*(SD_link_t*)b);
   return strcmp( nameA, nameB );
 }
 
@@ -30,17 +30,17 @@ int main(int argc, char **argv)
   /* creation of the environment */
   SD_create_environment(argv[1]);
   links = SD_link_get_list();
-  int count = SD_link_get_number();
+  int count = sg_link_count();
   XBT_INFO("Link count: %d", count);
   qsort((void *)links, count, sizeof(SD_link_t), cmp_link);
    
-  for(i=0; i<SD_link_get_number();i++){
+  for(i=0; i < count; i++){
     XBT_INFO("%s: latency = %.5f, bandwidth = %f",
-             SD_link_get_name(links[i]),
-             SD_link_get_current_latency(links[i]),
-             SD_link_get_current_bandwidth(links[i]));
-    SD_link_set_data(links[i], (void*) user_data);
-    if(strcmp(user_data, (const char*)SD_link_get_data(links[i]))){
+             sg_link_name(links[i]),
+             sg_link_latency(links[i]),
+             sg_link_bandwidth(links[i]));
+    sg_link_data_set(links[i], (void*) user_data);
+    if(strcmp(user_data, (const char*)sg_link_data(links[i]))){
       XBT_ERROR("User data was corrupted.");
     }
   }
index 76bd393..8998c09 100644 (file)
@@ -32,7 +32,7 @@ int main(int argc, char **argv)
   /* creation of the environment */
   SD_create_environment(argv[1]);
   printf("Workstation number: %d, link number: %d\n",
-         SD_workstation_get_number(), SD_link_get_number());
+         SD_workstation_get_count(), sg_link_count());
 
   if (argc >= 3) {
     if (!strcmp(argv[2], "ONE_LINK")) {
@@ -48,17 +48,17 @@ int main(int argc, char **argv)
       printf("Route size %d\n", route_size);
       for (i = 0; i < route_size; i++) {
       printf("  Link %s: latency = %f, bandwidth = %f\n",
-           SD_link_get_name(route[i]),
-           SD_link_get_current_latency(route[i]),
-           SD_link_get_current_bandwidth(route[i]));
+           sg_link_name(route[i]),
+           sg_link_latency(route[i]),
+           sg_link_bandwidth(route[i]));
       }
       printf("Route latency = %f, route bandwidth = %f\n",
-         SD_route_get_current_latency(w1, w2),
-         SD_route_get_current_bandwidth(w1, w2));
+         SD_route_get_latency(w1, w2),
+         SD_route_get_bandwidth(w1, w2));
     }
     if (!strcmp(argv[2], "FULL_LINK")) {
       workstations = SD_workstation_get_list();
-      list_size = SD_workstation_get_number();
+      list_size = SD_workstation_get_count();
       for (i = 0; i < list_size; i++) {
       w1 = workstations[i];
       name1 = SD_workstation_get_name(w1);
@@ -71,13 +71,13 @@ int main(int argc, char **argv)
         printf("  Route size %d\n", route_size);
         for (k = 0; k < route_size; k++) {
         printf("  Link %s: latency = %f, bandwidth = %f\n",
-             SD_link_get_name(route[k]),
-             SD_link_get_current_latency(route[k]),
-             SD_link_get_current_bandwidth(route[k]));
+             sg_link_name(route[k]),
+             sg_link_latency(route[k]),
+             sg_link_bandwidth(route[k]));
         }
         printf("  Route latency = %f, route bandwidth = %f\n",
-           SD_route_get_current_latency(w1, w2),
-           SD_route_get_current_bandwidth(w1, w2));
+           SD_route_get_latency(w1, w2),
+           SD_route_get_bandwidth(w1, w2));
       }
       }
     }
index 1adbc2c..408876f 100644 (file)
@@ -41,8 +41,8 @@ static int name_compare_hosts(const void *n1, const void *n2)
 static int name_compare_links(const void *n1, const void *n2)
 {
   char name1[80], name2[80];
-  strcpy(name1, SD_link_get_name(*((SD_link_t *) n1)));
-  strcpy(name2, SD_link_get_name(*((SD_link_t *) n2)));
+  strcpy(name1, sg_link_name(*((SD_link_t *) n1)));
+  strcpy(name2, sg_link_name(*((SD_link_t *) n2)));
 
   return strcmp(name1, name2);
 }
@@ -128,7 +128,8 @@ int main(int argc, char **argv)
 
   if (timings) {
     XBT_INFO("Parsing time: %fs (%d hosts, %d links)",
-          xbt_os_timer_elapsed(parse_time),SD_workstation_get_number(),SD_link_get_number());
+          xbt_os_timer_elapsed(parse_time),SD_workstation_get_count(),
+          sg_link_count());
   } else {
     printf("<?xml version='1.0'?>\n");
     printf("<!DOCTYPE platform SYSTEM \"http://simgrid.gforge.inria.fr/simgrid.dtd\">\n");
@@ -137,7 +138,7 @@ int main(int argc, char **argv)
       printf("<AS id=\"AS0\" routing=\"Full\">\n");
 
     // Hosts
-    totalHosts = SD_workstation_get_number();
+    totalHosts = SD_workstation_get_count();
     hosts = SD_workstation_get_list();
     qsort((void *) hosts, totalHosts, sizeof(SD_workstation_t),
         name_compare_hosts);
@@ -145,7 +146,7 @@ int main(int argc, char **argv)
     for (i = 0; i < totalHosts; i++) {
       printf("  <host id=\"%s\" power=\"%.0f\"",
           SD_workstation_get_name(hosts[i]),
-          SD_workstation_get_power(hosts[i]));
+          SD_workstation_get_speed(hosts[i]));
       props = SD_workstation_get_properties(hosts[i]);
       if (SD_workstation_get_cores(hosts[i])>1) {
         printf(" core=\"%d\"", SD_workstation_get_cores(hosts[i]));
@@ -171,7 +172,7 @@ int main(int argc, char **argv)
     }
 
     // Links
-    totalLinks = SD_link_get_number();
+    totalLinks = sg_link_count();
     links = SD_link_get_list();
 
     qsort((void *) links, totalLinks, sizeof(SD_link_t), name_compare_links);
@@ -180,10 +181,10 @@ int main(int argc, char **argv)
       printf("  <link id=\"");
 
       printf("%s\" bandwidth=\"%.0f\" latency=\"%.9f\"",
-          SD_link_get_name(links[i]),
-          SD_link_get_current_bandwidth(links[i]),
-          SD_link_get_current_latency(links[i]));
-      if (SD_link_is_shared(links[i])) {
+          sg_link_name(links[i]),
+          sg_link_bandwidth(links[i]),
+          sg_link_latency(links[i]));
+      if (sg_link_is_shared(links[i])) {
         printf("/>\n");
       } else {
         printf(" sharing_policy=\"FATPIPE\"/>\n");
index 9d87429..5014b76 100644 (file)
@@ -30,7 +30,7 @@ int main(int argc, char **argv)
   size = xbt_dict_length(host_list) + xbt_lib_length(as_router_lib);
 
   printf("Workstation number: %d, link number: %d, elmts number: %d\n",
-         SD_workstation_get_number(), SD_link_get_number(), size);
+         SD_workstation_get_count(), sg_link_count(), size);
 
   xbt_dict_foreach(host_list, cursor, key, data) {
     printf("   - Seen: \"%s\" is type : %d\n", key,
index 19b8395..813105e 100644 (file)
@@ -9,6 +9,7 @@ add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/java/chord)
 add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/java/cloud)
 add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/java/cloud/migration)
 add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/java/commTime)
+add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/java/energy)
 add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/java/io)
 add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/java/kademlia)
 add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/java/master_slave_bypass)
index 219e8a3..c06f091 100644 (file)
@@ -522,6 +522,7 @@ IF(NOT enable_memcheck)
     ADD_TESH(java-cloud                          --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/java --setenv classpath=${TESH_CLASSPATH} --cd ${CMAKE_BINARY_DIR}/examples/java ${CMAKE_HOME_DIRECTORY}/examples/java/cloud/cloud.tesh)
     ADD_TESH(java-cloud-migration                --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/java --setenv classpath=${TESH_CLASSPATH} --cd ${CMAKE_BINARY_DIR}/examples/java ${CMAKE_HOME_DIRECTORY}/examples/java/cloud/migration/migration.tesh)
     ADD_TESH(java-commTime                       --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/java --setenv classpath=${TESH_CLASSPATH} --cd ${CMAKE_BINARY_DIR}/examples/java ${CMAKE_HOME_DIRECTORY}/examples/java/commTime/commtime.tesh)
+    ADD_TESH(java-energy                         --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/java --setenv classpath=${TESH_CLASSPATH} --cd ${CMAKE_BINARY_DIR}/examples/java ${CMAKE_HOME_DIRECTORY}/examples/java/energy/energy.tesh)
     ADD_TESH(java-kademlia                       --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/java --setenv classpath=${TESH_CLASSPATH} --cd ${CMAKE_BINARY_DIR}/examples/java ${CMAKE_HOME_DIRECTORY}/examples/java/kademlia/kademlia.tesh)
     ADD_TESH(java-kill                           --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/java --setenv classpath=${TESH_CLASSPATH} --cd ${CMAKE_BINARY_DIR}/examples/java ${CMAKE_HOME_DIRECTORY}/examples/java/master_slave_kill/kill.tesh)
     ADD_TESH(java-masterslave                    --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/java --setenv classpath=${TESH_CLASSPATH} --cd ${CMAKE_BINARY_DIR}/examples/java ${CMAKE_HOME_DIRECTORY}/examples/java/masterslave/masterslave.tesh)