Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Changelog update for 3.23
[simgrid.git] / ChangeLog
index 9ecffb0..9908454 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
-SimGrid (3.22) NOT RELEASED (Release Target: December 21. 2018, 22:23 UTC)
+----------------------------------------------------------------------------
 
 
-Java:
- - Expose host load plugin: loadInit, getCurrentLoad, getComputedFlops, getAvgLoad
+SimGrid (3.23) NOT RELEASED (Release Target: June 21. 2019, 15:54 UTC)
+
+General:
+ - Stop setting random seed with srand48() at initialization.
+ - Use addr2line as a fallback for stacktraces when backtrace is not available.
+ - Build option -Denable_documentation is now OFF by default.
+ - Network model 'NS3' was renamed into 'ns-3'.
+ - Haiku OS support
+
+XBT:
+ - New log appenders: stdout and stderr. Use stdout for xbt_help.
+ - Drop xbt_dict_dump.
+
+SMPI:
+ - SMPI now reports support of MPI3.1. This does not mean SMPI supports all MPI 3 calls, but it was already the case with 2.2
+ - MPI/IO is now supported over the Storage API (no files are written or read, storage is simulated). Supported calls are all synchronous ones.
+ - MPI interface is now const correct for input parameters
+ - MPI_Ireduce, MPI_Iallreduce, MPI_Iscan, MPI_Iexscan, MPI_Ireduce_scatter, MPI_Ireduce_scatter_block support
+ - Fortran bindings for async collectives.
+ - MPI_Comm_get_name, MPI_Comm_set_name, MPI_Count support.
+
+Model-checker:
+ - Remove option 'model-check/record': Paths are recorded in any cases now.
+ - Remove option 'model-check/sparse-checkpoint': Checkpoints are now
+   always sparse. That's an immense gain in memory, and can even be
+   faster because of cache effects. So there is no need to clutter the
+   code to allow the user to go for the unefficient mode.
+
+Network models:
+ - Remove the lagrange-based models (Reno/Reno2/Vegas). The regular
+   models proved to be more accurate than these old experiments.
+
+Python:
+ - Simgrid can now hopefully be installed with pip.
+
+Fixed bugs (FG=FramaGit; GH=GitHub):
+ - FG#1: Broken link in error messages
+ - FG#2: missing installation documentation
+ - FG#3: missing documentation in smpirun
+ - FG#6: Python bindings not available on PyPI
+ - FG#7: simple cmake call requires doxygen
+ - FG#8: make python bindings an optional dependency
+ - FG#10: Can not use MSG_process_set_data from SMPI any more
+ - FG#11: Auto-restart actors forget their on_exit behavior
+ - FG#12: -Denable_lto=OFF doesn't disable LTO
+ - FG#13: Installs unstripped file 'bin/graphicator'
+ - FG#14: Installs the empty directory 'doc/simgrid/html'
+ - FG#15: Setting -Denable_python=OFF doesn't disable the search for pybind11
+ - FG#17: Dead link in doc (pls_ns3)
+ - FG#20: 'tesh --help' should return 0
+ - FG#21: Documentation link on http://simgrid.org/ broken
+ - FG#22: Debian installation instruction are broken
+ - GH#133: Java: a process can run on a VM even if its host is off
+ - GH#320: Stacktrace: Avoid the backtrace variant of Boost.Stacktrace?
+ - GH#326: Valgrind-detected error for join() when energy plugin is activated
+
+----------------------------------------------------------------------------
 
 
-Core:
- - Replace our own code to display a backtrace (that was forking addr2line)
+SimGrid (3.22) April 1. 2019
+
+The Easter Christmas Release (this one is somewhat late).
+
+Python:
+ - We are excited to introduce the SimGrid/S4U interface to your neighborhood
+ - Not complete yet: asynchronous activities (amongst others) are still missing
+ - Still ongoing: the interface may change in the future. We need more
+   testers! Please report any glitches.
+ - No new project using Java should start now. Please switch to Python.
+
+General:
+ - Some of the internal cleanups may lead to speed improvements:
+   - The hard limitation on the amount of simulated actors with
+     Java+Mac was removed. Now, the  available memory is the only limit.
+   - Our refcounting was tidyied, leading to 10% speedups in some cases.
+ - We are still working on making our code robust to the actor kills
+   and hosts' churn. Things are improving, but it's not perfect yet.
+ - Replaced our own code to display a backtrace (that was forking addr2line)
    with the Boost.Stacktrace library.
    You won't see your backtraces without this optional dependency.
    with the Boost.Stacktrace library.
    You won't see your backtraces without this optional dependency.
