From: Martin Quinson Date: Tue, 19 Jan 2016 15:08:01 +0000 (+0100) Subject: Merge branch 'master' of github.com:mquinson/simgrid X-Git-Tag: v3_13~1201 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/9dd79081a792879245787203a8407c7bff23726a?hp=7acf5dc4f0e82e30634e875e783c0af3815770ba Merge branch 'master' of github.com:mquinson/simgrid --- diff --git a/.gitignore b/.gitignore index 3e7397f7fe..626c4c4f40 100644 --- a/.gitignore +++ b/.gitignore @@ -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 index 0000000000..f881650841 --- /dev/null +++ b/examples/java/energy/CMakeLists.txt @@ -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 index 0000000000..8f70b7b13e --- /dev/null +++ b/examples/java/energy/Energy.java @@ -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 index 0000000000..50b6ea8cbf --- /dev/null +++ b/examples/java/energy/EnergyConsumer.java @@ -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 index 0000000000..9bd1cd59fa --- /dev/null +++ b/examples/java/energy/energy.tesh @@ -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 + diff --git a/examples/simdag/dax/dax_test.c b/examples/simdag/dax/dax_test.c index 6bc8f25538..92b035d1e6 100644 --- a/examples/simdag/dax/dax_test.c +++ b/examples/simdag/dax/dax_test.c @@ -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")) diff --git a/examples/simdag/dot/dot_test.c b/examples/simdag/dot/dot_test.c index f263870764..382c9217f1 100644 --- a/examples/simdag/dot/dot_test.c +++ b/examples/simdag/dot/dot_test.c @@ -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")) diff --git a/examples/simdag/dot/ptg_test.c b/examples/simdag/dot/ptg_test.c index ab2fc095c5..623e461755 100644 --- a/examples/simdag/dot/ptg_test.c +++ b/examples/simdag/dot/ptg_test.c @@ -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); diff --git a/examples/simdag/goal/goal_test.c b/examples/simdag/goal/goal_test.c index bba9ac7634..1b2e514d9b 100644 --- a/examples/simdag/goal/goal_test.c +++ b/examples/simdag/goal/goal_test.c @@ -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; diff --git a/examples/simdag/io/sd_io.c b/examples/simdag/io/sd_io.c index c215a235b9..5dc9a57578 100644 --- a/examples/simdag/io/sd_io.c +++ b/examples/simdag/io/sd_io.c @@ -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 [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: diff --git a/examples/simdag/scheduling/minmin_test.c b/examples/simdag/scheduling/minmin_test.c index 5f1c3a6867..2d60522fe1 100644 --- a/examples/simdag/scheduling/minmin_test.c +++ b/examples/simdag/scheduling/minmin_test.c @@ -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++) diff --git a/examples/simdag/sd_avail.c b/examples/simdag/sd_avail.c index 231a78064e..94c5809adb 100644 --- a/examples/simdag/sd_avail.c +++ b/examples/simdag/sd_avail.c @@ -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), diff --git a/examples/simdag/sd_test.c b/examples/simdag/sd_test.c index 0f4220f510..20f6c47390 100644 --- a/examples/simdag/sd_test.c +++ b/examples/simdag/sd_test.c @@ -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)); diff --git a/examples/simdag/sd_test2.c b/examples/simdag/sd_test2.c index aaa60fdfa1..0a9bf565c1 100644 --- a/examples/simdag/sd_test2.c +++ b/examples/simdag/sd_test2.c @@ -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 */ diff --git a/examples/simdag/test_simdag.tesh b/examples/simdag/test_simdag.tesh index 5da3a1bc8a..d81c7868bd 100644 --- a/examples/simdag/test_simdag.tesh +++ b/examples/simdag/test_simdag.tesh @@ -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 diff --git a/examples/simdag/test_simdag_avail.tesh b/examples/simdag/test_simdag_avail.tesh index 87134ead5b..c4591ba023 100644 --- a/examples/simdag/test_simdag_avail.tesh +++ b/examples/simdag/test_simdag_avail.tesh @@ -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 diff --git a/examples/simdag/test_simdag_seq_access.tesh b/examples/simdag/test_simdag_seq_access.tesh index 6b6eb66e08..d7de4803c6 100644 --- a/examples/simdag/test_simdag_seq_access.tesh +++ b/examples/simdag/test_simdag_seq_access.tesh @@ -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 diff --git a/include/simgrid/simdag.h b/include/simgrid/simdag.h index c6cab06997..0b4e263ef7 100644 --- a/include/simgrid/simdag.h +++ b/include/simgrid/simdag.h @@ -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, diff --git a/src/bindings/java/jmsg.cpp b/src/bindings/java/jmsg.cpp index a3479b3a53..b8300a4d5e 100644 --- a/src/bindings/java/jmsg.cpp +++ b/src/bindings/java/jmsg.cpp @@ -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(); +} diff --git a/src/bindings/java/jmsg.h b/src/bindings/java/jmsg.h index bc8ad54f2f..75ad3dbcae 100644 --- a/src/bindings/java/jmsg.h +++ b/src/bindings/java/jmsg.h @@ -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); diff --git a/src/bindings/java/jmsg_host.cpp b/src/bindings/java/jmsg_host.cpp index accb02e600..55cc4a1bb0 100644 --- a/src/bindings/java/jmsg_host.cpp +++ b/src/bindings/java/jmsg_host.cpp @@ -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); + +} + diff --git a/src/bindings/java/jmsg_host.h b/src/bindings/java/jmsg_host.h index b3d8b81ff9..5a342f2262 100644 --- a/src/bindings/java/jmsg_host.h +++ b/src/bindings/java/jmsg_host.h @@ -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 */ diff --git a/src/bindings/java/org/simgrid/msg/Host.java b/src/bindings/java/org/simgrid/msg/Host.java index 6738525bcb..aa058cfac4 100644 --- a/src/bindings/java/org/simgrid/msg/Host.java +++ b/src/bindings/java/org/simgrid/msg/Host.java @@ -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 diff --git a/src/bindings/java/org/simgrid/msg/Msg.java b/src/bindings/java/org/simgrid/msg/Msg.java index b324db8aa4..263a22fa3d 100644 --- a/src/bindings/java/org/simgrid/msg/Msg.java +++ b/src/bindings/java/org/simgrid/msg/Msg.java @@ -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. diff --git a/src/simdag/sd_global.cpp b/src/simdag/sd_global.cpp index bd067f6d65..0eb1691c54 100644 --- a/src/simdag/sd_global.cpp +++ b/src/simdag/sd_global.cpp @@ -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 diff --git a/src/simdag/sd_workstation.cpp b/src/simdag/sd_workstation.cpp index d40c185eb6..38517ff2ae 100644 --- a/src/simdag/sd_workstation.cpp +++ b/src/simdag/sd_workstation.cpp @@ -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; } diff --git a/teshsuite/simdag/availability/availability_test.c b/teshsuite/simdag/availability/availability_test.c index d4fd48f330..02a70204ea 100644 --- a/teshsuite/simdag/availability/availability_test.c +++ b/teshsuite/simdag/availability/availability_test.c @@ -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]); } } } diff --git a/teshsuite/simdag/platforms/Evaluate_get_route_time.c b/teshsuite/simdag/platforms/Evaluate_get_route_time.c index 7bc2794577..5eb24b367a 100644 --- a/teshsuite/simdag/platforms/Evaluate_get_route_time.c +++ b/teshsuite/simdag/platforms/Evaluate_get_route_time.c @@ -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) ); diff --git a/teshsuite/simdag/platforms/Evaluate_parse_time.c b/teshsuite/simdag/platforms/Evaluate_parse_time.c index 33ea0cc3a0..0a96873f33 100644 --- a/teshsuite/simdag/platforms/Evaluate_parse_time.c +++ b/teshsuite/simdag/platforms/Evaluate_parse_time.c @@ -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])); diff --git a/teshsuite/simdag/platforms/basic_link_test.c b/teshsuite/simdag/platforms/basic_link_test.c index 04a3566f6c..67e2b42387 100644 --- a/teshsuite/simdag/platforms/basic_link_test.c +++ b/teshsuite/simdag/platforms/basic_link_test.c @@ -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= 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)); } } } diff --git a/teshsuite/simdag/platforms/flatifier.cpp b/teshsuite/simdag/platforms/flatifier.cpp index 1adbc2cec8..408876fa67 100644 --- a/teshsuite/simdag/platforms/flatifier.cpp +++ b/teshsuite/simdag/platforms/flatifier.cpp @@ -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("\n"); printf("\n"); @@ -137,7 +138,7 @@ int main(int argc, char **argv) printf("\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(" 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(" \n"); } else { printf(" sharing_policy=\"FATPIPE\"/>\n"); diff --git a/teshsuite/simdag/platforms/is_router_test.c b/teshsuite/simdag/platforms/is_router_test.c index 9d87429944..5014b76599 100644 --- a/teshsuite/simdag/platforms/is_router_test.c +++ b/teshsuite/simdag/platforms/is_router_test.c @@ -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, diff --git a/tools/cmake/MakeExe.cmake b/tools/cmake/MakeExe.cmake index 19b83953bb..813105e2fe 100644 --- a/tools/cmake/MakeExe.cmake +++ b/tools/cmake/MakeExe.cmake @@ -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) diff --git a/tools/cmake/Tests.cmake b/tools/cmake/Tests.cmake index 219e8a32ec..c06f0919e8 100644 --- a/tools/cmake/Tests.cmake +++ b/tools/cmake/Tests.cmake @@ -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)