Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
don't do the call if an error is caught before
[simgrid.git] / ChangeLog
index 48b472a..0c46ad1 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
-SimGrid (3.10) NOT RELEASED; urgency=low
+SimGrid (3.12) NOT RELEASED; urgency=low
+
+ (to complete)
+
+ -- $date Da SimGrid team <simgrid-devel@lists.gforge.inria.fr>
+
+SimGrid (3.11) stable; urgency=low
+
+ 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
+ * Add java surf examples:
+   - examples/java/surfPlugin/surf_plugin.tesh
+   - examples/java/reservationSurfPlugin/reservation_surf_plugin.tes
+   - examples/java/surfCpuModel/surf_cpu_model.tesh
+ * Add SMPI+MSG example:
+   - examples/smpi/smpi_msg_masterslave/
+
+ TeshSuite:
+ * Add tests:
+   - msg process test
+   - msg task destroy cancel test
+   - msg_host on/off test
+ * Move all tests in testsuite to teshsuite (adding tesh files)
+ * Restructure teshsuites
+   - one folder for each kind of test
+ * Restructure AddTests.cmake
+   - unify tests names
+   - structure the order of tests (with sections)
+
+ MSG:
+ * Add virtual machine
+   - creation of a VM on a PM
+   - migration of a VM from a PM to another PM
+ * New functions
+   - MSG_process_join(msg_process_t process, double timeout)
+   - msg_bar_t MSG_barrier_init(unsigned int count)
+   - int MSG_barrier_wait(msg_bar_t barrier)
+   - void MSG_barrier_destroy(msg_bar_t barrier)
+   - msg_as_t MSG_environment_as_get_by_name(const char * name)
+ * New option "msg/debug_multiple_use" to help debugging when a task is used
+   several times
+ * MSG IO
+   - Improvements and finalization of MSG_storage, MSG_file APIs and their
+     documentation
+   - Increase code coverage in test suites
+   - Bug fixes
+
+ 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
+ * New simcalls
+   - simcall_process_join(smx_process_t process, double timeout)
+ * Fix bug where sleeping processing could not be suspended.
+
+ 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 models for clusters. For documentation, see
+   http://simgrid.gforge.inria.fr/simgrid/latest/doc/platform.html#pf_cluster
+   - tori, with topology="TORUS" and topo_parameters="ndim1,ndim2,...,ndimn"
+     parameters for cluster tag
+   - Fat trees, with topology="FAT_TREE" and
+     topo_parameters="h;m1,...,mh;w1,...,wh;p1,...,ph" parameters for cluster tag
+   - see examples/platforms/torus_cluster.xml and
+     examples/platforms/fat_tree_cluster.xml
+ * 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.
+ * SMPI now partially supports MPI_Topologies : MPI_Cart_create, MPI_Cart_shift,
+   MPI_Cart_rank, MPI_Cart_get, MPI_Cart_coords, MPI_Cartdim_get,
+   MPI_Dims_create, MPI_Cart_sub are supported.
+ * New interface to use SMPI programmatically (still depends on MSG for
+   some parts, see examples/smpi/smpi_msg_masterslave) :
+   - SMPI_app_instance_register(const char *name, xbt_main_func_t code,
+        int num_processes)
+   - SMPI_init()
+   - SMPI_finalize();
+ * Global variables privatization in MPI executables is now performed at runtime
+   with the option smpi/privatize_global_variables (default:no).
+   Limitations : Linux/BSD only, with mmap enabled. Global variables inside
+   dynamic libraries loaded by the application are not privatized (static
+   linking with these libraries is advised in this case)
+
+ Tracing:
+ * Options defined in XML work correctly now.
+
+ 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.
+ * Surf binding with SWIG (code generated in maintainer mode only):
+   - plugin to handle callbacks
+   - CPU model only for the moment
+
+ 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++
+ * Add new macro for tests
+   - ADD_TESH(name <tesh_args>)
+   - ADD_TESH_FACTORIES(name "thread;ucontext;raw" <tesh_args>)
 
  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.
+ * New functions
+   - xbt_bar_t XBT_barrier_init(unsigned int count)
+   - int XBT_barrier_wait(xbt_bar_t barrier)
+   - void XBT_barrier_destroy(xbt_bar_t barrier)
+ * Make the xbt_os_time module public
+
+ -- Sat May 31 22:39:38 CEST 2014 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
- * 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:
@@ -23,6 +157,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()
+ * Preliminary DVFS support (see examples/msg/energy/ for details)
 
  SMPI:
  * SMPI is now included directly in the libsimgrid as the windows
@@ -35,7 +170,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.
- * 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
@@ -44,11 +185,23 @@ 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.
- * 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)
+ * 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
@@ -65,7 +218,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.
 
--- $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
 
@@ -141,7 +315,7 @@ SimGrid (3.9) stable; urgency=low
  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
 
@@ -188,7 +362,7 @@ SimGrid (3.8) stable; urgency=low
  * 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
@@ -441,7 +615,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.
 
 -- 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