+ - Bump cmake dependency to 3.5 (provided by Ubuntu 16.04).
+ - Stop setting random seed with srand() at initialization.
+
+XML
+ - In <host> and <peer>, 'availability_file' is now 'speed_file'.
+   XML file version remains 4.2 since old files are still compatible.
+
+Java:
+ - Process termination which was broken at version 3.21 has been repaired.
+ - Expose host load plugin: loadInit, getCurrentLoad, getComputedFlops, getAvgLoad
+ - Hide the examples into examples/deprecated. New users should use Python.
 
 MSG:
  - Drop MSG_process_create_from_stdfunc() from the API.
    This C++ function was a pimple in the C API, made necessary at some
    point by the Java bindings. This is fixed now.
 
 MSG:
  - Drop MSG_process_create_from_stdfunc() from the API.
    This C++ function was a pimple in the C API, made necessary at some
    point by the Java bindings. This is fixed now.
+ - Hide the examples into examples/deprecated. New users should use S4U.
+ - MSG_process_create and MSG_process_attach now crash if the host used
+   to run this process is off.
+ - Fix the protype of MSG_process_on_exit()
+   Now use (int,void*) callbacks instead of (void*,void*) ones.
+   The implementation was ways too messy to actually work, I guess.
+
+SMPI:
+ - Change the way SMPI_SAMPLE_* macros work to avoid invalidating cache
+   too often and provide more accurate timings.
+ - Add -gdb, -lldb, and -vgdb shortcuts to help debug MPI codes with smpirun
+ - MPI_Alltoallw support
+ - Partial MPI nonblocking collectives implementation: MPI_Ibcast, MPI_Ibarrier,
+   MPI_Iallgather, MPI_Iallgatherv, MPI_Ialltoall, MPI_Ialltoallv, MPI_Igather,
+   MPI_Igatherv, MPI_Iscatter, MPI_Iscatterv, MPI_Ialltoallw.
+ - MPI_Request_get_status, MPI_Status_set_cancelled, MPI_Status_set_elements
+   support
+ - Basic implementation of generalized requests (SMPI doesn't
+   allow MPI_THREAD_MULTIPLE) : MPI_Grequest_complete, MPI_Grequest_start
+
+XBT:
+ - Drop sg_cmdline. Please use xbt_cmdline instead.
+ - Drop the C xbt_os_mutex_t; Use the C++11 std::mutex.
+ - Drop the C xbt_os_sem_t; Use the C++ xbt::OsSemaphore.
+   OsSemaphore is implemented in a portable way with C++11 threads.
+   This should allow much more threads to be created at the same time,
+   allowing Mac and Java users to simulate many more actors.
+ - Implement the 'thread' factory with std::thread instead of xbt ones.
+   It is not possible to set the stack size with threads anymore, but
+   -fsplit-stack is the way to go nowadays when using threads.
+ - Drop the xbt_os_thread_t module (now unused)
+ - Drop xbt_ex_display(), use simgrid::xbt::log_exception() instead.
+ - Drop xbt_str_join_array().
+ - Drop cunit, use Catch2 instead.
+
+Kernel:
+ - Many cleanups in the kernel::activity namespace. This was long
+   overdue, and shall open the path to many future endeavors.
 
 Fixed bugs:
 
 Fixed bugs:
+ - #132: Java: a process can not shut down its own host
+ - #220: S4U: detached send causes exception if sender terminates soon after sending
  - #261: Document the parameters of parallel execution's constructor
  - #261: Document the parameters of parallel execution's constructor
+ - #300: [s4u] BarrierPtr is missing
  - #314: SMPI args internal cleanup
  - #316: Fix a bug related to the CPU utilization of multi-core VM
  - #314: SMPI args internal cleanup
  - #316: Fix a bug related to the CPU utilization of multi-core VM
+ - #318: Invalid trace file when using option --cfg=tracing/smpi/display-sizes:yes
+ - #324: S4U: Attempting to create an actor on turned off host segfaults instead of throwing
+ - #325: Turning off a host has different behavior on sleeping actors and computing actors
+
 ----------------------------------------------------------------------------
 
 SimGrid (3.21) October 3. 2018
 ----------------------------------------------------------------------------
 
 SimGrid (3.21) October 3. 2018
@@ -36,7 +163,7 @@ Documentation:
  - The Developper manual is still to be converted (not compiled until then)
  - Some parts are still missing in this conversion (such as the
    platform and deployment sections) while others were blindly converted
  - The Developper manual is still to be converted (not compiled until then)
  - Some parts are still missing in this conversion (such as the
    platform and deployment sections) while others were blindly converted
