From: Samuel Lepetit Date: Wed, 30 May 2012 10:30:41 +0000 (+0200) Subject: Merge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid X-Git-Tag: v3_8~654^2~19 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/059ffba3002aa86e17392c7f2c884095ab64591b?hp=b745e5b5a5f85947c7e08266c6dbdbbf9f563918 Merge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid --- diff --git a/.gitignore b/.gitignore index ee1d9abc95..8edd0e3a78 100644 --- a/.gitignore +++ b/.gitignore @@ -135,6 +135,7 @@ examples/msg/masterslave/toto.txt examples/msg/simulation.trace examples/msg/toto.txt examples/msg/z_gtnets.trace +examples/msg/cloud/masterslave_virtual_machines examples/msg/tracing/link_srcdst_user_variables examples/msg/tracing/link_user_variables examples/msg/tracing/simple diff --git a/COPYING b/COPYING index 54dd23d24a..01cdd3741b 100644 --- a/COPYING +++ b/COPYING @@ -138,8 +138,8 @@ Their copyright is the following: * * You should have received a copy of the GNU Lesser General Public * License along with SimGrid in the file LICENSE-LGPL-2.1; - * if not, write to the Free Software Foundation, Inc., - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + * if not, write to the Free Software Foundation, Inc., + * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. */ ========================================================================= diff --git a/ChangeLog b/ChangeLog index a9fd34a159..b40ea021fc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,16 @@ SimGrid (3.8) NOT RELEASED; urgency=low + The "SimGrid makes psssshiiiit and jumps into the cloud" release. + + CMAKE: + * Remove option custom_flags. Now use environment variables CFLAGS + and LDFLAGS. + + MSG: + * Add an experimental interface to manipulate VMs. They are mainly + process groups with very few intrinsic semantic, but they should + allow you to build the semantic you want easily. + SimDag: * New type of typed tasks SD_TASK_COMP_PAR_AMDAHL that represents a parallel task whose initial work is distributed among host according @@ -17,6 +28,11 @@ SimGrid (3.8) NOT RELEASED; urgency=low SimGrid (3.7.1) NOT RELEASED; urgency=low + MSG: + * Restore the prototype of MSG_process_create_with_environment() to + the pre-3.7 situation by removing the kill_time argument. + * Add a MSG_process_set_kill_time() function instead. + SURF: * Fix weird behaviors when dealing with parallel tasks. @@ -1198,7 +1214,7 @@ SimGrid (3.3) stable; urgency=high [contributed by Sékou Diakite, many thanks] GRAS: - * Introduce a listener thread in charge of receiving incomming + * Introduce a listener thread in charge of receiving incoming messages from the network. It allows to overlap communication and computation but most notably, it removes some stupid deadlocks due to the fact that so far, a process could not send and receive at diff --git a/buildtools/Cmake/AddTests.cmake b/buildtools/Cmake/AddTests.cmake index 6c038b21b3..be472c756c 100644 --- a/buildtools/Cmake/AddTests.cmake +++ b/buildtools/Cmake/AddTests.cmake @@ -146,6 +146,8 @@ ADD_TEST(msg-masterslave-failure-thread ${CMAKE_BINARY_DIR}/bin/tesh ${TE ADD_TEST(msg-masterslave-mailbox-thread ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --cfg contexts/factory:thread --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg --cd ${CMAKE_BINARY_DIR}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/masterslave/masterslave_mailbox_crosstraffic.tesh) ADD_TEST(msg-masterslave-cpu-ti-thread ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --cfg contexts/factory:thread --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg/masterslave --cd ${CMAKE_HOME_DIRECTORY}/examples/msg masterslave/masterslave_cpu_ti_crosstraffic.tesh) +ADD_TEST(msg-masterslave-virtual-machines ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --cfg contexts/factory:thread --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg/cloud --cd ${CMAKE_HOME_DIRECTORY}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/cloud/masterslave_virtual_machines.tesh) + if(HAVE_UCONTEXT_H) ADD_TEST(msg-sendrecv-CLM03-ucontext ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --cfg contexts/factory:ucontext --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg --cd ${CMAKE_BINARY_DIR}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/sendrecv/sendrecv_CLM03.tesh) ADD_TEST(msg-sendrecv-Vegas-ucontext ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --cfg contexts/factory:ucontext --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg --cd ${CMAKE_BINARY_DIR}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/sendrecv/sendrecv_Vegas.tesh) diff --git a/buildtools/Cmake/DefinePackages.cmake b/buildtools/Cmake/DefinePackages.cmake index 5dde708eeb..ef6012d616 100644 --- a/buildtools/Cmake/DefinePackages.cmake +++ b/buildtools/Cmake/DefinePackages.cmake @@ -282,6 +282,7 @@ set(MSG_SRC src/msg/msg_deployment.c src/msg/msg_mailbox.c src/msg/msg_actions.c + src/msg/msg_vm.c ) set(SIMDAG_SRC diff --git a/buildtools/Cmake/Flags.cmake b/buildtools/Cmake/Flags.cmake index 6b5483391d..a17b01581e 100644 --- a/buildtools/Cmake/Flags.cmake +++ b/buildtools/Cmake/Flags.cmake @@ -42,7 +42,6 @@ endif(enable_msg_deprecated) set(CMAKE_C_FLAGS "${optCFLAGS}${warnCFLAGS}${CMAKE_C_FLAGS}") -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${custom_flags}") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${optCFLAGS}") # Try to make Mac a bit more complient to open source standards diff --git a/buildtools/Cmake/MakeExe.cmake b/buildtools/Cmake/MakeExe.cmake index eac15c9f35..b3f1413664 100644 --- a/buildtools/Cmake/MakeExe.cmake +++ b/buildtools/Cmake/MakeExe.cmake @@ -60,6 +60,7 @@ add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/msg/pmm) add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/msg/start_kill_time) add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/msg/io) +add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/msg/cloud) add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/msg/gpu) diff --git a/buildtools/Cmake/Option.cmake b/buildtools/Cmake/Option.cmake index 6e64b98a02..3e180e389e 100644 --- a/buildtools/Cmake/Option.cmake +++ b/buildtools/Cmake/Option.cmake @@ -4,7 +4,6 @@ set(BIBTEX2HTML ${BIBTEX2HTML} CACHE PATH "Path to bibtex2html") set(gtnets_path ${gtnets_path} CACHE PATH "Path to gtnets lib and include") set(ns3_path ${ns3_path} CACHE PATH "Path to ns3 lib and include") -set(custom_flags ${custom_flags} CACHE FORCE "Customers flags add to cmake_c_flag") if(NOT CMAKE_INSTALL_PREFIX) set(CMAKE_INSTALL_PREFIX "/usr/local/simgrid/" CACHE PATH "Path where to install project") @@ -73,3 +72,4 @@ mark_as_advanced(CMAKE_OSX_DEPLOYMENT_TARGET) mark_as_advanced(CMAKE_OSX_SYSROOT) mark_as_advanced(SED_EXE) mark_as_advanced(BIBTEX2HTML) +mark_as_advanced(CMAKE_C_LINK_FLAGS) diff --git a/buildtools/Cmake/Pipol.cmake b/buildtools/Cmake/Pipol.cmake index b01c5748d8..75b4e9ceae 100644 --- a/buildtools/Cmake/Pipol.cmake +++ b/buildtools/Cmake/Pipol.cmake @@ -8,10 +8,6 @@ IF(pipol_user) set(CMAKE_OPTIONS " -Wno-dev") - if(custom_flags) - set(CMAKE_OPTIONS "${CMAKE_OPTIONS} -Dcustom_flags=${custom_flags}") - endif(custom_flags) - if(with_context) set(CMAKE_OPTIONS "${CMAKE_OPTIONS} -Dwith_context=${with_context}") endif(with_context) diff --git a/doc/Doxyfile.in b/doc/Doxyfile.in index f36aa29736..bd4d33327a 100644 --- a/doc/Doxyfile.in +++ b/doc/Doxyfile.in @@ -781,7 +781,7 @@ EXAMPLE_PATH = ./ \ EXAMPLE_PATTERNS = # If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be -# searched for input files to be used with the \include or \dontinclude +# searched for input files to be used with the \include or \don'tinclude # commands irrespective of the value of the RECURSIVE tag. # Possible values are YES and NO. If left blank NO is used. diff --git a/doc/bindings.doc b/doc/bindings.doc index 5c25bf98a4..a3265323e0 100644 --- a/doc/bindings.doc +++ b/doc/bindings.doc @@ -32,7 +32,7 @@ Actually, the use of lua in Simgrid is quite simple, you have just to follow the - loading the platforme/deployment XML file that describe the environment of simulation - and … Running the Simulation. -\dontinclude lua/masterslave/master.lua +\don'tinclude lua/masterslave/master.lua \subsection bindings_binding_lua_example_master_slave Master/Slave Example \li Master Code @@ -41,13 +41,13 @@ we mainly use simgrid.Task.new(task_name,computation_size,communication_size) then simgrid.Task.send(task,alias) to send it. we use also simgrid.Task.name(task), to get the task's name. -\dontinclude lua/masterslave/slave.lua +\don'tinclude lua/masterslave/slave.lua \li Slave Code \until end_of_slave Here, we see the use of simgrid.Task.recv(alias) to receive a task with a specific alias, this function return directly the task recevied. -\dontinclude lua/masterslave/master_slave.lua +\don'tinclude lua/masterslave/master_slave.lua \li Set Environmenet and run application \until simgrid.clean() diff --git a/doc/gtut-introduction.doc b/doc/gtut-introduction.doc index 71720918a6..01afc6bdbb 100644 --- a/doc/gtut-introduction.doc +++ b/doc/gtut-introduction.doc @@ -209,7 +209,7 @@ Two main types of events may change the internal state of a given process: messages during the transition associated to this event.\n \n Incoming messages are not handled as soon as they arrive, but only when - the process declares to be ready to accept incomming events (using \ref + the process declares to be ready to accept incoming events (using \ref gras_msg_handle or related functions). It ensures that the treatment of a given message won't run in parallel to any other callback, so that process globals (its state) can be accessed and modified without @@ -221,7 +221,7 @@ Two main types of events may change the internal state of a given process: \n Processes can also wait explicitely for incoming messages matching some given criterions (using \ref gras_msg_wait). Any messages received before the - one matching the criterions will be added to the incomming messages' + one matching the criterions will be added to the incoming messages' queue for further use. This may breaks the message delivery order. Moreover, there is no restriction on when this can be done. So, a callback to a given message can consume messages of other types. There is @@ -287,14 +287,14 @@ The experimental scenario is as follows: