Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Preserve on_exit funcions between restarts.
[simgrid.git] / ChangeLog
index 9ecffb0..c269e5e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
-SimGrid (3.22) NOT RELEASED (Release Target: December 21. 2018, 22:23 UTC)
+SimGrid (3.23) NOT RELEASED (Release Target: June 21. 2019, 15:54 UTC)
 
 
-Java:
- - Expose host load plugin: loadInit, getCurrentLoad, getComputedFlops, getAvgLoad
+General:
+ - Stop setting random seed with srand48() at initialization.
+
+XBT:
+ - New log appenders: stdout and stderr. Use stdout for xbt_help.
+ - Drop xbt_dict_dump.
 
 
-Core:
- - Replace our own code to display a backtrace (that was forking addr2line)
+Fixed bugs (GH=GitHub; FG=FramaGit):
+ - FG#10: Can not use MSG_process_set_data from SMPI any more
+ - FG#11: Auto-restart actors forget their on_exit behavior
+ - GH#133: Java : a process can run on a VM even if its host is off
+ - GH#326: Valgrind-detected error for join() when energy plugin is activated
+
+----------------------------------------------------------------------------
+
+SimGrid (3.22) April 1. 2019
+
+The Easter Chrismas 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_Ireduce,
+   MPI_Iallreduce, MPI_Iscan, MPI_Iexscan, MPI_Ireduce_scatter,
+   MPI_Ireduce_scatter_block, with fortran bindings.
+ - MPI_Request_get_status, MPI_Status_set_cancelled, MPI_Status_set_elements
+   support, MPI_Comm_get_name, MPI_Comm_set_name
+ - 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 +122,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 +136,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 +164,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 +771,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 +865,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.