Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Improve MSG_file_read() and MSG_file_write()
[simgrid.git] / ChangeLog
index 48b472a..5abdda7 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,21 +1,92 @@
-SimGrid (3.10) NOT RELEASED; urgency=low
+SimGrid (3.11) NOT RELEASED; urgency=low
+
+ TENTATIVE RELEASE GOALS for 3.11:
+ * Switch to tesh.pl, and kill the now unused parts of xbt that seem fragile
+ * Clean up CMake files (may need a full rewrite).
+   Non exhaustive list of subgoals:
+   - Use genuine cmake mechanisms and variables when available,
+     instead of reinventing the wheel.
+   - Correctly determine system and architecture (e.g. x32).
+   - Correctly determine compiler type and version (e.g. clang).
+   - Correctly set compiler flags according to compiler type and version.
+   - Correctly set compiler flags for C++, Java, and Fortran compilers too.
+   - Use git to generate the dist archive.  Either use git-archive to
+     generate the tarball, or keep using cmake -E tar, but use git-ls-files
+     to get the list of files to pack.
+
+ The Class Release.
+
+ Tools:
+ * Normalizing pointers addresses tool for better diff between logs
+
+ Examples:
+ * Add cloud examples using new VMs
+   - examples/msg/cloud/two_tasks_vm.tesh
+   - examples/msg/cloud/simple_vm.tesh
+   - examples/java/cloud/cloud.tesh
+   - examples/java/cloud/migration/migration.tesh
 
 
- XBT:
- * Our own implementation of getline is renamed xbt_getline, and gets
-   used even if the OS provide a getline(). This should reduce the
-   configuration complexity by using the same code on all platforms.
- * new xbt_cfg_elm_boolean type
- * Allow to disable SimGrid cleanups at exit from command line option.
-   There are situations where one may want a simulation to end with an exit.
-   Unfortunately, calling exit may cause SimGrid to segfault, which is quite
-   annoying when scripting around the simulator. Adding a
-   --cfg=clean_atexit:yes allows to circumvent this issue.
+ MSG:
+ * Add virtual machine
+   - creation of a VM on a PM
+   - migration of a VM from a PM to another PM
+
+ SIMIX:
+ * Protect context stacks against stack overflow. The number of protected memory
+   pages allocated on the top of each stack (1 by default) can be configured
+   with the new command line option --cfg=contexts/guard_size:<value>.
+ * Simcalls are now generated by a python script that
+   - generates files included by SimGrid
+   - checks that all the functions exist, and proposes prototypes
+ * Clean simcalls
+   - remove sem_destroy, file_set_data, comm_destroy, vm_set_state,
+     host_set_data, host_get_data
+
+ SURF:
+ * Translate surf models from C to C++
+   - Generic classes for all models: Model, Resource, Action
+   - A generic interface for each kind of model (cpu, network, storage
+     workstation, workstationvm)
+   - C bindings
+ * Translate surf routings from C to C++
+ * Add callbacks using sigc++ or boost::signals2
+   - Add callback functions for resource creation/destruction
+   - Add callback functions for action state change
+   - Handle Energy as a plugin
+ * Replace swag by boost::intrusive
+ * Add new routing model for torus clusters
+ * More documentation
+
+ SMPI:
+ * hostfiles support host:nb_processes construct to deploy several processes on
+   one node
+ * Collective communication algorithms should not crash if used with
+   improper number of nodes and report the error.
+
+ Java:
+ * New cmake option, enable_lib_in_jar, to control whether native libraries are
+   copied into simgrid.jar or not (ON by default).  Use this option if you want
+   to reduce the size of the installed simgrid.jar, *and* the native libraries
+   are kept installed elsewhere.
+
+ Build System:
+ * Supernovae build mode is definitively removed. It was used to improve
+   inlining and inter-module optimizations. It is nowadays superseded by
+   link-time optimizations commonly available in compilers.
+ * Update ns-3 find lib. Bindings for ns-3 should work again now.
+ * Add boost dependency for surf++
+
+ -- $date Da SimGrid team <simgrid-devel@lists.gforge.inria.fr>
+
+SimGrid (3.10) stable; urgency=low
+
+ The Clean Diaper Release, a.k.a. SimGrid is leak-free.
 
  Java:
  * Reintegrate Java to the main archive as desynchronizing these
    package is not acceptable anymore (Java is now considered stable)
  * Add explicit synchronization facilities through semaphores
 
  Java:
  * Reintegrate Java to the main archive as desynchronizing these
    package is not acceptable anymore (Java is now considered stable)
  * Add explicit synchronization facilities through semaphores
