From: Samuel Lepetit Date: Mon, 11 Jun 2012 15:45:31 +0000 (+0200) Subject: Add suspend example/test X-Git-Tag: v3_9_90~569^2~19^2~56^2~8 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/bc6b026eff4c569bdcc80dd4afda9c5d5530d5bb?hp=1bf4f739c3ed762567482880e49bdc9c62354e5a Add suspend example/test --- diff --git a/CMakeLists.txt b/CMakeLists.txt index f2d0163c55..94aef31dd7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -113,6 +113,18 @@ set(JMSG_JAVA_SRC ) set(JAVA_EXAMPLES + examples/async/AsyncTest.java + examples/async/FinalizeTask.java + examples/async/Forwarder.java + examples/async/Master.java + examples/async/Slave.java + examples/startKillTime/Slave.java + examples/basic/FinalizeTask.java + examples/basic/Forwarder.java + examples/basic/Master.java + examples/basic/BasicTest.java + examples/basic/Slave.java + examples/bittorrent/Bittorrent.java examples/bittorrent/Common.java examples/bittorrent/Connection.java @@ -128,25 +140,10 @@ set(JAVA_EXAMPLES examples/chord/FindSuccessorTask.java examples/chord/GetPredecessorAnswerTask.java examples/chord/NotifyTask.java - examples/mutualExclusion/centralized/MutexCentral.java - examples/mutualExclusion/centralized/GrantTask.java - examples/mutualExclusion/centralized/Coordinator.java - examples/mutualExclusion/centralized/ReleaseTask.java - examples/mutualExclusion/centralized/Node.java - examples/mutualExclusion/centralized/RequestTask.java - examples/basic/FinalizeTask.java - examples/basic/Forwarder.java - examples/basic/Master.java - examples/basic/BasicTest.java - examples/basic/Slave.java examples/commTime/FinalizeTask.java examples/commTime/Master.java examples/commTime/Slave.java examples/commTime/CommTimeTest.java - examples/pingPong/PingPongTask.java - examples/pingPong/Sender.java - examples/pingPong/Receiver.java - examples/pingPong/PingPongTest.java examples/master_slave_bypass/Master.java examples/master_slave_bypass/MsBypass.java examples/master_slave_bypass/Slave.java @@ -155,14 +152,21 @@ set(JAVA_EXAMPLES examples/master_slave_kill/MsKill.java examples/master_slave_kill/Slave.java examples/master_slave_kill/FinalizeTask.java - examples/async/AsyncTest.java - examples/async/FinalizeTask.java - examples/async/Forwarder.java - examples/async/Master.java - examples/async/Slave.java - examples/startKillTime/Slave.java + examples/mutualExclusion/centralized/MutexCentral.java + examples/mutualExclusion/centralized/GrantTask.java + examples/mutualExclusion/centralized/Coordinator.java + examples/mutualExclusion/centralized/ReleaseTask.java + examples/mutualExclusion/centralized/Node.java + examples/mutualExclusion/centralized/RequestTask.java + examples/pingPong/PingPongTask.java + examples/pingPong/Sender.java + examples/pingPong/Receiver.java + examples/pingPong/PingPongTest.java examples/startKillTime/Master.java examples/startKillTime/StartKillTime.java + examples/suspend/DreamMaster.java + examples/suspend/LazyGuy.java + examples/suspend/Suspend.java ) set(CMAKE_SRC @@ -255,16 +259,17 @@ add_custom_command( COMMENT "Build examples for java" OUTPUT ${JAVA_EXAMPLES_CLASS} DEPENDS ${JAVA_EXAMPLES} - COMMAND ${JAVA_COMPILE} -d ${CMAKE_HOME_DIRECTORY}/examples -cp ${CMAKE_HOME_DIRECTORY}/simgrid.jar ${CMAKE_HOME_DIRECTORY}/examples/basic/*.java - COMMAND ${JAVA_COMPILE} -d ${CMAKE_HOME_DIRECTORY}/examples -cp ${CMAKE_HOME_DIRECTORY}/simgrid.jar ${CMAKE_HOME_DIRECTORY}/examples/async/*.java - COMMAND ${JAVA_COMPILE} -d ${CMAKE_HOME_DIRECTORY}/examples -cp ${CMAKE_HOME_DIRECTORY}/simgrid.jar ${CMAKE_HOME_DIRECTORY}/examples/chord/*.java - COMMAND ${JAVA_COMPILE} -d ${CMAKE_HOME_DIRECTORY}/examples -cp ${CMAKE_HOME_DIRECTORY}/simgrid.jar ${CMAKE_HOME_DIRECTORY}/examples/commTime/*.java - COMMAND ${JAVA_COMPILE} -d ${CMAKE_HOME_DIRECTORY}/examples -cp ${CMAKE_HOME_DIRECTORY}/simgrid.jar ${CMAKE_HOME_DIRECTORY}/examples/master_slave_bypass/*.java - COMMAND ${JAVA_COMPILE} -d ${CMAKE_HOME_DIRECTORY}/examples -cp ${CMAKE_HOME_DIRECTORY}/simgrid.jar ${CMAKE_HOME_DIRECTORY}/examples/master_slave_kill/*.java - COMMAND ${JAVA_COMPILE} -d ${CMAKE_HOME_DIRECTORY}/examples -cp ${CMAKE_HOME_DIRECTORY}/simgrid.jar ${CMAKE_HOME_DIRECTORY}/examples/mutualExclusion/centralized/*.java + COMMAND ${JAVA_COMPILE} -d ${CMAKE_HOME_DIRECTORY}/examples -cp ${CMAKE_HOME_DIRECTORY}/simgrid.jar ${CMAKE_HOME_DIRECTORY}/examples/async/*.java + COMMAND ${JAVA_COMPILE} -d ${CMAKE_HOME_DIRECTORY}/examples -cp ${CMAKE_HOME_DIRECTORY}/simgrid.jar ${CMAKE_HOME_DIRECTORY}/examples/basic/*.java + COMMAND ${JAVA_COMPILE} -d ${CMAKE_HOME_DIRECTORY}/examples -cp ${CMAKE_HOME_DIRECTORY}/simgrid.jar ${CMAKE_HOME_DIRECTORY}/examples/bittorrent/*.java + COMMAND ${JAVA_COMPILE} -d ${CMAKE_HOME_DIRECTORY}/examples -cp ${CMAKE_HOME_DIRECTORY}/simgrid.jar ${CMAKE_HOME_DIRECTORY}/examples/chord/*.java + COMMAND ${JAVA_COMPILE} -d ${CMAKE_HOME_DIRECTORY}/examples -cp ${CMAKE_HOME_DIRECTORY}/simgrid.jar ${CMAKE_HOME_DIRECTORY}/examples/commTime/*.java + COMMAND ${JAVA_COMPILE} -d ${CMAKE_HOME_DIRECTORY}/examples -cp ${CMAKE_HOME_DIRECTORY}/simgrid.jar ${CMAKE_HOME_DIRECTORY}/examples/master_slave_bypass/*.java + COMMAND ${JAVA_COMPILE} -d ${CMAKE_HOME_DIRECTORY}/examples -cp ${CMAKE_HOME_DIRECTORY}/simgrid.jar ${CMAKE_HOME_DIRECTORY}/examples/master_slave_kill/*.java + COMMAND ${JAVA_COMPILE} -d ${CMAKE_HOME_DIRECTORY}/examples -cp ${CMAKE_HOME_DIRECTORY}/simgrid.jar ${CMAKE_HOME_DIRECTORY}/examples/mutualExclusion/centralized/*.java COMMAND ${JAVA_COMPILE} -d ${CMAKE_HOME_DIRECTORY}/examples -cp ${CMAKE_HOME_DIRECTORY}/simgrid.jar ${CMAKE_HOME_DIRECTORY}/examples/pingPong/*.java COMMAND ${JAVA_COMPILE} -d ${CMAKE_HOME_DIRECTORY}/examples -cp ${CMAKE_HOME_DIRECTORY}/simgrid.jar ${CMAKE_HOME_DIRECTORY}/examples/startKillTime/*.java - COMMAND ${JAVA_COMPILE} -d ${CMAKE_HOME_DIRECTORY}/examples -cp ${CMAKE_HOME_DIRECTORY}/simgrid.jar ${CMAKE_HOME_DIRECTORY}/examples/bittorrent/*.java + COMMAND ${JAVA_COMPILE} -d ${CMAKE_HOME_DIRECTORY}/examples -cp ${CMAKE_HOME_DIRECTORY}/simgrid.jar ${CMAKE_HOME_DIRECTORY}/examples/suspend/*.java ) @@ -290,16 +295,17 @@ ENABLE_TESTING() ADD_TEST(async ${TESH_BIN_PATH} ${TESH_OPTION} --setenv srcdir=${CMAKE_HOME_DIRECTORY} ${CMAKE_HOME_DIRECTORY}/examples/async/async.tesh) ADD_TEST(basic ${TESH_BIN_PATH} ${TESH_OPTION} --setenv srcdir=${CMAKE_HOME_DIRECTORY} ${CMAKE_HOME_DIRECTORY}/examples/basic/basic.tesh) -ADD_TEST(bittorrent ${TESH_BIN_PATH} ${TESH_OPTION} --setenv srcdir=${CMAKE_HOME_DIRECTORY} ${CMAKE_HOME_DIRECTORY}/examples/bittorrent/bittorrent.tesh) -ADD_TEST(chord ${TESH_BIN_PATH} ${TESH_OPTION} --setenv srcdir=${CMAKE_HOME_DIRECTORY} ${CMAKE_HOME_DIRECTORY}/examples/chord/chord.tesh) -ADD_TEST(pingPong ${TESH_BIN_PATH} ${TESH_OPTION} --setenv srcdir=${CMAKE_HOME_DIRECTORY} ${CMAKE_HOME_DIRECTORY}/examples/pingPong/pingpong.tesh) -ADD_TEST(CommTime ${TESH_BIN_PATH} ${TESH_OPTION} --setenv srcdir=${CMAKE_HOME_DIRECTORY} ${CMAKE_HOME_DIRECTORY}/examples/commTime/commtime.tesh) -ADD_TEST(mutualExclusion ${TESH_BIN_PATH} ${TESH_OPTION} --setenv srcdir=${CMAKE_HOME_DIRECTORY} ${CMAKE_HOME_DIRECTORY}/examples/mutualExclusion/mutualexclusion.tesh) +ADD_TEST(bittorrent ${TESH_BIN_PATH} ${TESH_OPTION} --setenv srcdir=${CMAKE_HOME_DIRECTORY} ${CMAKE_HOME_DIRECTORY}/examples/bittorrent/bittorrent.tesh) ADD_TEST(bypass ${TESH_BIN_PATH} ${TESH_OPTION} --setenv srcdir=${CMAKE_HOME_DIRECTORY} ${CMAKE_HOME_DIRECTORY}/examples/master_slave_bypass/bypass.tesh) +ADD_TEST(commTime ${TESH_BIN_PATH} ${TESH_OPTION} --setenv srcdir=${CMAKE_HOME_DIRECTORY} ${CMAKE_HOME_DIRECTORY}/examples/commTime/commtime.tesh) +ADD_TEST(chord ${TESH_BIN_PATH} ${TESH_OPTION} --setenv srcdir=${CMAKE_HOME_DIRECTORY} ${CMAKE_HOME_DIRECTORY}/examples/chord/chord.tesh) ADD_TEST(kill ${TESH_BIN_PATH} ${TESH_OPTION} --setenv srcdir=${CMAKE_HOME_DIRECTORY} ${CMAKE_HOME_DIRECTORY}/examples/master_slave_kill/kill.tesh) -ADD_TEST(startKillTime ${TESH_BIN_PATH} ${TESH_OPTION} --setenv srcdir=${CMAKE_HOME_DIRECTORY} ${CMAKE_HOME_DIRECTORY}/examples/startKillTime/startKillTime.tesh) +ADD_TEST(mutualExclusion ${TESH_BIN_PATH} ${TESH_OPTION} --setenv srcdir=${CMAKE_HOME_DIRECTORY} ${CMAKE_HOME_DIRECTORY}/examples/mutualExclusion/mutualexclusion.tesh) +ADD_TEST(pingPong ${TESH_BIN_PATH} ${TESH_OPTION} --setenv srcdir=${CMAKE_HOME_DIRECTORY} ${CMAKE_HOME_DIRECTORY}/examples/pingPong/pingpong.tesh) +ADD_TEST(startKillTime ${TESH_BIN_PATH} ${TESH_OPTION} --setenv srcdir=${CMAKE_HOME_DIRECTORY} ${CMAKE_HOME_DIRECTORY}/examples/startKillTime/startKillTime.tesh) +ADD_TEST(suspend ${TESH_BIN_PATH} ${TESH_OPTION} --setenv srcdir=${CMAKE_HOME_DIRECTORY} ${CMAKE_HOME_DIRECTORY}/examples/suspend/suspend.tesh) #Don't forget to put new test in this list!!! -set(test_list basic bittorrent chord async pingPong CommTime mutualExclusion bypass kill startKillTime) +set(test_list async basic bittorrent bypass chord commTime kill mutualExclusion pingPong startKillTime) ########################################## # Set the DYLD_LIBRARY_PATH for mac # diff --git a/examples/suspend/DreamMaster.java b/examples/suspend/DreamMaster.java new file mode 100644 index 0000000000..2f1efe5476 --- /dev/null +++ b/examples/suspend/DreamMaster.java @@ -0,0 +1,21 @@ +package suspend; + +import org.simgrid.msg.Host; +import org.simgrid.msg.Msg; +import org.simgrid.msg.Process; +import org.simgrid.msg.MsgException; +public class DreamMaster extends Process { + public DreamMaster(Host host, String name, String[]args) { + super(host,name,args); + } + public void main(String[] args) throws MsgException { + Msg.info("Let's create a lazy guy."); + Process lazyGuy = new LazyGuy(getHost(),"Lazy",null); + lazyGuy.start(); + Msg.info("Let's wait a little bit..."); + waitFor(10); + Msg.info("Let's wake the lazy guy up! >:) BOOOOOUUUHHH!!!!"); + lazyGuy.restart(); + Msg.info("OK, goodbye now."); + } +} \ No newline at end of file diff --git a/examples/suspend/LazyGuy.java b/examples/suspend/LazyGuy.java new file mode 100644 index 0000000000..cb7c7228e7 --- /dev/null +++ b/examples/suspend/LazyGuy.java @@ -0,0 +1,17 @@ +package suspend; + +import org.simgrid.msg.Host; +import org.simgrid.msg.Msg; +import org.simgrid.msg.Process; +import org.simgrid.msg.MsgException; +public class LazyGuy extends Process { + public LazyGuy(Host host, String name, String[]args) { + super(host,name,args); + } + public void main(String[] args) throws MsgException { + Msg.info("Nobody's watching me ? Let's go to sleep."); + pause(); + Msg.info("Uuuh ? Did somebody call me ?"); + Msg.info("Mmmh, goodbye now."); + } +} \ No newline at end of file diff --git a/examples/suspend/Suspend.java b/examples/suspend/Suspend.java new file mode 100644 index 0000000000..b628c307d7 --- /dev/null +++ b/examples/suspend/Suspend.java @@ -0,0 +1,21 @@ +package suspend; + +import org.simgrid.msg.Msg; + +public class Suspend { + public static void main(String[] args) { + /* initialize the MSG simulation. Must be done before anything else (even logging). */ + Msg.init(args); + if(args.length < 2) { + Msg.info("Usage : Suspend platform_file deployment_file"); + Msg.info("example : Suspend platform.xml deployment.xml"); + System.exit(1); + } + /* construct the platform and deploy the application */ + Msg.createEnvironment(args[0]); + Msg.deployApplication(args[1]); + + /* execute the simulation. */ + Msg.run(); + } +} diff --git a/examples/suspend/suspend.tesh b/examples/suspend/suspend.tesh new file mode 100644 index 0000000000..323fb6ad58 --- /dev/null +++ b/examples/suspend/suspend.tesh @@ -0,0 +1,18 @@ +#! ./tesh + +! output sort + +$ java -cp .:${srcdir:=.}/examples:${srcdir:=.}/simgrid.jar suspend/Suspend ${srcdir:=.}/examples/platform.xml ${srcdir:=.}/examples/suspend/suspendDeployment.xml "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n" +> [ 0.000000] (0:@) Ready to run MSG_MAIN +> [ 0.000000] (1:suspend.DreamMaster@Jacquelin) Let's create a lazy guy. +> [ 0.000000] (1:suspend.DreamMaster@Jacquelin) Let's wait a little bit... +> [ 0.000000] (2:Lazy@Jacquelin) Nobody's watching me ? Let's go to sleep. +> [ 10.000000] (0:@) Done running MSG_MAIN +> [ 10.000000] (0:@) MSG_main finished +> [ 10.000000] (0:@) Clean java world +> [ 10.000000] (0:@) Clean native world +> [ 10.000000] (1:suspend.DreamMaster@Jacquelin) Let's wake the lazy guy up! >:) BOOOOOUUUHHH!!!! +> [ 10.000000] (1:suspend.DreamMaster@Jacquelin) OK, goodbye now. +> [ 10.000000] (2:Lazy@Jacquelin) Uuuh ? Did somebody call me ? +> [ 10.000000] (2:Lazy@Jacquelin) Mmmh, goodbye now. + diff --git a/examples/suspend/suspendDeployment.xml b/examples/suspend/suspendDeployment.xml new file mode 100644 index 0000000000..af3d363f68 --- /dev/null +++ b/examples/suspend/suspendDeployment.xml @@ -0,0 +1,5 @@ + + + + +