Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Do not expose Activity::set_remaining publicly.
[simgrid.git] / ChangeLog
index 1c5f22d..bebb7f5 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
-SimGrid (3.31.1) NOT RELEASED YET (v3.32 expected June 21. 2022, 09:13 UTC)
+SimGrid (3.32.1) not released yet (target december 22)
+
+S4U:
+ - Activity::set_remaining() is not public anymore. Use for example
+   Comm::set_payload_size() to change the size of the simulated data.
 
 ----------------------------------------------------------------------------
 
 
 ----------------------------------------------------------------------------
 
+SimGrid (3.32) October 3. 2022.
+
+The Wiedervereinigung release. Germany was reunited 32 years ago.
+
+General:
+ - SimGrid now requires a compiler with C++17 support to compile the lib.
+   Our public headers still allow the user code to be compiled in C++14.
+ - Support graphviz v3 and ns-3 v3.36 (older versions are still supported).
+ - Tested with clang (v11, v13, v14 and v16), gcc (v7 to v13) and IntelCC v2022.2
+
 S4U:
 S4U:
- - kill signal Comm::on_completion that was not working anyway.
- - Expose signals Activity::on_suspend and Activity::on_resume
+ - API evolutions:
+   - kill signal Comm::on_completion that was not working anyway.
+   - Expose signals Activity::on_suspend and Activity::on_resume
+   - New macro xbt_enforce(): similar to xbt_assert(), but throws an AssertionError
+     instead of calling abort().
+   - New: s4u::Exec::get_thread_count()
+ - Various cleanups around virtual machines:
+   - host_by_name() and friends now only return hosts. VMs are now excluded.
+   - It is now impossible to search a VM by name globally.
+     You can only search VM by name on a given PM, so either you know
+     the PM on which your VM runs and you can search by name, or you need
+     to manually iterate over all PMs to search this VM.
+   - The s4u::VirtualMachine constructor is now deprecated.
+     Please use s4u::Host::create_vm() instead.
+   - Rename s4u::VirtualMachine::on_creation() to on_vm_creation() to
+     avoid confusion with s4u:Host::on_creation() that is inherited.
+     Also s4u::VirtualMachine::on_destruction -> on_vm_destruction().
+ - Bug fixes:
+   - One-sided communications (Comm::sendto) can now be detached,
+     and should now be more resilient to network and host faults.
+
+Python:
+ - Added the following bindings / examples:
+   - Comm (now 100% covers the C++ interface):
+     - Comm.dst_data_size, Comm.mailbox, Comm.sender, Comm.start_time, Comm.finish_time
+     - Comm.state_str [examples: examples/python/comm-failure/, examples/python/comm-host2host/]
+     - Comm.remaining [examples: examples/python/comm-host2host/, examples/python/comm-suspend/]
+     - Comm.set_payload_size [example: examples/python/comm-host2host/]
+     - Comm.set_rate [example: examples/python/comm-throttling/]
+     - Comm.sendto, Comm.sendto_init, Comm.sendto_async [example: examples/python/comm-host2host/]
+     - Comm.start, Comm.suspend, Comm.resume [example: examples/python/comm-host2host/]
+     - Comm.test_any [example: examples/python/comm-testany/]
+     - Comm.wait_until [example: examples/python/comm-waituntil/]
+   - Engine:
+     - Engine.host_by_name [example: examples/python/comm-host2host/]
+     - Engine.mailbox_by_name_or_create [example: examples/python/comm-pingpong/]
+     - Engine.set_config
+   - Mailbox: Mailbox.ready [example: examples/python/comm-ready/]
+   - Ptask [example: examples/python/exec-ptask/]:
+     - this_actor.exec_init
+     - this_actor.parallel_execute
+     - Exec.suspend
+     - Exec.wait_for
+ - Added an AssertionError exception that may be thrown in case of error.
+   For instance, creating two hosts with the same name will now throw this exception
+   instead of killing the interpreter.
+
+SMPI:
+ - Implement MPI_File_get_type_extent(), MPI_File_s/get_atomicity() and
+   MPI_File_get_byte_offset()
+ - Intercept getpid() calls to return the simulated ones.
+ - Fix various bugs in MPI IO.
+
+Platform description & visualization:
+ - More robust sanity checks for platforms, to reject forbidden topologies with
+   a proper error message.
+ - New platform example: supernode.cpp and supernode.py.
+   The Python version generates a nice graphical representation of the platform.
+ - Bug fixes around fat-tree topologies.
+ - Allow to dump the platform topology as a CSV file representing the graph edges
+   with platform_graph_export_csv() (similar to the DOT export).
+ - Fix graphicator for "cluster" topologies (e.g. fat-tree, dragonfly).
+
+Models:
+ - Fix a bug when using ptasks with multicores (FG!111).
+
+Model-Checker:
+ - First bits of sthread, that intercepts pthread operations at runtime.
+   The intend is to use it together with simgrid-mc, but it is TBD.
+ - Sync MBI generators with upstream changes.
+ - Various cosmetics, small bug fixes and inner refactorings
+
+Fixed bugs (FG#.. -> FramaGit bugs; FG!.. -> FG merge requests)
+ (FG: issues on Framagit; GH: issues on GitHub)
+ - FG#105: "Variable penalty should not be negative!" with in-flight messages and bandwidth profiles
+ - FG#109: Application time reported by --cfg=smpi/display-timing:yes is wrong
+ - FG#110: Wait_any does not trigger new model solve when host events occur
+ - FG#111: Wrong execution time in rare cases when using multicore
+ - FG!98: Re-enable the tests for legacy stochastic profiles
+ - FG!109: Trigger new engine solve upon host events such as host on/off
+ - FG!116: SMPI/replay: Fix issue with recv of size =0
+
+----------------------------------------------------------------------------
 
 SimGrid (3.31) March 22. 2022.
 
 
 SimGrid (3.31) March 22. 2022.
 
@@ -12,7 +107,6 @@ The ненасильство release. We stand against war.
 
 Against the agression by a sick system that forces peoples to take arms against each other.
 
 
 Against the agression by a sick system that forces peoples to take arms against each other.
 
-
 MC:
  - Rework the internals, for simpler and modern code. This shall unlock many future improvements.
  - You can now define plugins onto the DFS explorer (previously called SafetyChecker), using the
 MC:
  - Rework the internals, for simpler and modern code. This shall unlock many future improvements.
  - You can now define plugins onto the DFS explorer (previously called SafetyChecker), using the
@@ -107,7 +201,6 @@ Fixed bugs (FG#.. -> FramaGit bugs; FG!.. -> FG merge requests)
  - FG#101: LGPL 2.1 is deprecated license
  - FG#104: "make uninstall" not up-to-date
  - GH#151: Missing mutexes for DPOR.
  - FG#101: LGPL 2.1 is deprecated license
  - FG#104: "make uninstall" not up-to-date
  - GH#151: Missing mutexes for DPOR.
- - FG#105: "Variable penalty should not be negative!" with in-flight messages and bandwidth profiles
 
 ----------------------------------------------------------------------------
 
 
 ----------------------------------------------------------------------------
 
@@ -193,7 +286,6 @@ The "Ask a stupid question" release.
 We wish that every user ask one question about SimGrid to celebrate.
 On Mattermost, Stack Overflow or using the issues tracker.
 
 We wish that every user ask one question about SimGrid to celebrate.
 On Mattermost, Stack Overflow or using the issues tracker.
 
-
 New modeling features:
  - Non-linear resource sharing, modeling resources whose performance heavily degrades with contention:
    - The total capacity may be updated dynamically through a callback
 New modeling features:
  - Non-linear resource sharing, modeling resources whose performance heavily degrades with contention:
    - The total capacity may be updated dynamically through a callback