-   and would need more love (such as the configuration flags). 
+   and would need more love (such as the configuration flags).
    Things will certainly further improve in the future releases.
 
 S4U new features:
    Things will certainly further improve in the future releases.
 
 S4U new features:
@@ -50,7 +177,7 @@ S4U new features:
      - io_init(sg_size_t, s4u::Io::OpType) to create a READ or WRITE asynchronous
        IO operations that can be started, waited for, or canceled as a regular
        activity.
      - io_init(sg_size_t, s4u::Io::OpType) to create a READ or WRITE asynchronous
        IO operations that can be started, waited for, or canceled as a regular
        activity.
-     - read_async(sg_size_t) and write_async(sg_size_t) which are wrappers on 
+     - read_async(sg_size_t) and write_async(sg_size_t) which are wrappers on
        io_init() + start()
 
 Tracing:
        io_init() + start()
 
 Tracing:
@@ -78,7 +205,7 @@ Java:
    We hope to fix it in a future release, and we are sorry for the inconvenience.
 
 Fixed bugs:
    We hope to fix it in a future release, and we are sorry for the inconvenience.
 
 Fixed bugs:
- - #22: Process autorestart seem to only work with CAS01 cpus 
+ - #22: Process autorestart seem to only work with CAS01 cpus
  - #56: Feature request: dynamic SMPI replay
  - #93: simgrid should not eat --help
  - #111: How to change the loopback link characteristics?
  - #56: Feature request: dynamic SMPI replay
  - #93: simgrid should not eat --help
  - #111: How to change the loopback link characteristics?
@@ -685,7 +812,7 @@ SimGrid (3.14) Released December 24. 2016
  * VM I/O related things:
    - Ignored parameter of vm_create: core_nb, disk_path and disk_size.
    - Unimplemented save/restore methods
  * VM I/O related things:
    - Ignored parameter of vm_create: core_nb, disk_path and disk_size.
    - Unimplemented save/restore methods
- * MSG_as_router_get_property_value() was redundent with
+ * MSG_as_router_get_property_value() was redundant with
    MSG_environment_as_get_property_value().
    - Removed MSG_as_router_*propert*() functions
    - Added MSG_environment_as_set_property_value() for consistency
    MSG_environment_as_get_property_value().
    - Removed MSG_as_router_*propert*() functions
    - Added MSG_environment_as_set_property_value() for consistency
@@ -779,7 +906,7 @@ SimGrid (3.13) stable; urgency=low
      flops that a <host>, <peer>, <cluster> or <cabinet> can deliver per second.
    - In <trace_connect>, attribute kind="POWER" is now kind="SPEED".
    - In <host> and <link>, attributes availability and state are gone.
      flops that a <host>, <peer>, <cluster> or <cabinet> can deliver per second.
    - In <trace_connect>, attribute kind="POWER" is now kind="SPEED".
    - In <host> and <link>, attributes availability and state are gone.
-     It was redundent with state and availability traces, and with peak values.
+     It was redundant with state and availability traces, and with peak values.
    - In <cluster>, attributes availability_file and state_file are gone.
      It was too complex and unused.
    - Kill <gpu>. Was not doing anything.
    - In <cluster>, attributes availability_file and state_file are gone.
      It was too complex and unused.
    - Kill <gpu>. Was not doing anything.
@@ -2960,7 +3087,7 @@ SimGrid (3.0.1) stable; urgency=low
     the pthread backend. It caused some weird deadlock or behavior
     depending on the pthread implementation. [AL]
   * Bugfix: get the exceptions raised in the simulator repport where
     the pthread backend. It caused some weird deadlock or behavior
     depending on the pthread implementation. [AL]
   * Bugfix: get the exceptions raised in the simulator repport where
-    and why they come from when they are not catched in time [AL, MQ]
+    and why they come from when they are not caught in time [AL, MQ]
 
   SURF:
   * Bugfix: Do repport the error when two non-connected hosts try to
 
   SURF:
   * Bugfix: Do repport the error when two non-connected hosts try to
@@ -3052,7 +3179,7 @@ SimGrid (2.96) unstable; urgency=low
   * New! Exception handling with setjmp or such (code from OSSP ex) [MQ]
     This deprecates the xbt_error_t mechanisms.
     It modifies (simplifies) all XBT and GRAS API.
   * New! Exception handling with setjmp or such (code from OSSP ex) [MQ]
     This deprecates the xbt_error_t mechanisms.
     It modifies (simplifies) all XBT and GRAS API.
-    MSG API keeps unchanged (exceptions raised by XBT are catched from
+    MSG API keeps unchanged (exceptions raised by XBT are caught from
      within MSG and masked with existing error handling facilities)
 
   SURF:
      within MSG and masked with existing error handling facilities)
 
   SURF: