Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Remove global variables in PageStore_test too (mimic Snapshot_test).
[simgrid.git] / ChangeLog
index 8776e69..240379d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,13 +1,15 @@
 SimGrid (3.32.1) not released yet (target december 22)
 
 General:
+ - SimGrid now requires a compiler with C++17 support for public headers too.
+   Sibling projects should upgrade their FindSimGrid.cmake
  - Remove the MSG API: its EOL was scheduled for 2020.
  - Remove the Java bindings: they were limited to the MSG interface.
  - On Windows, you now need to install WSL2 as the native builds are now disabled.
    It was not really working anyway.
  - Support for 32bits architecture is not tested anymore on our CI infrastructure.
    It may break in the future, but we think that nobody's using SimGrid on 32 bits.
- - Remove the surf module. It was replaced by the kernel/models module, and that 
+ - Remove the surf module. It was replaced by the kernel/models module, and that
    refactoring took almost 10 years to properly complete.
 
 S4U:
@@ -15,14 +17,30 @@ S4U:
    Comm::set_payload_size() to change the size of the simulated data.
  - New function: Engine::flatify_platform(), to get a fully detailed vision of the
    configured platform.
+ - Full simDAG integration: Activity::start() actually starts only when all dependencies
+   are fullfiled. If it cannot be started right away, it will start as soon as it becomes
+   possible.
+ - Allow to set a concurrency limit on disks and hosts, as it was already the case for links.
+ - Rename Link::get_usage() to Link::get_load() for consistency with Host::
+
+New plugin: Operation
+ - Operations are designed to represent workflows, i.e, graphs of repeatable Activities.
+ - Documentation: https://simgrid.frama.io/simgrid/Plugins.html#operation
+ - Examples: examples/cpp/operation-*
+
+New plugin: Battery
+ - Enable the management of batteries on hosts.
+ - Documentation: https://simgrid.frama.io/simgrid/Plugins.html#battery
+ - Examples: examples/cpp/battery-*
 
 Kernel:
- - optimize an internal datastructure, leading to a potentially big
-   performance gain (in particular with many detached comms)
+ - optimize an internal datastructure (use a set instead of a list for ongoing activities),
+   leading to a potentially big performance gain, in particular with many detached comms.
 
 MPI:
  - New option smpi/barrier-collectives to add a barrier to some collectives
    to detect dangerous code that /may/ work on some MPI implems.
+ - New function SMPI_app_instance_start() to easily start a MPI instance in your S4U simulation.
 
 Models:
  - Write the section of the manual about models, at least.
@@ -40,10 +58,22 @@ Models:
    with the default host model, as it should.
  - Rename option "surf/precision" to "precision/timing" for clarity.
  - Rename option "maxmin/precision" to "precision/work-amount" for clarity.
+ - New function: Engine::flatify_platform() to debug your platform.
 
 sthread:
  - Implement pthread_join in MC mode.
  - Implement semaphore functions in sthread.
+ - Add an intricated way to verify the access to non-reentrant data structures
+   It requires code annotation, as shown in examples/sthread/stdobject/stdobject.cpp
+
+Model checking:
+ - Synchronize the MBI tests with upstream.
+ - Show the full actor bactraces when replaying a MC trace (with model-check/replay)
+   and the status of all actors on deadlocks in MC mode.
+ - The safety/stateless aspects of the MC are now enabled by default in all simgrid builds.
+   Liveness and stateful aspects are still controled by the enabling_model-checking
+   configuration option.
+ - Stateless model-checking is now usable on any system, including Mac OSX and ARM processors.
 
 XBT:
  - simgrid::xbt::cmdline and simgrid::xbt::binary_name are gone.
@@ -642,7 +672,7 @@ The Release release (the French lockdown was eased today).
 
 Important user-visible changes:
  - SimGrid now requires a compiler with C++14 support.
-   Sibling projects should upgrade their FindSimgrid.cmake
+   Sibling projects should upgrade their FindSimGrid.cmake
  - Surf precision default value is now 1e-9, instead of 1e-5. This was changed as
    several users had difficulties to understand issues when using high bandwidth or
    small latency events. The new value was already the default for SMPI and