Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'master' into 'master'
[simgrid.git] / ChangeLog
index 64b9124..e39ed89 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -7,6 +7,23 @@ User-visible changes:
    - 'verbose-exit' is now 'debug/verbose-exit'
    - 'simix/breakpoint' is now 'debug/breakpoint'
    - 'clean-atexit' is now 'debug/clean-atexit'
+ - 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.
+ - Model iteration order may change simulations.
+    *****************************************
+    *DO NOT MIX 3.27 RESULTS WITH OLDER ONES*
+    *****************************************
+    The order in which the different models (CPU, network, disk, etc) are
+    solved internally has changed in this version. Although rare (no current
+    test raises the problem), this change can result in slightest different simulations
+    results. Take care when comparing simulations from different SimGrid's
+    versions. Sorry for the inconvenience.
+ - SMPI API break 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.
 
 S4U:
  - Define new template functions Mailbox::get_unique(), returning a std::unique_ptr.
@@ -15,9 +32,68 @@ S4U:
    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 function: Comm::set_payload_size() to set the amount of bytes to simulate.
  - New functions: Comm::sendto_{init,async} to initiate a communication
    on between two (possibly remote) hosts.
 
+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().
+
+SMPI:
+ - Handle leak checking (experimental): SMPI will now display a message if MPI
+   handles are still present at the end of a simulation. This may be nothing,
+   but if the number is high it could be a problem. To display more information
+   about the type of leaked handle, option --cfg=smpi/list-leaks:n. will display
+   the n first leaked pointers and their types. Known issue: MPI_Cancel usage
+   may trigger handle leaks in SMPI.
+   Using smpirun with -wrapper "valgrind --leak-check=full --track-origins=yes"
+   can provide more information to help locate precisely the leaks.
+ - Memory allocations analysis (experimental): MPI codes using malloc/calloc to
+   allocate memory, and not compiled with SMPI_NO_OVERRIDE_MALLOC, can use
+   smpi/display-analysis option to show at the end of execution the amount of
+   memory allocated through these calls, and locate the most expensive one.
+   This helps finding the targets for manual memory sharing, or the threshold
+   to use for smpi/auto-shared-malloc-thresh option.
+ - 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)
+ - Misc fixes:
+   - better handling of MPI_PROC_NULL
+   - MPI_Group_incl was broken in some cases
+   - PAPI tracing was 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
+     - ECP/Mantevo Cloverleaf3D
+
+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_().
+
+Documentation:
+ - New section: Configuring the logs from the command line.
+ - New section: Programming API of logs.
+
+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
+
 ----------------------------------------------------------------------------
 
 SimGrid (3.26) December 15. 2020
@@ -184,7 +260,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.
-   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.