examples/java/cloud/energy/java_cloud_energy_compiled
examples/java/cloud/migration/java_cloud_migration_compiled
examples/java/commTime/java_commTime_compiled
-examples/java/energy/java_energy_compiled
+examples/java/energy/consumption/java_energy_consumption_compiled
examples/java/io/java_io_compiled
examples/java/process/kill/java_process_kill_compiled
examples/java/process/migration/java_process_migration_compiled
-set(dht_chord_sources ${CMAKE_CURRENT_SOURCE_DIR}/dht/chord/Main.java
- ${CMAKE_CURRENT_SOURCE_DIR}/dht/chord/ChordTask.java
- ${CMAKE_CURRENT_SOURCE_DIR}/dht/chord/Common.java
- ${CMAKE_CURRENT_SOURCE_DIR}/dht/chord/FindSuccessorAnswerTask.java
- ${CMAKE_CURRENT_SOURCE_DIR}/dht/chord/FindSuccessorTask.java
- ${CMAKE_CURRENT_SOURCE_DIR}/dht/chord/GetPredecessorAnswerTask.java
- ${CMAKE_CURRENT_SOURCE_DIR}/dht/chord/GetPredecessorTask.java
- ${CMAKE_CURRENT_SOURCE_DIR}/dht/chord/Node.java
- ${CMAKE_CURRENT_SOURCE_DIR}/dht/chord/NotifyTask.java)
-set(dht_kademlia_sources ${CMAKE_CURRENT_SOURCE_DIR}/dht/kademlia/Main.java
- ${CMAKE_CURRENT_SOURCE_DIR}/dht/kademlia/Answer.java
- ${CMAKE_CURRENT_SOURCE_DIR}/dht/kademlia/Bucket.java
- ${CMAKE_CURRENT_SOURCE_DIR}/dht/kademlia/Common.java
- ${CMAKE_CURRENT_SOURCE_DIR}/dht/kademlia/Contact.java
- ${CMAKE_CURRENT_SOURCE_DIR}/dht/kademlia/FindNodeAnswerTask.java
- ${CMAKE_CURRENT_SOURCE_DIR}/dht/kademlia/FindNodeTask.java
- ${CMAKE_CURRENT_SOURCE_DIR}/dht/kademlia/KademliaTask.java
- ${CMAKE_CURRENT_SOURCE_DIR}/dht/kademlia/Node.java
- ${CMAKE_CURRENT_SOURCE_DIR}/dht/kademlia/PingAnswerTask.java
- ${CMAKE_CURRENT_SOURCE_DIR}/dht/kademlia/PingTask.java
- ${CMAKE_CURRENT_SOURCE_DIR}/dht/kademlia/RoutingTable.java)
-set(process_kill_sources ${CMAKE_CURRENT_SOURCE_DIR}/process/kill/Main.java
- ${CMAKE_CURRENT_SOURCE_DIR}/process/kill/Killer.java
- ${CMAKE_CURRENT_SOURCE_DIR}/process/kill/Victim.java)
-set(process_migration_sources ${CMAKE_CURRENT_SOURCE_DIR}/process/migration/Main.java
- ${CMAKE_CURRENT_SOURCE_DIR}/process/migration/Emigrant.java
- ${CMAKE_CURRENT_SOURCE_DIR}/process/migration/Policeman.java)
-set(process_suspend_sources ${CMAKE_CURRENT_SOURCE_DIR}/process/suspend/Main.java
- ${CMAKE_CURRENT_SOURCE_DIR}/process/suspend/DreamMaster.java
- ${CMAKE_CURRENT_SOURCE_DIR}/process/suspend/LazyGuy.java)
+set(dht_chord_sources ${CMAKE_CURRENT_SOURCE_DIR}/dht/chord/Main.java
+ ${CMAKE_CURRENT_SOURCE_DIR}/dht/chord/ChordTask.java
+ ${CMAKE_CURRENT_SOURCE_DIR}/dht/chord/Common.java
+ ${CMAKE_CURRENT_SOURCE_DIR}/dht/chord/FindSuccessorAnswerTask.java
+ ${CMAKE_CURRENT_SOURCE_DIR}/dht/chord/FindSuccessorTask.java
+ ${CMAKE_CURRENT_SOURCE_DIR}/dht/chord/GetPredecessorAnswerTask.java
+ ${CMAKE_CURRENT_SOURCE_DIR}/dht/chord/GetPredecessorTask.java
+ ${CMAKE_CURRENT_SOURCE_DIR}/dht/chord/Node.java
+ ${CMAKE_CURRENT_SOURCE_DIR}/dht/chord/NotifyTask.java)
+set(dht_kademlia_sources ${CMAKE_CURRENT_SOURCE_DIR}/dht/kademlia/Main.java
+ ${CMAKE_CURRENT_SOURCE_DIR}/dht/kademlia/Answer.java
+ ${CMAKE_CURRENT_SOURCE_DIR}/dht/kademlia/Bucket.java
+ ${CMAKE_CURRENT_SOURCE_DIR}/dht/kademlia/Common.java
+ ${CMAKE_CURRENT_SOURCE_DIR}/dht/kademlia/Contact.java
+ ${CMAKE_CURRENT_SOURCE_DIR}/dht/kademlia/FindNodeAnswerTask.java
+ ${CMAKE_CURRENT_SOURCE_DIR}/dht/kademlia/FindNodeTask.java
+ ${CMAKE_CURRENT_SOURCE_DIR}/dht/kademlia/KademliaTask.java
+ ${CMAKE_CURRENT_SOURCE_DIR}/dht/kademlia/Node.java
+ ${CMAKE_CURRENT_SOURCE_DIR}/dht/kademlia/PingAnswerTask.java
+ ${CMAKE_CURRENT_SOURCE_DIR}/dht/kademlia/PingTask.java
+ ${CMAKE_CURRENT_SOURCE_DIR}/dht/kademlia/RoutingTable.java)
+set(energy_consumption_sources ${CMAKE_CURRENT_SOURCE_DIR}/energy/consumption/Main.java
+ ${CMAKE_CURRENT_SOURCE_DIR}/energy/consumption/EnergyConsumer.java)
+set(process_kill_sources ${CMAKE_CURRENT_SOURCE_DIR}/process/kill/Main.java
+ ${CMAKE_CURRENT_SOURCE_DIR}/process/kill/Killer.java
+ ${CMAKE_CURRENT_SOURCE_DIR}/process/kill/Victim.java)
+set(process_migration_sources ${CMAKE_CURRENT_SOURCE_DIR}/process/migration/Main.java
+ ${CMAKE_CURRENT_SOURCE_DIR}/process/migration/Emigrant.java
+ ${CMAKE_CURRENT_SOURCE_DIR}/process/migration/Policeman.java)
+set(process_suspend_sources ${CMAKE_CURRENT_SOURCE_DIR}/process/suspend/Main.java
+ ${CMAKE_CURRENT_SOURCE_DIR}/process/suspend/DreamMaster.java
+ ${CMAKE_CURRENT_SOURCE_DIR}/process/suspend/LazyGuy.java)
-foreach (example dht_chord dht_kademlia process_kill process_migration process_suspend)
+foreach (example dht_chord dht_kademlia energy_consumption process_kill process_migration process_suspend)
string (REPLACE "_" "/" example_dir ${example})
if(enable_java)
${CMAKE_CURRENT_SOURCE_DIR}/dht/kademlia/kademlia.xml PARENT_SCOPE)
if(enable_java)
- foreach (example dht_chord dht_kademlia process_kill process_migration process_suspend)
+ foreach (example dht_chord dht_kademlia energy_consumption process_kill process_migration process_suspend)
string (REPLACE "_" "/" example_dir ${example})
ADD_TESH(java-${example} --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/java --setenv classpath=${TESH_CLASSPATH} --cd ${CMAKE_BINARY_DIR}/examples/java ${CMAKE_HOME_DIRECTORY}/examples/java/${example_dir}/${example}.tesh)
endforeach()
+++ /dev/null
-set(example java_energy)
-set(sources ${CMAKE_CURRENT_SOURCE_DIR}/Energy.java ${CMAKE_CURRENT_SOURCE_DIR}/EnergyConsumer.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)
- 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)
-endif()
-
-set(tesh_files ${tesh_files} ${CMAKE_CURRENT_SOURCE_DIR}/energy.tesh PARENT_SCOPE)
-set(examples_src ${examples_src} ${sources} PARENT_SCOPE)
/* 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;
+package energy.consumption;
import org.simgrid.msg.Msg;
import org.simgrid.msg.Comm;
import org.simgrid.msg.Task;
import org.simgrid.msg.Process;
import org.simgrid.msg.MsgException;
-import org.simgrid.msg.TimeoutException;
+import org.simgrid.msg.HostNotFoundException;
public class EnergyConsumer extends Process {
- public EnergyConsumer(Host host, String name, String[] args) {
- super(host,name,args);
+ public EnergyConsumer(String hostname, String name) throws HostNotFoundException{
+ super(hostname,name);
}
- @Override
public void main(String[] args) throws MsgException {
- Msg.info("Currently consumed energy: "+getHost().getConsumedEnergy());
+ Msg.info("Energetic profile: " + getHost().getProperty("watt_per_state"));
+ Msg.info("Initial peak speed= " + getHost().getSpeed() + " flop/s; Energy dissipated = "
+ + getHost().getConsumedEnergy() + " J");
+
this.waitFor(10);
Msg.info("Currently consumed energy after sleeping 10 sec: "+getHost().getConsumedEnergy());
new Task(null, 1E9, 0).execute();
/* 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;
+package energy.consumption;
import org.simgrid.msg.Msg;
import org.simgrid.msg.Host;
import org.simgrid.msg.MsgException;
-public class Energy {
+public class Main {
public static final double task_comp_size = 10;
public static final double task_comm_size = 10;
public static final int hostNB = 2 ;
}
/* 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] + " has no host at all");
- System.exit(42);
- }
/* Instanciate a process */
- new EnergyConsumer(hosts[0],"energyConsumer",null).start();
+ new EnergyConsumer("MyHost1","energyConsumer").start();
/* Execute the simulation */
Msg.run();
+ Msg.info("Total simulation time: "+ Msg.getClock());
}
}
! timeout 15
-$ java -classpath ${classpath:=.} energy/Energy ${srcdir:=.}/../platforms/energy_platform.xml
+$ java -classpath ${classpath:=.} energy/consumption/Main ${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) 0.000000] [jmsg/INFO] Energetic profile: 100.0:200.0, 93.0:170.0, 90.0:150.0
+> [MyHost1:energyConsumer:(1) 0.000000] [jmsg/INFO] Initial peak speed= 1.0E8 flop/s; Energy dissipated = 0.0 J
> [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] [jmsg/INFO] Total simulation time: 20.0
> [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
examples/java/cloud/energy/CMakeLists.txt
examples/java/cloud/migration/CMakeLists.txt
examples/java/commTime/CMakeLists.txt
- examples/java/energy/CMakeLists.txt
examples/java/io/CMakeLists.txt
examples/java/masterworker/CMakeLists.txt
examples/java/mutualExclusion/CMakeLists.txt