- * Bugfix: Task.setDataSize() only changed the C world, not the value
+ * Bug fix: Task.setDataSize() only changed the C world, not the value
    cached in the Java world
 
  MSG:
    cached in the Java world
 
  MSG:
@@ -23,6 +94,7 @@ SimGrid (3.10) NOT RELEASED; urgency=low
    this part of MSG was not considered as production grade either.
  * Add explicit synchronization facilities through semaphores
  * Add a new function MSG_host_get_process_list()
    this part of MSG was not considered as production grade either.
  * Add explicit synchronization facilities through semaphores
  * Add a new function MSG_host_get_process_list()
+ * Preliminary DVFS support (see examples/msg/energy/ for details)
 
  SMPI:
  * SMPI is now included directly in the libsimgrid as the windows
 
  SMPI:
  * SMPI is now included directly in the libsimgrid as the windows
@@ -35,7 +107,13 @@ SimGrid (3.10) NOT RELEASED; urgency=low
    - The replay tool now supports traces produce either by TAU or a modified
      version of MPE.
    - Bug Fix: the compute part of the reduce action is now taken into account.
    - The replay tool now supports traces produce either by TAU or a modified
      version of MPE.
    - Bug Fix: the compute part of the reduce action is now taken into account.
- * smpirun generates the hostfile if needed (with given hostcount and platform)
+   - Gatherv collective is now supported
+   - SimGrid (SMPI for now) can generate replay traces as well. Option -trace-ti
+     of smpirun outputs time independent traces for the current run. One file
+     is created per process. If too many processes are simulated, this behavior
+     can be changed to one file for all processes by using the
+     tracing/smpi/format/ti_one_file flag
+ * smpirun generates the host file if needed (with given host count and platform)
  * Integration of more than 100 STAR-MPI, MPICH, OpenMPI collective algorithms
    - allows to select one in particular with --cfg=smpi/coll_name:algorithm
    - allows to use the decision logic of OpenMPI(1.7) or MPICH(3.0.4) by setting
  * Integration of more than 100 STAR-MPI, MPICH, OpenMPI collective algorithms
    - allows to select one in particular with --cfg=smpi/coll_name:algorithm
    - allows to use the decision logic of OpenMPI(1.7) or MPICH(3.0.4) by setting
@@ -44,11 +122,22 @@ SimGrid (3.10) NOT RELEASED; urgency=low
    Reduce
  * Add a --cfg:tracing/smpi/internals option, to trace internal communications
    happening inside a collective SMPI call.
    Reduce
  * Add a --cfg:tracing/smpi/internals option, to trace internal communications
    happening inside a collective SMPI call.
- * Fix the behavior of complex data types handling
- * replace MPICH-1 test suite by the one from MPICH 3.0.4. Can be built using
+ * Fix the behavior of complex data types handling.
+ * Make MPI_Wtime another synchronization point to take computations into account.
+ * Replace MPICH-1 test suite by the one from MPICH 3.0.4. Can be built using
    enable_smpi_MPICH3_testsuite flag in cmake. Run with ctest.
  * Add all missing Fortran bindings, SMPI should work with Fortran 90
    (no privatization of global variables yet)
    enable_smpi_MPICH3_testsuite flag in cmake. Run with ctest.
  * Add all missing Fortran bindings, SMPI should work with Fortran 90
    (no privatization of global variables yet)
