Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
modernize cabinet creation
[simgrid.git] / ChangeLog
index d55d1b5..2e8cd4f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
 ----------------------------------------------------------------------------
 
 ----------------------------------------------------------------------------
 
-SimGrid (3.26.1) NOT RELEASED YET (v3.27 expected March 20. 2021, 09:37 UTC)
+SimGrid (3.27.1) NOT RELEASED YET (v3.28 expected June 21. 2021, 03:32 UTC)
 
 
-User-visible changes:
+XBT:
+ - xbt_assert is not disabled anymore, even when built with enable_debug=off.
+
+----------------------------------------------------------------------------
+
+SimGrid (3.27) March 29. 2021
+
+The Ragnar Release (anniversary of the siege of Paris by Vikings in 845)
+
+Main user-visible changes:
+ - All functions marked as deprecated for one year were removed.
+ - Removed all that was related to the "Storage" type in all APIs and bindings.
+   "Disks" have been introduced more than a year ago to replace them for the better.
+   It's time to finish this replacement.
+ - SMPI ABI breaks from previous version: MPI global handles (predefined datatypes,
+   ops, COMM_WORLD) are now defined differently, and can be used in initializers,
+   avoiding "initializer element is not constant" errors with some codes. Please be
+   careful to recompile your MPI codes if switching to this new SimGrid version.
+ - Network model ns-3 now requires version ns-3.28 or higher.
  - Removed some option aliases that were deprecated since v3.23 (June 2019)
    - 'verbose-exit' is now 'debug/verbose-exit'
    - 'simix/breakpoint' is now 'debug/breakpoint'
    - 'clean-atexit' is now 'debug/clean-atexit'
 
 S4U:
  - Removed some option aliases that were deprecated since v3.23 (June 2019)
    - 'verbose-exit' is now 'debug/verbose-exit'
    - 'simix/breakpoint' is now 'debug/breakpoint'
    - 'clean-atexit' is now 'debug/clean-atexit'
 
 S4U:
+ - New functions: Comm::sendto_{init,async} to initiate a communication
+   on between two (possibly remote) hosts.
  - Define new template functions Mailbox::get_unique(), returning a std::unique_ptr.
  - Functions Mailbox::get() and Mailbox::get_async() are now templated with the
    type of the pointee. Untyped functions are deprecated. Use Mailbox::get<void>()
    or Mailbox::get_async<void>() if you really want to play with void*.
  - Unify the interface of Activity::on_{start/activity}
  - New function: Comm::get_dst_data()
  - Define new template functions Mailbox::get_unique(), returning a std::unique_ptr.
  - Functions Mailbox::get() and Mailbox::get_async() are now templated with the
    type of the pointee. Untyped functions are deprecated. Use Mailbox::get<void>()
    or Mailbox::get_async<void>() if you really want to play with void*.
  - Unify the interface of Activity::on_{start/activity}
  - New function: Comm::get_dst_data()
- - New functions: Comm::sendto_{init,async} to initiate a communication
-   on between two (possibly remote) hosts.
+ - New function: Comm::set_payload_size() to set the amount of bytes to simulate.
+
+Models:
+ - ptask should now work better with multicore hosts (FG#37).
+ - Internal cleanups and refactoring around activities, to prepare for SimDAG++.
+ - Internal cleanups and refactoring around models, to prepare for programmatic
+   platform creation.
+ - Modernize our tests of the performance models
 
 Documentation:
 
 Documentation:
- - Add a section on configuring the logging from the command line.
+ - User manual:
+   - New section: Configuring the logs from the command line.
+   - New section: Programming API of logs.
+   - New section: Getting realistic results
+   - New section: Examples of SMPI Usage
+ - New part: SimGrid's Internals, with a section on Design goals
+ - Move back to the classical Breathe tool chain, and fix many small glitches.
+
+SMPI:
+ - Handle leak checking: SMPI will now display a message if MPI handles are still
+   present at the end of a simulation. Option smpi/list-leaks:n will display the n
+   first leaked pointers and their types.
+ - smpi/display-allocs option : Display Memory allocations analysis, with hints
+   about the largest allocations. This only works for allocations with malloc/calloc
+   and not compiled with SMPI_NO_OVERRIDE_MALLOC
+ - "-analyze" option in smpirun will activate smpi/display-allocs and smpi/display-timing
+ - New implemented MPI calls: MPI_File_set_size, MPI_Aint_add, MPI_Aint_diff,
+   MPI_Type_get_extent_x, MPI_Type_get_true_extent_x, MPI_Status_set_elements_x
+ - Support for MPI C++ datatypes (MPI_CXX_BOOL, MPI_CXX_FLOAT_COMPLEX,
+   MPI_CXX_DOUBLE_COMPLEX, MPI_CXX_LONG_DOUBLE_COMPLEX)
+ - Replay now opens and parses the trace file only once for all ranks when possible.
+ - Misc fixes:
+   - better handling of MPI_PROC_NULL
+   - MPI_Group_incl was broken in some cases
+   - PAPI tracing now fixed
+   - MPI_Errhandlers are properly handled for MPI_COMM_WORLD
+   - SMPI will now fail properly when receive size < sent size, instead of
+     just setting MPI_ERR_TRUNCATE and keep going.
+ - Proxy Apps ( https://framagit.org/simgrid/SMPI-proxy-apps ):
+   - Remove useless build patches and split build/run patches on the page
+   - Build in parallel when possible
+   - Test on yum-based systems
+   - New nightly tested Proxy-apps:
+     - OpenMPI mpi-test-suite
+     - Coral MCB, LSMS, Qbox, CLOMP
+     - ECP/Mantevo Cloverleaf3D, Ember
+     - Codevault bhtree_mpi
+
+Model checker:
+ - Only initialize the Dwarf parser when needed, saving 10 seconds in most cases.
+ - Start to overhaul the implementation to modernize it (still ongoing).
+
+XBT:
+ - Drop simgrid::xbt::demangle(). Please use boost::core::demangle() instead.
+ - Drop xbt_dynar_cursor_rm(), xbt_dynar_search_or_negative(),
+   xbt_str_split_quoted(), xbt_str_split_quoted_in_place().
+ - Deprecate xbt_dynar_to_array().
+ - When an exception occurs in kernel mode, display both the actor and kernel stacks.
+
+C binding and interface:
+ - Rename (lowercase) functions sg_actor_get_PID, sg_actor_get_PPID, sg_actor_by_PID.
+ - Constness requirement has been lowered for parameter argv of sg_actor_start()
+   and sg_actor_create() It's now (char* const*). The previous version is still
+   available as sg_actor_start_() and sg_actor_create_().
+
+Fixed bugs (FG#.. -> FramaGit bugs; FG!.. -> FG merge requests)
+ (FG: issues on Framagit; GF: issues on GForge; GH: issues on GitHub)
+ - FG#37: Parallel tasks are limited to 1 core per host
+ - FG#62: Running "smpirun -replay" on large networks
+ - FG!46: Fix a few potential memory leaks in SMPI colls
+ - GH#343: Wrong consumed energy when an exec timeouts
 
 ----------------------------------------------------------------------------
 
 
 ----------------------------------------------------------------------------
 
@@ -187,7 +273,7 @@ SMPI:
    allocations' size above which they are considered "shared" by default (as if
    they were performed through SMPI_SHARED_MALLOC macros).
    Default = 0 = disabled feature.
    allocations' size above which they are considered "shared" by default (as if
    they were performed through SMPI_SHARED_MALLOC macros).
    Default = 0 = disabled feature.
-   Note : malloc, calloc and free are now overriden by smpicc/cxx by default.
+   Note : malloc, calloc and free are now overridden by smpicc/cxx by default.
    This can cause some troubles if codes are already overriding these. If this
    is the case, defining SMPI_NO_OVERRIDE_MALLOC in the compilation flags can
    help, but will make this feature unusable.
    This can cause some troubles if codes are already overriding these. If this
    is the case, defining SMPI_NO_OVERRIDE_MALLOC in the compilation flags can
    help, but will make this feature unusable.