Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
make test pass. The finalization barrier is needed in this case, which is suboptimal.
[simgrid.git] / ChangeLog
index 7f5238b..13e0736 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,24 +1,71 @@
 ----------------------------------------------------------------------------
 
-SimGrid (3.27.1) NOT RELEASED YET (v3.28 expected June 21. 2021, 03:32 UTC)
+SimGrid (3.28.1) NOT RELEASED YET (v3.29 expected September 22. 2021, 19:21 UTC)
+
+New modeling features:
+ - Non-linear resource sharing for decay models:
+   - The total capacity may depend on the number of concurrent usages
+   - For that, resources can take a callback that computes the capacity 
+     depending on the idle capacity and the number of concurrent usages
+   - Examples (both cpp and python): io-degradation, network-nonlinear, exec-cpu-nonlinear
+
+ - Dynamic factors for CPU and disk: similarly to dynamic network factors,
+   allows the user to set a callback which can affect the progress of activities
+   (multiplicative factor applied when updating the amount of work remaining).
+   - Example: examples/cpp/exec-cpu-factors
+
+Python:
+ - Added support to programmatic platform creation in Python.
+   Example: examples/python/clusters-multicpu
+
+S4U:
+ - Disk and Host now have a set_sharing_policy() too, for non-linear sharing.
+   This can only be set through the API, not through XML files.
+
+SMPI:
+ - TI Tracing/Replay:
+   - Multiple fixes to ensure reproducibility of tracing
+   - scan/excan can now be replayed
+   - wait action now uses ranks and not pid, as the other ones.
+   - smpi/init and smpi/finalization-barrier are now valid for replays.
+
+Documentation:
+  * New section "Release Notes" documenting recent and current developments.
+  * New section "Modeling I/O: the realistic way" presenting how to properly model disks in SimGrid.
+  * Improvements in API Reference for C++ and Python interfaces.
+
+ns-3 model:
+ - Make wifi creation compatible with ns-3 version 3.34 too.
+
+Fixed bugs (FG#.. -> FramaGit bugs; FG!.. -> FG merge requests)
+ (FG: issues on Framagit; GF: issues on GForge; GH: issues on GitHub)
+ - FG#78: Multiple fixes for SMPI replay:
+    - TI tracing of allotallv/w was outputting wrong values
+    - MPI_LOGICAL in fortran is actually 32 bits wide, and not 8.
+ - FG#77: Search feature of doc is broken (update sphinx theme version)
+----------------------------------------------------------------------------
+
+SimGrid (3.28) July 14. 2021
+
+The Victoriadagarna Release.
 
 New features:
+ - C++ platform interface: Users can now describe their platform directly in C++.
+   This provides greatly flexibility and performance improvement for complex
+   platforms. Main features:
+     - Fat-Tree/DragonFly/Torus composing: allows you to create clusters of
+       "zones", instead of single hosts. This feature enables the description
+       of clusters with complex hosts, composed of several CPUs, GPUs, etc.
+     - StarZone: new zone with a Star-like topology. The routes are defined
+       as a set of links used to communicate from node to everybody (node<->ALL).
+     - Split-Duplex links: auxiliary method to create split-duplex links in
+       the platform, easing its utilisation. It automatically creates both UP
+       and DOWN links (similarly as done in XML).
+     - Please refer to the documentation and the examples included:
+       e.g. examples/cpp/clusters-multicpu/ and examples/platforms/*.cpp.
  - New plugin: Producer-Consumer with monitor. Just requires to include the
    include/simgrid/plugins/ProducerConsumer.hpp header to be used. See the
    associated example (examples/cpp/plugin-prodcons).
- - C++ platform interface: Users can now describe their platform directly in
-   C++ code. This provides greatly flexibility and performance improvement
-   for complex platforms. Main features:
-     - Fat-Tree/DragonFly/Torus composing: allows you to create clusters of
-        "zones", instead of single hosts. This feature enables the description
-        of clusters with complex hosts, composed of several CPUs, GPUs, etc.
-        - StarZone: new zone with a Star-like topology. The routes are defined
-        as a set of links used to communicate from node to everybody (node<->ALL).
-        - Split-Duplex links: auxiliary method to create split-duplex links in
-        the platform, easing its utilisation. It automatically creates both UP
-        and DOWN links (similarly as done in XML).
-        - Please refer to the documentation and the examples included:
-        e.g. examples/cpp/clusters-multicpu/ and examples/platforms/*.cpp.
 
 S4U:
  - New: s4u::Comm::wait_all_for() (like s4u::Comm::wait_all, but with a timeout),
@@ -27,6 +74,7 @@ S4U:
    parameter by reference, instead of a pointer.
  - Fixed a bug where Activity::wait_for() killed the activity on timeout.
    Explicitly cancel the activity to get back to previous behavior.
+ - New: Link::set_concurrency_limit() to limit the amount of concurrent flows.
 
 SMPI:
  - The default SMPI compiler flags are no more taken from the environment.
@@ -40,31 +88,25 @@ SMPI:
       is active when set to false, to keep going after a small error
     --cfg=smpi/pedantic: True by default. Do not report some harmless MPI errors
       which may or may not be problematic in the end.
 - Sampling:
+ - Sampling:
     - fix behaviour, as maximum iteration count could be ignored
     - add SMPI_SAMPLE_LOCAL_TAG and SMPI_SAMPLE_GLOBAL_TAG macros, to allow user to
       use sampling when the same kernel is called with a different set of parameters
       which have an impact on the timing.
-  - realloc is now intercepted, to be coherent, as malloc/calloc/free were already.
-    It should now work with smpi/auto-shared-malloc-thresh.
-  - Improve error handling and reporting in multiple places
-  - Improve correctness checks on the MPI code.(MPI_Op and MPI_Datatype
-    validity checks, truncated messages are now an error, return errors
-    when explicitely deleted handles are reused, ...)
-  - RMA: multiple fixes and stability improvements.
-  - analysis (-analyze flag in smpirun):
-     - SMPI can now report buffer leaks as well as MPI handles leaks,
-       if code was compiled without SMPI_NO_OVERRIDE_MALLOC.
-     - if -trace-call-location is used when compiling, SMPI can report
-       origin of leaked handles/buffers
-     - group leaks by type/origin in output message if possible
-  - New implemented MPI calls: MPI_Comm_test_inter
-
-LUA:
- - Lua platform files are deprecated. Their support will be dropped after v3.31.
-
-Simix:
- - Legacy functions deprecated in this release: SIMIX_get_clock(), SIMIX_run().
+ - realloc is now intercepted, to be coherent, as malloc/calloc/free were already.
+   It should now work with smpi/auto-shared-malloc-thresh.
+ - Improve error handling and reporting in multiple places
+ - Improve correctness checks on the MPI code.(MPI_Op and MPI_Datatype
+   validity checks, truncated messages are now an error, return errors
+   when explicitely deleted handles are reused, ...)
+ - RMA: multiple fixes and stability improvements.
+ - analysis (-analyze flag in smpirun):
+    - SMPI can now report buffer leaks as well as MPI handles leaks,
+      if code was compiled without SMPI_NO_OVERRIDE_MALLOC.
+    - if -trace-call-location is used when compiling, SMPI can report
+      origin of leaked handles/buffers
+    - group leaks by type/origin in output message if possible
+ - New implemented MPI calls: MPI_Comm_test_inter
 
 Models:
  - Changed internal implementation of bandwidth factors in network models.
@@ -89,6 +131,17 @@ Models:
    This change may impact on the timing of your simulation results.
    Take care when comparing simulations from different SimGrid's
    versions. Sorry for the inconvenience.
+ - Dynamic network factors: users can configure a callback to define
+   the network factors dynamically. This API is available at
+   simgrid::kernel::resource::NetworkModelIntf.
+   - Users have access to complete information about the current communication
+     to decide which factor to apply. This includes: message size, source and
+     destination hosts, links and zones traversed.
+   - Dynamic factors for both latency and bandwidth.
+   - For more details, see the example in (examples/cpp/network-factors).
+ - Plugin host_energy: the "watt_off" and "watt_per_state" host properties,
+   deprecated since version 3.24, are no longer supported. Instead, use
+   "wattage_off" and "wattage_per_state".
 
 XBT:
  - xbt_assert is not disabled anymore, even when built with enable_debug=off.
@@ -96,6 +149,15 @@ XBT:
 Documentation:
  - New tutorial: Model-checking and formal assessment
  - New sections: "Demystifying the routing" and "C++ platforms"
+ - Update and improve the part on visualization in MPI and Algo tutorials.
+ - Improve the section on routing: how to define it, how it's used internally
+ - Fix many issues, broken links and missing references in doxygen and Sphinx
+
+LUA:
+ - Lua platform files are deprecated. Their support will be dropped after v3.31.
+
+Simix:
+ - Legacy functions deprecated in this release: SIMIX_get_clock(), SIMIX_run().
 
 Fixed bugs (FG#.. -> FramaGit bugs; FG!.. -> FG merge requests)
  (FG: issues on Framagit; GF: issues on GForge; GH: issues on GitHub)