+ * Preliminary DVFS support (see examples/smpi/energy/ for details)
+
+ Model-Checking;
+ * Verification of liveness properties is now available for SMPI applications
+   (in addition to MSG applications)
+ * Bugged examples using SMPI in examples/smpi/mc/
+ * Add --cfg=model-check/visited option. Allows the verification of infinite
+   programs. Detection of loops in the execution thanks to the system state
+   comparison and reduction of the state space to explore. Can be combined with
+   DPOR for safety properties.
 
  SimDag:
  * Allow to change SimGrid configuration (see --help) within the code
 
  SimDag:
  * Allow to change SimGrid configuration (see --help) within the code
@@ -65,7 +154,28 @@ SimGrid (3.10) NOT RELEASED; urgency=low
    routing. Now peers are encapsulated in an AS and have their own private
    router but this is transparent.
 
    routing. Now peers are encapsulated in an AS and have their own private
    router but this is transparent.
 
--- $date Da SimGrid team <simgrid-devel@lists.gforge.inria.fr>
+ XBT:
+ * Our own implementation of getline is renamed xbt_getline, and gets
+   used even if the OS provide a getline(). This should reduce the
+   configuration complexity by using the same code on all platforms.
+ * New type: xbt_cfg_elm_boolean.
+ * Allow to use yes/no for boolean configuration options in the command line.
+ * Allow to disable SimGrid cleanups at exit from command line option.
+   There are situations where one may want a simulation to end with an exit.
+   Unfortunately, calling exit may cause SimGrid to segfault, which is quite
+   annoying when scripting around the simulator. Adding a
+   --cfg=clean_atexit:no allows to circumvent this issue.
+
+ Build System:
+ * Lots of memory leaks were corrected in this release.
+   There is no known memory leaks anymore, in all of our 600+ tests.
+ * New command line option --version, to get SimGrid version information.
+   Packagers may want to add extra words to SIMGRID_VERSION_EXTRA defined in
+   CMakeLists.txt.
+ * Supernovae builds are deprecated, and expected to be removed in the next
+   version of SimGrid.
+
+ -- Sun Nov 17 00:26:44 CET 2013 Da SimGrid team <simgrid-devel@lists.gforge.inria.fr>
 
 SimGrid (3.9) stable; urgency=low
 
 
 SimGrid (3.9) stable; urgency=low
 
@@ -141,7 +251,7 @@ SimGrid (3.9) stable; urgency=low
  TRACING:
  * Transfer the tracing files into the corresponding modules.
 
  TRACING:
  * Transfer the tracing files into the corresponding modules.
 
- -- Tue Feb 5 11:31:43 CET 2013 Da SimGrid team <simgrid-devel@lists.gforge.inria.fr>
+ -- Tue Feb  5 11:31:43 CET 2013 Da SimGrid team <simgrid-devel@lists.gforge.inria.fr>
 
 SimGrid (3.8.1) stable; urgency=low
 
 
 SimGrid (3.8.1) stable; urgency=low
 
@@ -188,7 +298,7 @@ SimGrid (3.8) stable; urgency=low
  * New option "enable_mallocators" to disable mallocators, for debugging
    purpose ("on" by default).
 
  * New option "enable_mallocators" to disable mallocators, for debugging
    purpose ("on" by default).
 
- Simix:
+ SIMIX:
  * Bug fixes around the resource failures: don't let the processes
    survive the host they are running onto.
  * Add an interface to auto-restart processes when the host in which they are
  * Bug fixes around the resource failures: don't let the processes
    survive the host they are running onto.
  * Add an interface to auto-restart processes when the host in which they are
@@ -441,7 +551,7 @@ SimGrid (3.7) stable; urgency=low
       Turn model-checking OFF if simulation performance matters to you.
       Not enabling it at runtime is not enough, disable it in cmake.
 
       Turn model-checking OFF if simulation performance matters to you.
       Not enabling it at runtime is not enough, disable it in cmake.
 
 -- Tue May 15 11:30:19 UTC 2012 Da SimGrid team <simgrid-devel@lists.gforge.inria.fr>
+ -- Tue May 15 11:30:19 UTC 2012 Da SimGrid team <simgrid-devel@lists.gforge.inria.fr>
 
 SimGrid (3.6.2) stable; urgency=low
 
 
 SimGrid (3.6.2) stable; urgency=low