Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Fix distcheck (populate tesh_files, even when !HAVE_MC).
[simgrid.git] / ChangeLog
index 74e0477..7ee375d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,14 +1,73 @@
 SimGrid (3.31.1) NOT RELEASED YET (v3.32 expected June 21. 2022, 09:13 UTC)
 
 SimGrid (3.31.1) NOT RELEASED YET (v3.32 expected June 21. 2022, 09:13 UTC)
 
+S4U:
+  - Added the xbt_enforce macro. This has the same syntax as xbt_assert. The only difference is that an AssertionError
+    exception is thrown if the condition is not satisfied, instead of calling abort().
+
+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 tow hosts with the
+    same name will now throw this exception instead of killing the interpreter.
+
+Platform description & visualization:
+  - More robust sanity checks for platforms, to reject unallowed topologies with
+    a proper error message.
+  - One new C++ platform example, supernode.cpp. A Python script (supernode.py)
+    demonstrates how we can generate a nice graphical representation of the
+       platform.
+
+General: 
+  - Modified the host_by_name functions:
+    - Now, they return only hosts, not VMs, and in a much more efficient way.
+       - If one wants to find a VM by name, he now needs to know the host on
+       which it runs and call vm_by_name (or manually iterate over the list of hosts)
+
+Tools:
+  - Enhancements to the graphicator tool:
+       - Allow to dump the platform topology as a CSV file representing the edges
+         of the graph (in addition to the DOT format).
+       - Fix graphicator for "cluster" topologies (e.g. fat-tree, dragonfly).
+
+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!109: Trigger new engine solve upon host events such as host on/off
+ - 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
+
 ----------------------------------------------------------------------------
 
 ----------------------------------------------------------------------------
 
+S4U:
+ - kill signal Comm::on_completion that was not working anyway.
+ - Expose signals Activity::on_suspend and Activity::on_resume
+
 SimGrid (3.31) March 22. 2022.
 
 The ненасильство release. We stand against war.
 
 Against the agression by a sick system that forces peoples to take arms against each other.
 
 SimGrid (3.31) March 22. 2022.
 
 The ненасильство release. We stand against war.
 
 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
@@ -188,7 +247,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